openvibers/openvibe.rent Commits

Sign in with a button on signed-out pages (#174)

OP OpenVibers committed 12 days ago · e0467a6a9f · 4 files, +8 −3

* Signed-out pages ask with a button, not a bare link

* Budget: 2026-11-01: sign-in prompt layout

Changes

ddiff --git a/public/css/app.css b/public/css/app.css
iindex f90e867..2f2355f 100644
---- a/public/css/app.css
++++ b/public/css/app.css
@@@ -92,3 +92,7 @@ button.sc-btn.sc-primary { border: 0; }
/* The sites the search-everywhere form opens (home); the results page has css/everywhere.css. */
.ew-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 12px 0 6px; }
.ew-chips li { padding: 5px 11px; border-radius: 999px; border: 1px solid var(--border, #1f2d47); background: var(--bg-card, #131c2e); font-size: .9rem; }
++
++/* A sign-in prompt: the sentence, then the button under it (2026-11-01). */
++.notice.signin-prompt { display: grid; gap: 12px; justify-items: start; }
++.notice.signin-prompt p { margin: 0; }
ddiff --git a/server/http/pages.js b/server/http/pages.js
iindex d6b73f8..a7f1f57 100644
---- a/server/http/pages.js
++++ b/server/http/pages.js
@@@ -76,7 +76,7 @@ function createPageRoutes(ctx) {
const stateBadge = (st) => badge(STATE_TEXT[st] || st, STATE_KIND[st] || '');
const priceOf = (row) => html`<b class="price">${listings.priceText(row)}</b>`;
const whereOf = (row) => [row.neighbourhood, row.city, row.country].filter(Boolean).join(', ');
-- const signInPrompt = (what, next) => html`<div class="notice">${what} <a href="/auth/login?next=${encodeURIComponent(next)}">Sign in with OpenVibe</a>.</div>`;
++ const signInPrompt = (what, next) => html`<div class="notice signin-prompt"><p>${what}</p><p><a class="sc-btn sc-primary" href="/auth/login?next=${encodeURIComponent(next)}">Sign in with OpenVibe</a></p></div>`;
/** HUD's Fair Market Rent for a listing's city and size (the card's short line), or null. */
const fmrForRow = (row) => {
ddiff --git a/server/render/layout.js b/server/render/layout.js
iindex bf0225f..e02e130 100644
---- a/server/render/layout.js
++++ b/server/render/layout.js
@@@ -133,7 +133,8 @@ function renderPage(o) {
${appIcon.headTags({ site: 'rent' })}
<link rel="stylesheet" href="${asset('css/app.css')}">
${o.feed ? `<link rel="alternate" type="application/atom+xml" title="${esc(o.feed.title)}" href="${esc(o.feed.href)}">` : ''}
--${(o.styles || []).map((name) => `<link rel="stylesheet" href="${esc(ovServe.url(name))}">`).join('\n')}
++<!-- The shared showcase stylesheet on every page, not only the home: inner pages use its buttons (sc-btn), and without it a sign-in button drew as a bare link (phone sweep, 2026-11-01). It is scoped to its own sc- classes. -->
++${[...new Set(['showcase.css', ...(o.styles || [])])].map((name) => `<link rel="stylesheet" href="${esc(ovServe.url(name))}">`).join('\n')}
${(o.localStyles || []).map((rel) => `<link rel="stylesheet" href="${asset(rel)}">`).join('\n')}
${render(scripts)}
<meta name="ov-boost" content="rent@${esc(RELEASE)}">
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex 2e02763..f47bace 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -32,7 +32,7 @@ const BUDGETS = {
jsBrotliKB: 80.8, // 80.2 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 79.5 with openvibe-shared 4.59.0: the Pair mark beside the name, set in the brand face (2026-10-31); 78.2 with openvibe-shared 4.52.0: the Dock's loader and its Chats tab (2026-10-30); 77.6 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 76.1 with openvibe-shared 4.43.0 (room.css carries the kit tokens, 4.39.1; the kit's 4.39.0 rules); 74.2 openvibe-shared 4.25.0: the menu's orb beside the brand, both balances on phones, messages, the account sheet on phones and the bar stepping away on phones; 70.5 Shared 4.17.0: OpenCoins and Vibes chips (wallet: true) in the navbar; 67.9 openvibe-shared 4.15 footer: the compact footer opens into the whole one, and the pulse line; 65.3 Shared 4.12.0: the light/dark switch, the seasonal mark and the theme pairs; 56.5
cssFiles: 5, // 5 the short home (2026-10-29): + /shared/kit.css (numbers strip, search pill, folds) and /shared/room.css (cards, rails); 3 (app.css, the cached /shared/showcase.css, css/home.css)
cssRawKB: 106, // 104.8 with openvibe-shared 4.82.0: the motion tokens in kit.css and room.css (2026-11-01); 102.7 with openvibe-shared 4.81.0: shape and elevation tokens in kit.css and room.css (2026-11-01); 98.3 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 94.8 with openvibe-shared 4.62.0: the shared sidebar in kit.css, the glyphs and their fonts (2026-10-31); 89.6 the phone home (2026-10-30: the fold rules for the questions and the other OpenVibe places); 78.3 the short home (2026-10-29): kit.css 25.6 + room.css 15.7 KB (the shared numbers, search, folds, cards and rails; home.css shrank to what the homes still draw): the page shed 10 of its 14.6 phone screens; 37 openvibe-shared 4.26.1 (hero visual); 31.5 with Shared 4.13.0 (2026-10-26: account links); 25.5 with the home's cards, ranks, chips and questions; 19.4 before
-- cssBrotliKB: 23.5, // 23.2 with openvibe-shared 4.82.0: the motion tokens in kit.css and room.css (2026-11-01); 22.7 with openvibe-shared 4.81.0: shape and elevation tokens in kit.css and room.css (2026-11-01); 20.8 with openvibe-shared 4.62.0: the shared sidebar in kit.css, the glyphs and their fonts (2026-10-31); 20.0 the phone home (2026-10-30: the fold rules for the questions and the other OpenVibe places); 17.4 the short home (2026-10-29): kit.css and room.css; 8.1 openvibe-shared 4.26.1 (hero visual); 7 with Shared 4.13.0 (2026-10-26: account links); 5.9; 4.6 before
++ cssBrotliKB: 24, // 23.6 with 2026-11-01: sign-in prompt layout (2026-11-01); 23.2 with openvibe-shared 4.82.0: the motion tokens in kit.css and room.css (2026-11-01); 22.7 with openvibe-shared 4.81.0: shape and elevation tokens in kit.css and room.css (2026-11-01); 20.8 with openvibe-shared 4.62.0: the shared sidebar in kit.css, the glyphs and their fonts (2026-10-31); 20.0 the phone home (2026-10-30: the fold rules for the questions and the other OpenVibe places); 17.4 the short home (2026-10-29): kit.css and room.css; 8.1 openvibe-shared 4.26.1 (hero visual); 7 with Shared 4.13.0 (2026-10-26: account links); 5.9; 4.6 before
externalFiles: 0, // 0
};