From fb0577c391572e77898a34ef21b2349c29ec0871 Mon Sep 17 00:00:00 2001 From: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com> Date: Wed, 26 Aug 2026 03:08:37 +0200 Subject: [PATCH] fix(it-hilfe, abos): the H1 still listed keywords, and a price wrapped MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both found by loading the pages at 390px rather than by reading them. ## /it-hilfe kept the old headline #382 reframed this surface off "kostenlose Community-Reparatur" — meta title, meta description, subtitle, tagline. It missed the thing a visitor actually reads first: the H1 still said "Computer reparieren, OS neu installieren, IT-Probleme lösen", a keyword list written for search engines rather than for the person with a broken laptop. It now reads "Jemanden finden, der es repariert" under the eyebrow "Techniker finden". That is word-for-word the homepage pillar's link text, deliberately: click the pillar, land on a page whose headline is the phrase you clicked. Same sentence in two places, but as information scent BETWEEN pages — the opposite of the duplication being removed from the homepage, where it appeared twice within one screen. ## A price wrapped "CHF 300.00" broke across two lines on a 390px pool card — 56px tall where a one-line price is 28px. A wrapped price reads as a layout bug, not as a number. It is `whitespace-nowrap tabular-nums` now; the service title beside it gives way instead, which is the right thing to yield. Not changed, because it is data rather than a defect: the two live pools are "Claude Max" (CHF 50) and "Supergrok Heavy" (CHF 300) — both AI subscriptions — tagged `Software` and `Sonstiges`, since they predate the `ai` category. The filter chips derive from categories that existing pools use, so no "KI" chip renders and the page cannot yet demonstrate the point its own headline makes. New pools default to `ai`. Co-Authored-By: Claude Opus 5 (1M context) --- messages/de.json | 4 ++-- messages/en.json | 4 ++-- messages/es.json | 4 ++-- messages/fr.json | 4 ++-- messages/it.json | 4 ++-- messages/ja.json | 4 ++-- messages/ko.json | 4 ++-- messages/ru.json | 4 ++-- src/app/[locale]/abos/PoolCard.tsx | 6 +++++- 9 files changed, 21 insertions(+), 17 deletions(-) diff --git a/messages/de.json b/messages/de.json index dd202c09c..f8c6cece9 100644 --- a/messages/de.json +++ b/messages/de.json @@ -3078,8 +3078,8 @@ } }, "hub": { - "eyebrow": "IT-Hilfe", - "title": "Computer reparieren, OS neu installieren, IT-Probleme lösen", + "eyebrow": "Techniker finden", + "title": "Jemanden finden, der es repariert", "subtitle": "evig verbindet dich mit Technikerinnen und Technikern in deiner Nähe — über die Community gratis oder fair bezahlt.", "paths": { "request": { diff --git a/messages/en.json b/messages/en.json index 310612ce4..921066f7f 100644 --- a/messages/en.json +++ b/messages/en.json @@ -3078,8 +3078,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Find a technician", + "title": "Find someone who will fix it", "subtitle": "evig connects you with technicians near you — free through the community or fairly paid.", "paths": { "request": { diff --git a/messages/es.json b/messages/es.json index 50f598c6d..919492607 100644 --- a/messages/es.json +++ b/messages/es.json @@ -2540,8 +2540,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Encontrar técnico", + "title": "Encontrar a quien lo repare", "subtitle": "evig te conecta con técnicos cerca de ti: gratis a través de la comunidad o con pago justo.", "paths": { "request": { diff --git a/messages/fr.json b/messages/fr.json index 02849bbe0..84ccb2fd1 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -3077,8 +3077,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Trouver un technicien", + "title": "Trouver quelqu’un qui le répare", "subtitle": "evig vous met en relation avec des techniciennes et techniciens près de chez vous — gratuitement via la communauté ou rémunéré équitablement.", "paths": { "request": { diff --git a/messages/it.json b/messages/it.json index ea939a828..afdac0858 100644 --- a/messages/it.json +++ b/messages/it.json @@ -2540,8 +2540,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Trovare un tecnico", + "title": "Trovare qualcuno che lo ripari", "subtitle": "evig ti mette in contatto con tecniche e tecnici vicino a te: gratis tramite la community o pagato equamente.", "paths": { "request": { diff --git a/messages/ja.json b/messages/ja.json index 084bc1f98..dcc9f85bc 100644 --- a/messages/ja.json +++ b/messages/ja.json @@ -2540,8 +2540,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "技術者を探す", + "title": "直してくれる人を見つける", "subtitle": "evig はあなたの近くの技術者とつなぎます——コミュニティを通じて無料で、あるいは正当な報酬で。", "paths": { "request": { diff --git a/messages/ko.json b/messages/ko.json index e660e19ac..44206945c 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -2540,8 +2540,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "기술자 찾기", + "title": "고쳐 줄 사람을 찾기", "subtitle": "evig가 가까운 기술자와 연결해 드립니다 — 커뮤니티를 통해 무료로, 또는 정당한 보수로.", "paths": { "request": { diff --git a/messages/ru.json b/messages/ru.json index 92eaa3e52..9d18ad6c3 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -3081,8 +3081,8 @@ } }, "hub": { - "eyebrow": "IT-помощь", - "title": "Ремонт компьютеров, переустановка ОС, решение IT-проблем", + "eyebrow": "Найти мастера", + "title": "Найти того, кто починит", "subtitle": "evig связывает вас с мастерами поблизости — бесплатно через сообщество или за справедливую оплату.", "paths": { "request": { diff --git a/src/app/[locale]/abos/PoolCard.tsx b/src/app/[locale]/abos/PoolCard.tsx index 7826abad1..94ad693fe 100644 --- a/src/app/[locale]/abos/PoolCard.tsx +++ b/src/app/[locale]/abos/PoolCard.tsx @@ -53,7 +53,11 @@ export function PoolCard({ pool, userId, onJoin, onLeave, myPoolIds }: Props) {
-
+ {/* A price must not wrap. "CHF 300.00" broke across two lines on a + 390px card, which reads as a layout bug rather than a number. + The title beside it may wrap instead — that is the right thing + to give way. */} +
CHF {Number(pool.costPerMemberChf).toFixed(2)}
{t('perMonthPerson')}