Skip to content

fix: restore share page navigation and dark theme - #2418

Open
pavzagor wants to merge 1 commit into
CapSoftware:mainfrom
pavzagor:codex/share-navigation-dark-theme
Open

pavzagor wants to merge 1 commit into
CapSoftware:mainfrom
pavzagor:codex/share-navigation-dark-theme

Conversation

@pavzagor

@pavzagor pavzagor commented Oct 5, 2026 •

Copy link
Copy Markdown

Share pages could reset a saved dark theme to light. This keeps share pages consistent with the viewer's theme, preserves destination-aware return links, and adds a visible My Caps fallback in both player and timeline views for signed-in viewers without a destination.

Dashboard/share theme setup and cleanup now run before paint. Notifications observe the resolved page theme. The share route restores the theme on direct loads and client navigation, honors an explicit light/dark preference, and falls back to the system theme when none is saved. Fixed white panels and fixed gray text use theme-aware colors. The mobile return control has a 44 × 44 px minimum target. Signed-out viewers retain the existing navigation.

Validation

  • 15 focused tests pass: theme initialization, cookie handling, system fallback, signed-in/signed-out navigation, pre-paint dashboard/share transitions, cleanup, and system-dark notifications.
  • Next.js route type generation and the web tsc --noEmit check pass.
  • Scoped Biome checks pass with existing warnings in TimelineHoverGhost.tsx and the player module; diff whitespace check passes.
  • Browser checks confirm direct-load and dashboard-to-video dark theme, player/timeline return links, and no horizontal overflow at 393 px.
  • The clean-checkout TypeScript project build is blocked by 14 Buffer/ArrayBufferView compatibility errors in unchanged shared packages: database auth/crypto and backend comment/storage signing. These packages have no diff against main.

Evidence

Captured against the real local app with the synthetic Diarization Tester account and its existing test recording. Local media storage on port 9000 was unavailable, so the player displays an error in both versions. This validates navigation and appearance, not successful playback or production delivery.

Before After
Before: light share page, no visible My Caps link After: dark share page with My Caps link

Mobile before · Mobile after

The videos contain actual browser frames sampled at approximately 4 fps and encoded at 30 fps; idle gaps are shortened. They are not continuous 30 fps screen recordings. Evidence is committed with this change so the links remain tied to the reviewed commit.

Independent review follow-up

The 320 px timeline header now stacks its title/navigation above the help and view controls, preventing the avatar from overlapping the help button. Desktop layout remains unchanged from 640 px upward. Player tooltips and shortcut badges use paired theme colors, correcting an existing low-contrast keycap.

The local app was stopped during this review pass. The following evidence uses an isolated browser fixture with the current source classes, real Tailwind configuration, local font, and placeholder owner/title content; it is not a full app replay. Measured overlap at 320 px fell from 25.11 px to zero, and the header remains 56 px tall at 640/1280 px.

Timeline fixture before · Timeline fixture after · Measured rectangles · Tooltip contrast before/after

October 5 review fixes

The mobile fallback keeps its My Caps destination label visible. Main 94ad3fd8 is merged, preserving destination-aware organization/folder/space return links, organization switching before navigation, the updated copy-link menu, and the accessible sidebar reopen control. Destination-aware links take precedence; signed-in viewers without a destination get the My Caps fallback. Timeline controls use a second row at phone widths.

Validation on daa54170: 43 focused navigation/theme/player tests passed; scoped Biome passed. Eight real-navigation-component fixtures cover player/timeline, fallback/destination, and 360/393px widths: visible text, at least 44px targets, and no horizontal overflow. Independent review found no concrete regression in the merge. Fixtures use mocked context and surrounding layout, not an authenticated full-page session. The attempted full web typecheck did not pass with the isolated checkout's missing shared-project outputs and reused primary dependency links; fresh CI needs upstream workflow approval.

360px timeline fixture · Measurements

October 7 update

Rebased on current main as a single commit; the .github/assets evidence files were removed from the branch as requested (links above still resolve to their original commits). The code diff is identical to the previously reviewed change. Validation on 61c8fd0: typecheck passes; full web suite 3,452 passed / 28 skipped. Greptile 5/5 on 61c8fd0.

RetriggerConfidence Score: 5/5

The PR appears safe to merge; no outstanding finding or new actionable issue was established.

Summary

The PR restores share-page theme consistency and adds a visible library return link for signed-in viewers without a dashboard destination. Destination-aware return links retain precedence.

  • Share pages resolve saved or system theme preferences, and notifications follow the applied theme.
  • Theme-aware colors replace fixed light colors across the share UI.
  • Mobile navigation keeps the “My Caps” label visible.

Reviews (3) · Last reviewed commit: "fix: restore share page navigation and d..." · Reviewed by Greptile

Comment thread apps/web/app/s/[videoId]/_components/ShareNavigation.tsx Outdated
@richiemcilroy

Copy link
Copy Markdown
Member

Thanks for coming back to this. We require Greptile 5/5 on the latest commit and green CI before review, so please trigger a re-review on the current head. Please also remove the screenshots and videos under .github/assets from the branch and link them in the description instead.

@pavzagor
pavzagor force-pushed the codex/share-navigation-dark-theme branch from daa5417 to 61c8fd0 Compare October 7, 2026 15:37
@pavzagor

pavzagor commented Oct 7, 2026

Copy link
Copy Markdown
Author

@greptileai review

@pavzagor

pavzagor commented Oct 7, 2026

Copy link
Copy Markdown
Author

@richiemcilroy done

pavzagor commented Oct 7, 2026

Copy link
Copy Markdown
Author

@greptileai review


Generated by Claude Code

@pavzagor

pavzagor commented Oct 8, 2026

Copy link
Copy Markdown
Author

@richiemcilroy

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants