openvibers/openvibe.actor Commits

The bar: main places with icons and the phone app bar, the rest under More (Search is the magnifier) (#159)

OP OpenVibers committed 16 days ago · 95f6f225bb · 2 files, +9 −6

* The bar: the main places with icons (the phone app bar), the rest under More, Search is the magnifier

* Actor's home budget: 64.3 KB raw with the bar's icons and the phone app bar

Changes

ddiff --git a/server/render/layout.js b/server/render/layout.js
iindex 8064e9d..e57b82e 100644
---- a/server/render/layout.js
++++ b/server/render/layout.js
@@@ -21,11 +21,13 @@ const { html, raw, esc } = require('./html');
const NETWORK_URL = 'https://openvibe.network';
const SITE_NAME = 'OpenVibe.Actor';
const PUBLIC_DIR = path.join(__dirname, '..', '..', 'public');
++// The product's own places: the main ones carry an icon (phones get them as the bottom tab bar), the rest fold into
++// the navbar's More (Shared 4.22). Search is the navbar's magnifier and What shipped is the footer's.
const NAV = [
-- { label: 'Console', href: '/console' },
-- { label: 'Your tasks', href: '/tasks' },
-- { label: 'Agents', href: '/agents' },
-- { label: 'API', href: '/docs' },
++ { label: 'Console', href: '/console', icon: 'fa-gauge-high' },
++ { label: 'Your tasks', href: '/tasks', icon: 'fa-list-check' },
++ { label: 'Agents', href: '/agents', icon: 'fa-robot' },
++ { label: 'API', href: '/docs', icon: 'fa-code', more: true },
];
const hashes = new Map();
@@@ -56,7 +58,8 @@ function renderPage(o) {
const nav = {
service: 'actor',
apiBase: NETWORK_URL,
-- links: NAV.map((l) => ({ label: l.label, href: l.href, active: pathNow === l.href || pathNow.startsWith(`${l.href}/`) })),
++ links: NAV.map((l) => ({ label: l.label, href: l.href, ...(l.icon ? { icon: l.icon } : {}), ...(l.more ? { more: true } : {}), active: pathNow === l.href || pathNow.startsWith(`${l.href}/`) })),
++ appBar: [{ label: 'Home', href: '/', icon: 'fa-house' }, { label: 'Console', href: '/console', icon: 'fa-gauge-high' }, { label: 'Tasks', href: '/tasks', icon: 'fa-list-check' }, { label: 'Agents', href: '/agents', icon: 'fa-robot' }], // phones: the bottom tab bar (Shared 4.20)
history: { type: 'page', title: o.title || SITE_NAME },
silentLogin: `${o.config.baseUrl}/auth/login?silent=1&next={url}`,
sessionUrl: '/auth/me',
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex 9836e16..6a2962e 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -14,7 +14,7 @@ const { measure, check, format } = require('openvibe-shared/perf-budget');
// Budgets are set from the numbers measured on 2026-10-08 (the real ones, fresh database), rounded up with about 10%
// headroom; file counts are the measured counts and external files stay at 0.
const BUDGETS = {
-- htmlRawKB: 64, // 59.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 35.8 (the guest task box lists example tasks); 39.6 with the home's "Ask in chat" row (10-15);
++ htmlRawKB: 66, // 64.3 with the bar's icons and the phone app bar (2026-10-28); 59.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 35.8 (the guest task box lists example tasks); 39.6 with the home's "Ask in chat" row (10-15);
// 53.2 with the rich home (10-22): numbers, task templates, the 34 Tools chips, the API samples, the questions
htmlBrotliKB: 15, // 13.7 openvibe-shared 4.15 footer: the compact footer opens into the whole one, and the pulse line; 8.6; 9.6 with "Ask in chat"; 12.1 with the rich home
jsFiles: 5, // 5 (theme-loader, web-runtime, navbar, footer, boost: openvibe-shared/shell)