Service Order: thumbnails, auto video times, and row-based drag & drop#415
Merged
Conversation
- Rows show real media thumbnails: provider links are fetched fresh each page load (Dropbox links expire) and matched by providerContentPath or label; videos render a first frame via <video preload="metadata"> - Videos at 0:00 automatically get their measured duration saved on load; images stay at 0 (operator advances them) but display an italic ~5:00 planning estimate that schedule math includes - Drag & drop reworked: drag by handle only, every row is a drop target with a blue insertion line (no more layout-shifting drop boxes), drop onto a section header to add into that section, window edge auto-scroll - ActionDialog trusts the file-name extension over URL sniffing so .mp4 previews use the video player (provider links carry no extension) - Add @stripe/* devDependencies (optional peer deps of apphelper that Vite 8 fails hard on during a fresh install) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Improvements to the Serving → Plans → Service Order screen, focused on Dropbox-based lessons (works for any provider).
What changed
Thumbnails on every row
Provider media links are fetched fresh on each page load (Dropbox links expire in ~4h, so nothing is stored) and matched to rows by
providerContentPath, falling back to label. Images render directly; videos paint a first frame via<video preload="metadata">.Durations
Drag & drop rework
Fixes
.mp4previews now use the video player: ActionDialog trusts the file-name extension since provider download links carry no extension (URL sniffing defaulted them to<img>).@stripe/stripe-js+@stripe/react-stripe-jsdevDependencies — optional peer deps of apphelper that Vite 8 fails hard on, which broke fresh installs (gray screen).Related
Testing
tsc --noEmitclean, eslint clean on touched files🤖 Generated with Claude Code