From f263d84a8d3b6b4025ed46151981ab8a1c71bc04 Mon Sep 17 00:00:00 2001 From: core Date: Tue, 2 Jun 2026 00:28:04 +0500 Subject: [PATCH] player: extract branded .pjs player into shared static/player.{js,css} One source of truth for the branded player on desktop (archive) and mobile. The ArchivePlayer class moves out of app.js into player.js (name kept; app.js still does `new ArchivePlayer`); the .pjs styles move out of style.css into player.css. Both archive.html and mobile.html load the shared module before their own script. The shared player gains two additive, backward-compatible options: - live: timeline hidden, only pause/play + fullscreen (mobile Live). - autohide:false: control bar always visible (touch); desktop keeps autohide (default true), so desktop archive behaves exactly as before. Fullscreen is now self-contained (no global toggleFullscreen dep) so it works on mobile too, with an iOS