fix(clip): typed times belong to their value, and every mark on the player chrome can be seen
TimecodeField drops a draft when the value moves under it (another segment selected, a nudge), so leaving the field never commits it to another cut; it is invalid only once offered, with a line under it saying how to type a time. On the always-dark chrome media-scope points every focus ring at --media-mark and errors at the new --media-danger (a light theme's accent and danger were under 3:1 there). A track whose dragged handle unmounts ends the drag on the pointer's release instead of locking up; a remove refused while clips are queued leaves no focus to take later; each remove-cut button names its cut and is a 24px target. DESIGN.md records the media tokens; stale comments fixed.
This commit is contained in:
@@ -950,7 +950,8 @@ export default function PlexPlayer({ itemId, onClose, queue, fromStart = false }
|
||||
// (`useHistorySubview`'s back).
|
||||
// - The on-screen arrow is a click on "leave", not a cancel, so it does not stop a countdown.
|
||||
// - Escape in fullscreen leaves fullscreen (the browser's own Escape) and not the player.
|
||||
// - The arrow leaves past a clip as it does past a panel; the keys step out of it.
|
||||
// - The arrow still closes an open panel or the stats first, but it leaves past a clip, as past a
|
||||
// countdown: only the keys step out of a clip.
|
||||
const back = useCallback(
|
||||
(from: "arrow" | "key" | "escape") => {
|
||||
if (from !== "arrow" && skipProgressRef.current != null) cancelAutoSkipRef.current();
|
||||
|
||||
Reference in New Issue
Block a user