openvibers/openvibe.live Commits
Channel header on a phone: your own name no longer runs under Share (#707)
Changes
@@@ -57,6 +57,8 @@".card-ai-overview",".card-ai-static",".card-ai-toggle",++ ".ch-analytics-period-btns .btn",++ ".ch-analytics-period-btns .btn.active",".ch-goal-widget",".ch-goal-widget:not(.cgw-multi)",".ch-offline-area",@@@ -70,12 +72,13 @@".ch-offline-screen",".ch-panel-bar > .ch-vods-filter-bar",".ch-panel-bar > .clips-taken-filters",++ ".ch-panel-hint b",++ ".ch-panel-hint i",".ch-tab",".ch-tab i",".ch-tab-badge",".ch-tab-badge[hidden]",".ch-tab-panel",-- ".ch-tab-panel.active",".ch-tab.active",".ch-tab.active::after",".ch-tabs",@@@ -85,6 +88,8 @@".chat-avatar-wrap",".chat-badge",".chat-badge i",++ ".chat-badge-admin",++ ".chat-badge-streamer",".chat-badge[data-tip]::after",".chat-badge[data-tip]::before",".chat-crossfeed-badge",@@@ -277,12 +282,6 @@".navbar",".navbar > *",".navbar:not(.ovnav-top)",-- ".network-card-info",-- ".network-card-info span",-- ".network-card-info strong",-- ".network-hub-header > i",-- ".network-hub-header h3",-- ".network-hub-header p",".off-cyc-chip.active",".off-cyc-title i",".off-top-dur",@@@ -332,6 +331,7 @@".paste-modal-overlay",".paste-modal-upload",".pastes-grid",++ ".pastes-page-info",".pastes-pagination",".pc-tools-row > button",".pc-tools-row > button.btn-openvibe-bucks-mini",@@@ -676,6 +676,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:.live-tabs-summary { font-size: 0.7rem; padding: 0 8px; }.ch-cumulative-viewers { gap: 6px; }.ch-offline-header { flex-wrap: wrap; gap: 12px; padding: 16px; }++ /* On a phone the actions take their own row under the name, from the left, and a button that does not fit goes++ to the next line (Follow ran off a 360 px screen beside Share and Ask your agent). */++ .ch-offline-header .ch-actions { margin-left: 0; flex-basis: 100%; flex-wrap: wrap; }++ /* Follow, a visitor's main action, fills what is left of its row (all of it when it wraps). */++ .ch-offline-header .ch-actions > .btn-follow { flex: 1 0 auto; justify-content: center; min-height: 44px; }.ch-avatar-lg { width: 56px; height: 56px; font-size: 1.4rem; }.viewer-badge, .uptime-badge { font-size: 0.68rem; padding: 2px 5px; }#video-element, #video-canvas { width: 100%; }@@@ -1319,7 +1324,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:was unreadable on Daylight's pink). */color: color-mix(in srgb, #f59e0b 35%, var(--text-primary)); background: linear-gradient(135deg, rgba(190,24,93,0.35), rgba(139,92,246,0.3));border: 1px solid color-mix(in srgb, #f59e0b 45%, transparent); white-space: nowrap; cursor: help;++ /* Never wider than its row: "Japanese stream · chat auto-translated" ran off a 360 px screen; it wraps instead. */++ max-width: 100%;}++/* On a narrow phone it flows like a sentence inside a rounded box (as flex, its two halves wrapped side by side). */++@media (max-width: 480px) { .ch-lang-chip { display: inline-block; white-space: normal; border-radius: 12px; line-height: 1.5; } }.ch-captions {margin: 10px 0 0; border-radius: 14px; overflow: hidden;background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--bg-card)), var(--bg-card));@@@ -4691,7 +4691,10 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b/* Offline area reuses .stream-layout (main + chat sidebar). The offline screen fillsthe main column with small gutters; the header sits above it, mirroring the live page. */.ch-offline-area .ch-offline-screen { margin: 14px; width: auto; flex-shrink: 0; }--.ch-offline-header-info { flex: 1; min-width: 0; }++/* The name block keeps a real width: with a 0 basis it shrank to nothing whenever the actions fit beside the picture++ (your own channel on a phone: Share and Ask your agent, no Follow), and its text ran under the buttons. Now the++ actions wrap to their own row instead. */++.ch-offline-header-info { flex: 1 1 220px; min-width: 0; }.ch-offline-header-info h1 { margin: 0 0 2px; font-size: 1.4rem; }.ch-offline-banner {text-align: center; padding: 60px 20px;
@@ -57,6 +57,8 @@
@@ -57,6 +57,8 @@
".card-ai-overview",
".card-ai-overview",
".card-ai-static",
".card-ai-static",
".card-ai-toggle",
".card-ai-toggle",
+ ".ch-analytics-period-btns .btn",
+ ".ch-analytics-period-btns .btn.active",
".ch-goal-widget",
".ch-goal-widget",
".ch-goal-widget:not(.cgw-multi)",
".ch-goal-widget:not(.cgw-multi)",
".ch-offline-area",
".ch-offline-area",
@@ -70,12 +72,13 @@
@@ -70,12 +72,13 @@
".ch-offline-screen",
".ch-offline-screen",
".ch-panel-bar > .ch-vods-filter-bar",
".ch-panel-bar > .ch-vods-filter-bar",
".ch-panel-bar > .clips-taken-filters",
".ch-panel-bar > .clips-taken-filters",
+ ".ch-panel-hint b",
+ ".ch-panel-hint i",
".ch-tab",
".ch-tab",
".ch-tab i",
".ch-tab i",
".ch-tab-badge",
".ch-tab-badge",
".ch-tab-badge[hidden]",
".ch-tab-badge[hidden]",
".ch-tab-panel",
".ch-tab-panel",
- ".ch-tab-panel.active",
".ch-tab.active",
".ch-tab.active",
".ch-tab.active::after",
".ch-tab.active::after",
".ch-tabs",
".ch-tabs",
@@ -85,6 +88,8 @@
@@ -85,6 +88,8 @@
".chat-avatar-wrap",
".chat-avatar-wrap",
".chat-badge",
".chat-badge",
".chat-badge i",
".chat-badge i",
+ ".chat-badge-admin",
+ ".chat-badge-streamer",
".chat-badge[data-tip]::after",
".chat-badge[data-tip]::after",
".chat-badge[data-tip]::before",
".chat-badge[data-tip]::before",
".chat-crossfeed-badge",
".chat-crossfeed-badge",
@@ -277,12 +282,6 @@
@@ -277,12 +282,6 @@
".navbar",
".navbar",
".navbar > *",
".navbar > *",
".navbar:not(.ovnav-top)",
".navbar:not(.ovnav-top)",
- ".network-card-info",
- ".network-card-info span",
- ".network-card-info strong",
- ".network-hub-header > i",
- ".network-hub-header h3",
- ".network-hub-header p",
".off-cyc-chip.active",
".off-cyc-chip.active",
".off-cyc-title i",
".off-cyc-title i",
".off-top-dur",
".off-top-dur",
@@ -332,6 +331,7 @@
@@ -332,6 +331,7 @@
".paste-modal-overlay",
".paste-modal-overlay",
".paste-modal-upload",
".paste-modal-upload",
".pastes-grid",
".pastes-grid",
+ ".pastes-page-info",
".pastes-pagination",
".pastes-pagination",
".pc-tools-row > button",
".pc-tools-row > button",
".pc-tools-row > button.btn-openvibe-bucks-mini",
".pc-tools-row > button.btn-openvibe-bucks-mini",
@@ -676,6 +676,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -676,6 +676,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
.live-tabs-summary { font-size: 0.7rem; padding: 0 8px; }
.live-tabs-summary { font-size: 0.7rem; padding: 0 8px; }
.ch-cumulative-viewers { gap: 6px; }
.ch-cumulative-viewers { gap: 6px; }
.ch-offline-header { flex-wrap: wrap; gap: 12px; padding: 16px; }
.ch-offline-header { flex-wrap: wrap; gap: 12px; padding: 16px; }
+ /* On a phone the actions take their own row under the name, from the left, and a button that does not fit goes
+ to the next line (Follow ran off a 360 px screen beside Share and Ask your agent). */
+ .ch-offline-header .ch-actions { margin-left: 0; flex-basis: 100%; flex-wrap: wrap; }
+ /* Follow, a visitor's main action, fills what is left of its row (all of it when it wraps). */
+ .ch-offline-header .ch-actions > .btn-follow { flex: 1 0 auto; justify-content: center; min-height: 44px; }
.ch-avatar-lg { width: 56px; height: 56px; font-size: 1.4rem; }
.ch-avatar-lg { width: 56px; height: 56px; font-size: 1.4rem; }
.viewer-badge, .uptime-badge { font-size: 0.68rem; padding: 2px 5px; }
.viewer-badge, .uptime-badge { font-size: 0.68rem; padding: 2px 5px; }
#video-element, #video-canvas { width: 100%; }
#video-element, #video-canvas { width: 100%; }
@@ -1319,7 +1324,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
@@ -1319,7 +1324,11 @@ button.viewer-badge:focus-visible { outline: 2px solid #93c5fd; outline-offset:
was unreadable on Daylight's pink). */
was unreadable on Daylight's pink). */
color: color-mix(in srgb, #f59e0b 35%, var(--text-primary)); background: linear-gradient(135deg, rgba(190,24,93,0.35), rgba(139,92,246,0.3));
color: color-mix(in srgb, #f59e0b 35%, var(--text-primary)); background: linear-gradient(135deg, rgba(190,24,93,0.35), rgba(139,92,246,0.3));
border: 1px solid color-mix(in srgb, #f59e0b 45%, transparent); white-space: nowrap; cursor: help;
border: 1px solid color-mix(in srgb, #f59e0b 45%, transparent); white-space: nowrap; cursor: help;
+ /* Never wider than its row: "Japanese stream · chat auto-translated" ran off a 360 px screen; it wraps instead. */
+ max-width: 100%;
}
}
+/* On a narrow phone it flows like a sentence inside a rounded box (as flex, its two halves wrapped side by side). */
+@media (max-width: 480px) { .ch-lang-chip { display: inline-block; white-space: normal; border-radius: 12px; line-height: 1.5; } }
.ch-captions {
.ch-captions {
margin: 10px 0 0; border-radius: 14px; overflow: hidden;
margin: 10px 0 0; border-radius: 14px; overflow: hidden;
background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--bg-card)), var(--bg-card));
background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--bg-card)), var(--bg-card));
@@ -4691,7 +4691,10 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
@@ -4691,7 +4691,10 @@ body :is(.modal-overlay, .bc-ws-confirm-overlay, .bc-modal, .bc-perm-overlay, .b
/* Offline area reuses .stream-layout (main + chat sidebar). The offline screen fills
/* Offline area reuses .stream-layout (main + chat sidebar). The offline screen fills
the main column with small gutters; the header sits above it, mirroring the live page. */
the main column with small gutters; the header sits above it, mirroring the live page. */
.ch-offline-area .ch-offline-screen { margin: 14px; width: auto; flex-shrink: 0; }
.ch-offline-area .ch-offline-screen { margin: 14px; width: auto; flex-shrink: 0; }
-.ch-offline-header-info { flex: 1; min-width: 0; }
+/* The name block keeps a real width: with a 0 basis it shrank to nothing whenever the actions fit beside the picture
+ (your own channel on a phone: Share and Ask your agent, no Follow), and its text ran under the buttons. Now the
+ actions wrap to their own row instead. */
+.ch-offline-header-info { flex: 1 1 220px; min-width: 0; }
.ch-offline-header-info h1 { margin: 0 0 2px; font-size: 1.4rem; }
.ch-offline-header-info h1 { margin: 0 0 2px; font-size: 1.4rem; }
.ch-offline-banner {
.ch-offline-banner {
text-align: center; padding: 60px 20px;
text-align: center; padding: 60px 20px;