screentinker/frontend/js/i18n
ScreenTinker aa77332c0d Let the playlist preview skip, so reviewing item 8 does not cost seven durations
The preview shipped without the skip control #104 asked for, so checking a late item meant
watching every item before it in real time — the thing operators do most when ordering a
playlist with a client on the phone.

The preview is already the real player in device-free mode (an iframe of /player?preview=1),
so this drives that instance rather than growing a second playback implementation: the
dashboard posts next/prev to the one contentWindow, the player steps its own currentIndex and
re-renders through the same path a natural advance uses, and posts back index/total so the
modal can say "3 of 7".

Nothing here can reach a live screen. A real display is driven over its server socket and holds
no window handle this page could address; the message listener is installed only by the preview
boot path, previewNavigate refuses outside PREVIEW_MODE, and both ends pin the origin.

Stepping is schedule-aware in the direction of travel — falling forward past a dayparted item
would make "previous" walk forwards — and a multi-zone playlist reports itself as such, because
all zones play at once and a counter there would be a lie.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uaeo9MvzKoyXuN6ZsbhtkL
2026-08-06 09:35:16 -05:00
..
de.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00
en.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00
es.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00
fr.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00
hi.js i18n: extract all strings, add 6 language translations, restructure i18n module 2026-04-29 19:25:22 -05:00
it.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00
pt.js Let the playlist preview skip, so reviewing item 8 does not cost seven durations 2026-08-06 09:35:16 -05:00