Skip to content

ui: extend Liquid Glass to all chrome floating over video #168

Description

@morepriyam

The recorder established the glass rule (src/components/glass-pill.tsx, src/features/recorder/close-button.tsx): glass = chrome floating over live media; themed screens stay flat. The close button, control rail, and lens chips follow it — but other over-video chrome still uses flat rgba(0,0,0,…) scrims, which reads inconsistent right next to glass controls.

Convert to GlassPill (all sit over video):

  • Preview card (src/features/recorder/preview-modal.tsx): ✕ / ✂ / 🗑 badges + the time readout pill. Pairs with preview card: bigger ✕ / ✂ / 🗑 action buttons #164 (bigger buttons) — resize and glassify in one pass. Consider a GlassContainer around ✂ + 🗑 so adjacent badges merge.
  • Export screen video overlays (src/app/export.tsx): caption badge (top-right), clip-count · duration meta pill, play badge. The themed screen body stays flat.
  • Play badges: preview card ▶ overlay, export preview ▶ overlay. If recorder: “play all” button for full playthrough of the draft #165 lands a center play-all overlay, it should be glass from day one.

Optional / verify first:

  • Recorder timer readout (src/app/recorder.tsx) — bare text next to a glass close button; a small pill would tie the top bar together.
  • Segment bar container (src/features/recorder/segment-bar.tsx, the 0.4 scrim bar) — highest visual impact, but hosts a scrolling Sortable grid: perf-test glass + Reanimated before committing.

Explicitly NOT glass (keeps the system sparse):

  • Themed screens (home, export body, captions editor, onboarding, modals/sheets/toasts).
  • Accent-red controls (record, →, upload, + FAB) — brand color is the hierarchy signal.
  • Tiny badges (<20pt: clip numbers, duration labels) — glass reads as noise at that size.
  • Caption text scrim (caption-overlay.tsx) — legibility layer mirroring exported VTT.
  • Drag trash circle — animates flat → accent via interpolateColor, which glass can't do.

All conversions go through the existing GlassPill so the clear-glass style, dark tint, and Android/older-iOS fallback stay in one place.

Metadata

Metadata

Assignees

Labels

area:playerSegment preview / playbackarea:uiVisual/UX polish, theming, a11yenhancementNew feature or request

Type

No type

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions