openvibers/openvibe.live Commits

Navbar on a phone: the site switcher stays beside the logo (balance chips fold with Shared 4.16.0) (#412)

OP OpenVibers committed 17 days ago · 8a84fe9dcf · 3 files, +14 −58

* Navbar on a phone: the site switcher stays beside the logo (the balance chips fold into one with Shared 4.16.0); the chips carry labels for the folded chip's panel

* First-paint selectors follow the navbar change

Changes

ddiff --git a/public/css/critical-selectors.json b/public/css/critical-selectors.json
iindex ee965a90..a2bfaa50 100644
---- a/public/css/critical-selectors.json
++++ b/public/css/critical-selectors.json
@@@ -11,8 +11,6 @@
"/chat",
"/search?q=game",
"/@iZoR_One",
-- "/vod/5717",
-- "/clip/441",
"/pastes",
"/docs"
],
@@@ -83,12 +81,12 @@
".chat-badge",
".chat-badge i",
".chat-badge-admin",
-- ".chat-badge-streamer",
".chat-badge[data-tip]::after",
".chat-badge[data-tip]::before",
".chat-crossfeed-badge",
".chat-crossfeed-global",
".chat-crossfeed-stream",
++ ".chat-emote",
".chat-header",
".chat-header-actions",
".chat-input-area",
@@@ -108,13 +106,6 @@
".chat-nickels-float .rewards-coin-balance",
".chat-relay-badge",
".chat-relay-badge i",
-- ".chat-replay-empty p",
-- ".chat-replay-header h4",
-- ".chat-replay-messages",
-- ".chat-reply-header",
-- ".chat-reply-header i",
-- ".chat-reply-snippet",
-- ".chat-reply-user",
".chat-send-btn",
".chat-settings-btn",
".chat-sidebar",
@@@ -136,22 +127,6 @@
".chat-tts-toggle",
".chat-tts-toggle.tts-active",
".chat-users-panel",
-- ".clip-chat-avatar",
-- ".clip-chat-card",
-- ".clip-chat-cta",
-- ".clip-chat-cta i",
-- ".clip-chat-dur",
-- ".clip-chat-info",
-- ".clip-chat-label",
-- ".clip-chat-meta",
-- ".clip-chat-meta > span",
-- ".clip-chat-play",
-- ".clip-chat-thumb",
-- ".clip-chat-thumb img",
-- ".clip-chat-title",
-- ".clip-modal-overlay",
-- ".comments-empty",
-- ".comments-header h3",
".container",
".content-container",
".cta-ambient",
@@@ -174,9 +149,6 @@
".digest-stat b",
".digest-stat i",
".digest-title i",
-- ".dvr-progress-bar",
-- ".dvr-progress-fill::after",
-- ".dvr-progress-wrap",
".egg-key",
".egg-key--letter",
".emote-picker",
@@@ -218,10 +190,12 @@
".hero-float",
".hero-float img",
".hero-float--clip .hero-float-badge",
++ ".hero-float--moment .hero-float-badge",
".hero-float--paste .hero-float-badge",
".hero-float--vod .hero-float-badge",
".hero-float-body",
".hero-float-inner",
++ ".hero-float-text",
".hero-golive-note",
".hero-golive-note a",
".hero-golive-note i",
@@@ -285,7 +259,6 @@
".home-paste-type",
".live-dot",
".live-stream-tabs",
-- ".media-transcript-toggle > i:first-child",
".mobile-chat-badge",
".mobile-chat-close",
".mobile-chat-toggle",
@@@ -328,6 +301,7 @@
".ov-rail",
".ov-rail > .moments-row",
".ov-rail-bar",
++ ".ov-rail-bar > span",
".ov-rail-bar[hidden]",
".ov-rail-btn",
".ov-rail-btn:disabled",
@@@ -335,6 +309,7 @@
".ov-rail-prev",
".ov-rail-track",
".ov-rail-track > *",
++ ".ov-rail.is-scrollable > .ov-rail-track",
".ov-rail:not(.is-end) > .ov-rail-track",
".ov-rail:not(.is-scrollable) > .ov-rail-btn",
".ov-rail:not(.is-start) > .ov-rail-track",
@@@ -353,8 +328,6 @@
".pc-tools-row > button.btn-openvibe-coins-mini",
".pc-tools-row > button.chat-nickels-float",
".pc-tools-row > button.chat-tts-toggle.tts-active",
-- ".protocol-badge",
-- ".protocol-rtmp",
".pulse-act i",
".pulse-grid",
".pulse-kicker i",
@@@ -399,34 +372,11 @@
".streamer-group-stream-thumb",
".toast-container",
".tour",
-- ".ts-seg",
-- ".ts-time",
-- ".vc-btn",
".vc-channel-body",
".vc-mini-bar",
".vc-modal-overlay",
-- ".vc-progress-bar",
-- ".vc-progress-buffer",
-- ".vc-progress-fill",
-- ".vc-progress-fill::after",
-- ".vc-progress-wrap",
".vc-sidebar-header h3",
".vc-sidebar-header h3 i",
-- ".vc-spacer",
-- ".vc-time-display",
-- ".vc-volume-group",
-- ".vc-volume-group .volume-slider",
-- ".video-controls",
-- ".video-overlay",
-- ".vod-ai-memory-t",
-- ".vod-ai-timeline-hint i",
-- ".vod-ai-timeline-title i",
-- ".vod-extra-details .detail-chip i",
-- ".vod-source-info i",
-- ".volume-slider",
-- ".volume-slider::-webkit-slider-runnable-track",
-- ".volume-slider::-webkit-slider-thumb",
-- ".vp-live-indicator",
"::-webkit-scrollbar",
"::-webkit-scrollbar-thumb",
"::-webkit-scrollbar-track",
@@@ -437,6 +387,10 @@
"[data-fx-viewport]:not(.fx-live) *::before",
"a",
"body",
++ "body .floating-chat-fab",
++ "body .messenger-toggle",
++ "body .mobile-chat-toggle",
++ "body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .bucks-log-overlay, .user-ai-modal-overlay, .paste-modal-overlay, .vc-modal-overlay, .chat-slur-nudge-modal, .cosmetics-modal-overlay, .link-trust-overlay, .link-preview-overlay, .cgw-pop-overlay, .image-censor-overlay)",
"body.ov-nav-overlay .navbar.ovnav-top",
"body.ov-nav-overlay .openvibe-navbar.navbar.ovnav-top",
"body::after",
ddiff --git a/public/css/style.css b/public/css/style.css
iindex 1176166e..751a8361 100644
---- a/public/css/style.css
++++ b/public/css/style.css
@@@ -9939,4 +9939,5 @@ body.ov-nav-overlay .openvibe-navbar.navbar.ovnav-top { background: transparent;
.openvibe-navbar.navbar .openvibe-navbar-links a.ovnav-link.active { color: var(--text-primary); background: color-mix(in srgb, var(--accent) 16%, transparent); }
.openvibe-navbar.navbar .openvibe-navbar-dropdown { position: fixed; top: calc(var(--navbar-h) + 6px); right: 8px; }
.openvibe-navbar.navbar .openvibe-navbar-avatar { width: 36px; height: 36px; border-radius: 50%; cursor: pointer; object-fit: cover; box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent); }
--@media (max-width: 560px) { .openvibe-navbar.navbar .ovnav-chip { padding: 0 8px; } .openvibe-navbar.navbar .ovnav-launch { display: none; } }
++/* The site switcher stays beside the logo on a phone: the two balance chips fold into one there (Shared 4.16.0). */
++@media (max-width: 560px) { .openvibe-navbar.navbar .ovnav-chip { padding: 0 8px; } }
ddiff --git a/public/js/ov-navbar-live.js b/public/js/ov-navbar-live.js
iindex f7371452..28f04998 100644
---- a/public/js/ov-navbar-live.js
++++ b/public/js/ov-navbar-live.js
@@@ -75,8 +75,9 @@
notificationsRealtime: true, // the bell hears new notifications over OpenVibe.Events (Shared 1.22.0)
links: links(user), menu: menu(user),
chips: [
-- { id: 'coins', icon: 'fa-coins', tone: 'gold', value: '0', valueId: 'nav-coins-amount', title: 'OpenCoins: click to open your inventory', onClick: () => call('openCosmeticsModal') },
-- { id: 'vibes', icon: 'fa-wallet', tone: 'green', value: '0', valueId: 'nav-balance-amount', title: 'Vibes balance', onClick: () => call('showModal', 'buy-funds') },
++ // On a phone the two fold into one chip (Shared 4.16.0); its panel lists them by label.
++ { id: 'coins', icon: 'fa-coins', tone: 'gold', value: '0', valueId: 'nav-coins-amount', label: 'OpenCoins', title: 'OpenCoins: click to open your inventory', onClick: () => call('openCosmeticsModal') },
++ { id: 'vibes', icon: 'fa-wallet', tone: 'green', value: '0', valueId: 'nav-balance-amount', label: 'Vibes', title: 'Vibes balance', onClick: () => call('showModal', 'buy-funds') },
],
// Same-origin links are routes of this single-page app.
onNavigate: (href, e) => (typeof handleLinkClick === 'function' ? handleLinkClick(e, href) : true),