diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-02 22:08:46 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-02 22:10:28 +0300 |
| commit | e391bea837f9740aa8b303dedb6f87c09abd4201 (patch) | |
| tree | 737ddbf8c58cd2b7acd0fb160494d9184e2c1983 /web/css/player.css | |
| parent | e898357da954acb561a0a88b4443da52f774ce36 (diff) | |
fix detached playback and scan progress
Diffstat (limited to 'web/css/player.css')
| -rw-r--r-- | web/css/player.css | 87 |
1 files changed, 75 insertions, 12 deletions
diff --git a/web/css/player.css b/web/css/player.css index 5628dfd..f3d93ef 100644 --- a/web/css/player.css +++ b/web/css/player.css @@ -7,7 +7,7 @@ border-top: 1px solid var(--border); z-index: 60; display: none; /* hidden by default until something plays */ - transition: inset var(--transition-base); + transition: inset var(--transition-base), width var(--transition-base), height var(--transition-base), box-shadow var(--transition-base); } .player.open { display: block; @@ -15,8 +15,36 @@ .page.has-sidebar .player { inset: auto 0 0 var(--sidebar-width); } -.page.has-sidebar .player.collapsed { - inset: auto auto 0 0; + +/* Collapsed: floating bottom-left card sized to video aspect ratio */ +.player.collapsed { + inset: auto auto 1rem 1rem; + width: var(--collapsed-w, 320px); + height: var(--collapsed-h, 240px); + border-radius: 0.5rem; + box-shadow: 0 8px 32px rgba(0,0,0,0.4); + border: 1px solid var(--border); + overflow: hidden; +} +.player.open.collapsed { + display: flex; + flex-direction: column; +} +.player.collapsed .stage { + flex: 1 1 auto; + height: auto !important; + overflow: hidden; +} +.player.collapsed .controls { + flex: 0 0 auto; + padding: 0.35rem 0.5rem; + gap: 0.35rem; + border-top: 1px solid var(--border); +} +.player.collapsed .big-play .play-icon { + width: 2rem; + height: 2rem; + font-size: 0.8rem; } .player.is-fullscreen { inset: 0; @@ -26,6 +54,35 @@ justify-content: center; } +.detach-page { + margin: 0; + width: 100vw; + height: 100vh; + overflow: hidden; + background: var(--bg-body); +} + +/* Detached popup: fill the whole popup window */ +.player.detached { + position: relative; + inset: 0; + width: 100%; + height: 100%; + border-radius: 0; + border: none; + box-shadow: none; + display: flex; + flex-direction: column; +} +.player.detached .stage { + flex: 1 1 auto; + height: auto !important; + overflow: hidden; +} +.player.detached .controls { + flex: 0 0 auto; +} + .player .stage { position: relative; background: var(--player-stage-bg); @@ -65,15 +122,6 @@ background: var(--player-stage-bg); } -/* Collapsed stage (controls still visible) */ -.player.collapsed .stage { - height: 0 !important; - overflow: hidden; -} -.player.collapsed .big-play { - display: none; -} - /* Overlay controls */ .player .controls { display: flex; @@ -156,6 +204,21 @@ accent-color: var(--accent); } +.detached-bar { + position: fixed; + inset: auto 0 0 0; + background: var(--player-bg); + color: var(--text-primary); + border-top: 1px solid var(--border); + z-index: 59; + padding: 0.5rem 0.75rem; + text-align: center; + font-size: 0.85rem; +} +.detached-bar.hidden { + display: none; +} + /* Big play button */ .big-play { position: absolute; |
