Mercurial
diff mrjunejune/src/tools/hls_player/index.css @ 242:543df0fe7168
[tools] Add full HLS player support
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 03 Aug 2026 13:14:41 -0700 |
| parents | |
| children | 30c2196d03d4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mrjunejune/src/tools/hls_player/index.css Mon Aug 03 13:14:41 2026 -0700 @@ -0,0 +1,171 @@ +.hls-form { + margin: 1.5rem 0; +} + +.hls-form label { + display: block; + margin-bottom: 0.4rem; + font-weight: 700; +} + +.hls-url-row { + display: grid; + grid-template-columns: minmax(0, 1fr) auto auto; + gap: 0.6rem; +} + +.hls-url-row input, +.hls-url-row button { + min-height: 44px; + font: inherit; +} + +.hls-url-row input { + width: 100%; + padding: 0.65rem 0.8rem; + color: rgb(var(--gray-dark)); + background: var(--white); + border: 1px solid var(--darkgray); + border-radius: 6px; +} + +.hls-url-row button { + padding: 0.65rem 1rem; + color: var(--white); + background: var(--darkgray); + border: 1px solid var(--darkgray); + border-radius: 6px; + cursor: pointer; +} + +.hls-url-row button:hover, +.hls-url-row button:focus-visible { + color: var(--white); + background: var(--awesome); + border-color: var(--awesome); +} + +.hls-player-shell { + overflow: hidden; + border: 1px solid var(--darkgray); + border-radius: 8px; + background: #10131a; +} + +.hls-local-picker { + margin: 1rem 0 1.5rem; + padding: 0.9rem; + border: 1px solid var(--gray-light); + border-radius: 8px; +} + +.hls-local-picker legend { + padding: 0 0.4rem; + font-weight: 700; +} + +.hls-local-picker p { + margin: 0 0 0.75rem; +} + +.hls-local-actions { + display: flex; + flex-wrap: wrap; + gap: 0.65rem; +} + +.hls-file-button { + display: inline-flex; + align-items: center; + min-height: 44px; + padding: 0.65rem 1rem; + color: var(--white); + background: var(--darkgray); + border-radius: 6px; + cursor: pointer; +} + +.hls-file-button:hover, +.hls-file-button:focus-within { + background: var(--awesome); +} + +.hls-file-button input { + position: absolute; + width: 1px; + height: 1px; + overflow: hidden; + clip: rect(0 0 0 0); + white-space: nowrap; +} + +#hlsVideo { + display: block; + width: 100%; + aspect-ratio: 16 / 9; + background: #05070b; +} + +.hls-status { + min-height: 2.75rem; + margin: 0; + padding: 0.65rem 0.9rem; + color: #f3f5f8; + background: #171b24; +} + +.hls-status[data-state="error"] { + color: #ffd7df; + background: #6d1732; +} + +.hls-status[data-state="ready"] { + color: #d8ffe9; + background: #185b3a; +} + +.hls-details { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 0.75rem; + margin: 1rem 0; +} + +.hls-details[hidden] { + display: none; +} + +.hls-details div { + padding: 0.7rem; + border: 1px solid var(--gray-light); + border-radius: 6px; +} + +.hls-details dt { + font-size: 0.8rem; + font-weight: 700; + text-transform: uppercase; +} + +.hls-details dd { + margin: 0.25rem 0 0; + overflow-wrap: anywhere; +} + +.hls-notes { + margin-top: 1.5rem; +} + +@media (max-width: 720px) { + .hls-url-row { + grid-template-columns: 1fr 1fr; + } + + .hls-url-row input { + grid-column: 1 / -1; + } + + .hls-details { + grid-template-columns: 1fr 1fr; + } +}