Homepage: YouTube embeds, dark mode toggle, NLE playhead fixes#10
Open
Homepage: YouTube embeds, dark mode toggle, NLE playhead fixes#10
Conversation
…head fixes - Remove Cross-Origin-Embedder-Policy header that blocked YouTube iframe embeds - Simplify dark mode toggle to a single button (light/dark) with dark as default - Fix "Maximum update depth exceeded" error during NLE playback by deriving playheadPosition from scrollPercentage instead of cascading useEffect setState - Fix playhead position drift after zoom by using calculatedTimelineWidth (synchronous useMemo) instead of async ResizeObserver state - Fix stale closure in drag handler that used initial timeline width after zoom - Compute drag position directly from mouse event instead of react-draggable internal state to prevent coordinate drift - Prevent YouTube player from resetting during playback by passing stable props to ContentRenderer - Add click-to-snap on timeline tracks so clicking anywhere in the track area snaps the playhead and allows continued drag Signed-off-by: Jeff Hodges <[email protected]>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Jeff Hodges <[email protected]>
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.
Summary
Cross-Origin-Embedder-Policy: require-corpheader that was blocking YouTube iframes from loading on the homepageChanges
next.config.ts— Remove COEP header blocking cross-origin embedssrc/app/layout.tsx— Set dark as default theme, remove system themesrc/components/layout/dark-mode.tsx— Replace dropdown with simple toggle buttonsrc/components/nle/index.tsx— Derive playhead position from scroll percentage (eliminates cascading useEffect), compute drag position from mouse event directly, add click-to-snap on timeline tracksglobals.css,nle.css,sequence.tsxTest plan