fix(clip): marks on the player chrome keep their amber in a light theme, and a removed cut hands the focus on

- A media amber (`--media-mark`), the same in both themes, for what marks a place on the always-dark
  chrome or over a video: the clip strip's playhead and focused end, the crop frame's ring, Plex's
  intro / credits markers. A light theme's warn was a dark amber there, under 3:1 (contract-tested).
- The editor's remove-cut button rings inside itself (the track clipped its ring), and once it goes
  with its cut the focus moves to the cut beside it, or to Split here, not to <body>.
This commit is contained in:
2026-10-10 15:57:02 +02:00
parent c489b60c8b
commit 4d4eea2c54
8 changed files with 63 additions and 11 deletions
+4 -2
View File
@@ -79,8 +79,10 @@ const SMALL_FRAME_PX = 64;
// moves it (two origins at once made the frame jump between them).
type Drag = { handle: CropHandle | "move"; pointer: number; x: number; y: number; from: Frac };
// Not the app's accent ring: over a video it can be any colour, and a light theme's dark-blue accent
// all but vanished on a dark picture. Amber, like the players' playhead, reads on both.
const FOCUS = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warn";
// all but vanished on a dark picture. Amber, like the players' playhead, reads on both — the media
// amber (`--media-mark`), the same in both themes: a light theme's warn is too dark over a picture.
const FOCUS =
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-media-mark";
export function CropFrame({ aspect, rect, ratio, onChange, className }: Props) {
const { t } = useTranslation();