openvibers/openvibe.exchange Commits

Hero: no site name above the title (#180)

OP OpenVibers committed 3 days ago · 2d0c7c6e8a · 2 files, +1 −2

The owner, 2026-11-10, on openvibe.exchange: 'look at this dumb title... you're on Exchange. Look at the nav bar.' The bar already says Exchange, the hero repeated it as a kicker. Remove the kicker; the h1 and lede say what it is. Hero top padding unchanged (34px mobile, 46px wide) so no empty gap remains.

Changes

ddiff --git a/server/views/exchange.js b/server/views/exchange.js
iindex 06d1e61..d08b5b0 100644
---- a/server/views/exchange.js
++++ b/server/views/exchange.js
@@@ -191,7 +191,6 @@ function home({ catalog, usage, viewer, q = '', config = null }) {
return `<div class="ex-wrap ex-home">
<section class="ex-hero">
<div class="ex-hero-copy">
--<p class="ex-kicker">OpenVibe.Exchange</p>
<h1>Every AI model, one account.</h1>
<p class="ex-lead">${families.length ? `${esc(listSaid(families.slice(0, 6)))} now, more as their providers join. ` : ''}Live prices, speed and uptime, one OpenAI-compatible endpoint, and a chat that puts models side by side.</p>
${kit.find({ action: '/models', name: 'q', placeholder: families.length ? `Find a model: ${families.slice(0, 3).join(', ')}…` : 'Find a model or a provider', value: q, icon: 'search' })}
ddiff --git a/server/views/platform.js b/server/views/platform.js
iindex 44dda33..d7818a4 100644
---- a/server/views/platform.js
++++ b/server/views/platform.js
@@@ -78,7 +78,7 @@ function pricingPage() {
}
function home({ catalog, usage, viewer }) {
const models = listed(catalog);
-- return `<div class="ex-wrap xp">${unavailable(catalog)}<section class="xp-hero"><p class="ex-kicker">OpenVibe.Exchange</p><h1>One API for every model.<br>Pay what the model costs.</h1>${kit.find({ action: '/models', name: 'q', placeholder: 'Find a model', icon: 'search' })}<p>${kit.button({ href: viewer?.kind === 'user' ? '/dashboard/keys#new' : '/auth/login?next=%2Fdashboard%2Fkeys%23new', label: 'Get a key' })} ${kit.button({ href: '/docs', label: 'Read the docs', kind: 'quiet' })}</p>${code()}</section>${kit.stats(
++ return `<div class="ex-wrap xp">${unavailable(catalog)}<section class="xp-hero"><h1>One API for every model.<br>Pay what the model costs.</h1>${kit.find({ action: '/models', name: 'q', placeholder: 'Find a model', icon: 'search' })}<p>${kit.button({ href: viewer?.kind === 'user' ? '/dashboard/keys#new' : '/auth/login?next=%2Fdashboard%2Fkeys%23new', label: 'Get a key' })} ${kit.button({ href: '/docs', label: 'Read the docs', kind: 'quiet' })}</p>${code()}</section>${kit.stats(
[
[models.length, 'models'],
[