diff --git a/README.md b/README.md index 39654d0..1a15b0e 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,18 @@ including why this replaced an earlier Emby-plugin attempt (still in 1. Sign in with your Emby account (just username/password — the server address is fixed server-side, see Deploying below). 2. A sidebar lists your Emby libraries; the home page shows every ongoing - watch party plus a "recently added" row per library, Emby-style. + watch party live (host, how long it's been running, member count) plus a + "recently added" row per library, Emby-style. No join codes — if a party + is running, it's already on the list, updating in real time. 3. Pick a movie/episode tile and hit "Lancer une watch party" (or drill into - a Series' seasons/episodes first) — you become the host — or join one - with a 6-character code. + a Series' seasons/episodes first) — you become the host — or hit + "Rejoindre" on any party already listed on the home page. 4. The host's play/pause/seek drives everyone else's player automatically; starting from an episode queues the rest of the series so the host can - just hit "Épisode suivant" instead of restarting a party each time. + just hit "Épisode suivant" instead of restarting a party each time. If + the host leaves, the party hands off to another member automatically + (their player unlocks live, no reload needed) — only closing once + everyone's gone. Everything — catalog, images, video, sync — flows through this app's own backend, which proxies whatever it needs from Emby server-side. The browser diff --git a/client/css/app.css b/client/css/app.css index ab469f6..a0cca9c 100644 --- a/client/css/app.css +++ b/client/css/app.css @@ -412,9 +412,14 @@ button.linklike:hover { background: none; color: var(--accent-bright); } /* ---- Player ---- */ .playerWrap { - position: relative; - width: 100%; - height: 100vh; + /* Fixed + inset so it fills the actual viewport regardless of + .mainContent's own padding (which used to add to 100vh and push the + whole page taller than the screen, causing an outer scrollbar). Also + covers the sidebar while playing, like most video players' theater + mode - "Quitter" is how you get back to it. */ + position: fixed; + inset: 0; + z-index: 20; background: #000; } diff --git a/client/js/party.js b/client/js/party.js index e9daf7c..5b36904 100644 --- a/client/js/party.js +++ b/client/js/party.js @@ -3,6 +3,9 @@ // Realtime is Socket.IO (window.io, loaded via