diff options
| author | Adam Soltys <[email protected]> | 2026-10-13 05:29:09 +0000 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-13 05:29:09 +0000 |
| commit | c423cf3b79b088e542709267002b7db27b1a83ff (patch) | |
| tree | 410893d3d720f50c8f32fc9478ab07962323f820 /src/style.css | |
| parent | 6488a0a687144e217f71ab1c7a768613b0f17e58 (diff) | |
| download | coinosv3-c423cf3b79b088e542709267002b7db27b1a83ff.tar.gz coinosv3-c423cf3b79b088e542709267002b7db27b1a83ff.zip | |
Feed video: fewer "To exit full screen" notices, and a YouTube clip takes one tap. Adam: Chrome's "v3.coinos.io – To exit full screen, drag from the top and touch the back button" shows every time, and a YouTube clip needs its own small full-screen icon. The notice is Chrome's, put up whenever a page goes full screen; a page can't turn it off, so the app goes full screen less. In the installed app (display-mode standalone, or opened from an android-app:// referrer) there is no address bar and the pager already fills the window, so it no longer goes full screen: a wide clip asks the screen to turn without it, and only if that's refused (the browser may allow turning only in full screen) goes full screen — the notice then, but the clip on its side; the screen is let go past that clip, or on closing. A browser tab goes full screen as before. A feed clip's own control bar loses its full-screen button (controlslist=nofullscreen): a tap on the clip is the way, into the pager. YouTube: the player's taps never reach the page, so a layer over a playing clip's picture takes them, leaving YouTube's control bar along the bottom to YouTube; one tap on it — or on the still — plays with sound and takes the clip's box full screen, turned on its side (unMute + playVideo through the iframe API for a player autoplaying muted); full screen the layer steps aside, so all of YouTube's controls are there. YouTube can only fill the screen through Chrome's full screen, so its notice still shows there. tools/fullscreen-notice-test.js (installed app: no full screen, the screen turned and let go, the fallback when turning is refused; no full-screen button on feed clips); tools/youtube-tap-test.js (YouTube stood in for: autoplaying muted, a tap on the control bar stays YouTube's, one tap full screen with unMute and playVideo, the layer aside full screen and back after; with Data Saver, the still to full screen with sound); video-unmute-test stubs ui for its slice of videoNode.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01KPw21NEpWeTGu6swVASmBt
Diffstat (limited to 'src/style.css')
| -rw-r--r-- | src/style.css | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/style.css b/src/style.css index e66d756..e03ff14 100644 --- a/src/style.css +++ b/src/style.css @@ -1010,6 +1010,12 @@ html.no-scroll { overflow: hidden; scrollbar-gutter: auto; } padding: 4px 7px; border-radius: 8px; background: rgba(18, 18, 18, .6); text-decoration: none; } .yt-open:hover { background: rgba(18, 18, 18, .85); text-decoration: none; } +/* over a playing clip: a tap takes it full screen; YouTube's control bar + along the bottom is left uncovered, and full screen it all is */ +.yt-shield { position: absolute; left: 0; right: 0; top: 0; bottom: 52px; z-index: 1; cursor: pointer; } +.yt-embed:fullscreen { border-radius: 0; aspect-ratio: auto; width: 100%; height: 100%; } +.yt-embed:fullscreen .yt-shield { display: none; } +.yt-embed:fullscreen iframe { object-fit: contain; } /* A link, as the card its page describes: picture on top, title, a line, the site. The whole card is the link. */ .link-card { |
