openvibers/openvibe.shared Commits

Shared 2.20.2: on a phone the navbar keeps the OpenRestream brand whole (#45)

OP OpenVibers committed 9 Oct 2026 · ffa8ad969b · 3 files, +10 −6

* Shared 2.20.2: on a phone the navbar keeps the OpenRestream brand whole

The compact rule (≤ 420 px) hides a brand's core segment so OpenVibe.Live reads 'Live'; for the joined OpenRestream
brand that left 'stream' alone. A joined brand is excluded from it.

* Shared 2.20.2: keep navbar.js under its 30 KB brotli budget (drop the CSS comments and corner radii of the joined brand)

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 4148f52..112c4bc 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,11 @@ All notable changes to `openvibe-shared`. Versions follow [semver](https://semve
breaking change to any exported module, browser global or served file name is a new major.
A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
++## 2.20.2 — 2026-10-09
++
++- On a phone (≤ 420 px) the compact navbar keeps a joined brand whole: openre.stream shows "OpenRestream", not "stream"
++ (other sites still shrink "OpenVibe.Live" to "Live").
++
## 2.20.1 — 2026-10-09
- The OpenRestream brand on openre.stream reads as one word: "OpenRe" and "stream" touch, with no padding between the
ddiff --git a/navbar.js b/navbar.js
iindex 0ef4d9c..1c3303a 100644
---- a/navbar.js
++++ b/navbar.js
@@@ -55,9 +55,8 @@
.openvibe-navbar .openvibe-navbar-brand.has-sub .name a.b-core, .openvibe-navbar .openvibe-navbar-brand.has-sub .name a.b-tld { color: var(--text-secondary, #a8b3c4); font-weight: 600; }
.openvibe-navbar .openvibe-navbar-brand .name a:hover { color: var(--accent-light, var(--accent, #60a5fa)); background: var(--accent-glow, rgba(59,130,246,.12)); }
.openvibe-navbar .openvibe-navbar-brand .b-dot { margin: 0; padding: 0; opacity: .5; }
-- /* OpenRestream reads as one word: "OpenRe" and "stream" touch, with no padding between the two links. */
-- .openvibe-navbar .openvibe-navbar-brand.joined .name a.b-core { padding-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
-- .openvibe-navbar .openvibe-navbar-brand.joined .name a.b-tld { padding-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
++ .openvibe-navbar .openvibe-navbar-brand.joined .name a.b-core { padding-right: 0; }
++ .openvibe-navbar .openvibe-navbar-brand.joined .name a.b-tld { padding-left: 0; }
.openvibe-navbar .openvibe-navbar-brand a:focus-visible, .ovnav-launch:focus-visible { outline: 2px solid var(--accent, #3b82f6); outline-offset: 1px; }
.ovnav-launch { all: unset; box-sizing: border-box; cursor: pointer; color: var(--text-secondary, #a8b3c4); width: 32px; height: 32px; border-radius: 10px; display: inline-grid; place-items: center; flex: none; margin-right: 2px; border: 1px solid transparent; transition: background .15s, color .15s, border-color .15s; }
.ovnav-launch:hover, .ovnav-launch[aria-expanded="true"] { background: var(--accent-glow, rgba(59,130,246,.14)); color: var(--accent-light, var(--accent, #60a5fa)); border-color: color-mix(in srgb, var(--accent, #3b82f6) 35%, transparent); }
@@@ -156,8 +155,8 @@
.openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand.has-sub .b-dot { display: none; }
}
@media (max-width: 420px) {
-- .openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand:not(.has-sub) .b-core,
-- .openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand:not(.has-sub) .b-dot { display: none; }
++ .openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand:not(.has-sub):not(.joined) .b-core,
++ .openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand:not(.has-sub):not(.joined) .b-dot { display: none; }
.openvibe-navbar[data-compact="auto"] .openvibe-navbar-brand .b-tag { display: none; }
}
.openvibe-navbar-links a .icon { margin-right: 5px; opacity: .8; }
ddiff --git a/package.json b/package.json
iindex a1c3871..7690cc4 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-shared",
-- "version": "2.20.1",
++ "version": "2.20.2",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"main": "index.js",
"bin": {