| name | update-frontend |
| description | Use when updating or revamping the screen recorder frontend UI. Covers the shared theme layer, key screen-record entry points, dialog/timeline/sidebar hotspots, and the fastest file map for visual changes. |
Update Frontend
Use this skill for screen-record UI changes, especially redesign, polish, layout changes, and theme cleanup.
Core rule
File map
Read these first for most UI work:
- screen-record/src/App.tsx
Main recorder composition, preview shell, playback toolbar wiring, dialogs, timeline, side panel.
- screen-record/src/App.css
Theme tokens, material surfaces, shared buttons, timeline primitives, interaction colors.
- screen-record/src/components/ui/Dialog.tsx
All dialog shell placement, rounding, overlay, close button behavior.
- screen-record/src/components/ui/DropdownMenu.tsx
Shared dropdown menu visuals and item selection styling.
- screen-record/src/components/ui/button.tsx
Base button variants used across the app.
Main screen areas
Timeline hotspots
When editing lower-editor UI, check these together:
Dialog hotspots
Styling workflow
- Decide whether the change is global or local.
- If global, patch screen-record/src/App.css first.
- Reuse shared classes:
ui-surface, ui-chip-button, ui-toolbar-button, ui-action-button, ui-segmented, timeline-lane, timeline-block, timeline-add-button, timeline-handle-pill.
- Only add new shared primitives if at least two components benefit.
- Keep hover/active/focus colors semantically consistent:
blue = general action / zoom
yellow = pointer-related
teal = applied/success utility states
red = destructive / recording / playhead
Interaction rules
- Pointer-driven timelines should use pointer events for controls inside them.
- If visual content must clip to a rounded track, clip an inner wrapper, not the whole lane, so handles can stay outside.
- If a transition affects layout or state handoff, prefer one shared owner component rather than duplicated local animation logic.
Verification
- Run:
cd screen-record && npx tsc --noEmit
- For visual sweeps after larger UI changes, manually check:
header dropdowns
export dialog
preview playback controls
side panel tab transitions
timeline tracks in light and dark mode
button hover tones in light and dark mode