From 70cfe9bfb0e648950ec517526833d1f3c1a07a5d Mon Sep 17 00:00:00 2001 From: Maurice Date: Thu, 5 Nov 2026 22:41:18 +0100 Subject: [PATCH] feat(native): Kyoto hero band, headline tagline, tidy demo and footer --- client/native-shell/img/kyoto.webp | Bin 0 -> 39168 bytes client/native-shell/main.ts | 4 +- client/native-shell/shell.css | 78 ++++++++++++++++++++++++----- shared/src/i18n/de/native.ts | 4 +- shared/src/i18n/en/native.ts | 4 +- 5 files changed, 72 insertions(+), 18 deletions(-) create mode 100644 client/native-shell/img/kyoto.webp diff --git a/client/native-shell/img/kyoto.webp b/client/native-shell/img/kyoto.webp new file mode 100644 index 0000000000000000000000000000000000000000..9e076556a4831f3b3c7763cc5472ae17af623064 GIT binary patch literal 39168 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 literal 0 HcmV?d00001 diff --git a/client/native-shell/main.ts b/client/native-shell/main.ts index 50895fd7b..9e6a73b3f 100644 --- a/client/native-shell/main.ts +++ b/client/native-shell/main.ts @@ -189,7 +189,7 @@ function showWelcome(opts: { back?: boolean } = {}): void { showCloud(); }); - const demo = el('button', { type: 'button', className: 'linkbtn' }, t('native.connect.tryDemo')); + const demo = el('button', { type: 'button', className: 'demo-link' }, t('native.connect.tryDemo')); demo.addEventListener('click', () => runDemo(demo)); show( @@ -256,7 +256,7 @@ function showConnect(prefill = '', opts: { back?: boolean } = {}): void { fail(result.reason); }); - const demo = el('button', { type: 'button', className: 'linkbtn' }, t('native.connect.tryDemo')); + const demo = el('button', { type: 'button', className: 'demo-link' }, t('native.connect.tryDemo')); demo.addEventListener('click', () => runDemo(demo, error)); show( diff --git a/client/native-shell/shell.css b/client/native-shell/shell.css index 5b2bf04cf..04ab19981 100644 --- a/client/native-shell/shell.css +++ b/client/native-shell/shell.css @@ -119,19 +119,35 @@ body::before { pointer-events: none; z-index: 0; } +/* + * A travel photo as a top band (Kyoto at dusk, the same image liketrek.com uses + * in its pricing section), under a dark gradient and faded out at the bottom so + * the headline stays legible. Dark-first; in light mode it steps back to the + * quiet grid instead, which reads better on a white page. + */ body::after { content: ''; position: fixed; inset: 0 0 auto; - height: 640px; - background-image: - linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); - background-size: 54px 54px; - -webkit-mask-image: radial-gradient(ellipse 78% 52% at 50% -2%, #000 26%, transparent 72%); - mask-image: radial-gradient(ellipse 78% 52% at 50% -2%, #000 26%, transparent 72%); + height: 400px; + background: + linear-gradient(180deg, rgba(9, 9, 11, 0.46) 0%, rgba(9, 9, 11, 0.72) 58%, var(--bg) 100%), + url('./img/kyoto.webp') center 30% / cover no-repeat; + -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 100%); + mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 100%); pointer-events: none; z-index: 0; } +@media (prefers-color-scheme: light) { + body::after { + height: 640px; + background: + linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); + background-size: 54px 54px; + -webkit-mask-image: radial-gradient(ellipse 78% 52% at 50% -2%, #000 26%, transparent 72%); + mask-image: radial-gradient(ellipse 78% 52% at 50% -2%, #000 26%, transparent 72%); + } +} .shell { position: relative; @@ -286,7 +302,7 @@ body::after { } .hero-logo img { display: block; - height: 46px; + height: 62px; width: auto; } .hero-logo .on-light { @@ -327,6 +343,8 @@ body::after { font-weight: 700; letter-spacing: -0.03em; margin: 0; + /* Honour the newline in the headline string (e.g. "Deine Reisen.\nDein Plan."). */ + white-space: pre-line; } .title-sm { font-size: 1.5rem; @@ -338,8 +356,8 @@ body::after { .sub { color: var(--muted); margin: 0; - line-height: 1.55; - font-size: 1.02rem; + line-height: 1.5; + font-size: 0.95rem; overflow-wrap: anywhere; } @@ -416,6 +434,35 @@ body::after { align-self: center; transition: color 0.2s; } + +/* "Try the demo": a tertiary action, but a tidy pill so it reads as a choice, not stray text. */ +.demo-link { + font: inherit; + font-weight: 600; + font-size: 0.9rem; + align-self: center; + margin-top: 2px; + padding: 11px 20px; + border-radius: 999px; + border: 1px solid var(--edge); + background: var(--surface); + color: var(--muted); + cursor: pointer; + white-space: nowrap; + box-shadow: + 0 1px 2px rgba(0, 0, 0, 0.2), + inset 0 0 0 1px color-mix(in srgb, var(--ink) 3%, transparent); + transition: + color 0.2s, + background 0.2s, + border-color 0.2s, + transform 0.14s var(--ease); +} +.demo-link:active { + transform: scale(0.97); + background: var(--surface-2); + color: var(--ink); +} .linkbtn:active { color: var(--ink); } @@ -427,14 +474,21 @@ a.linkbtn { display: flex; flex-wrap: wrap; justify-content: center; - gap: 2px 18px; + gap: 4px 22px; margin-top: 6px; + padding-top: 16px; + border-top: 1px solid var(--edge); font-size: 0.86rem; } .foot-links a { - color: var(--faint); + color: var(--muted); + font-weight: 500; text-decoration: none; - padding: 8px 2px; + padding: 6px 2px; + transition: color 0.2s; +} +.foot-links a:active { + color: var(--ink); } /* ── Address form ────────────────────────────────────────────────────────── */ diff --git a/shared/src/i18n/de/native.ts b/shared/src/i18n/de/native.ts index a69129bf7..2b6a075f3 100644 --- a/shared/src/i18n/de/native.ts +++ b/shared/src/i18n/de/native.ts @@ -6,7 +6,7 @@ const native: TranslationStrings = { 'native.connect.placeholder': 'https://trek.example.com', 'native.connect.submit': 'Verbinden', 'native.connect.checking': 'Wird geprüft…', - 'native.connect.tryDemo': 'Noch keinen Server? Probier die Demo aus', + 'native.connect.tryDemo': 'Demo ausprobieren', 'native.connect.whatIsServer': 'Was ist ein TREK-Server?', 'native.connect.errorInvalid': 'Das sieht nicht nach einer Webadresse aus.', 'native.connect.errorUnreachable': @@ -25,7 +25,7 @@ const native: TranslationStrings = { 'native.privacy': 'Datenschutzerklärung', 'native.settings.server': 'Server', // same-as-en 'native.settings.serverHint': 'Diese App ist mit {server} verbunden.', - 'native.welcome.headline': 'Reisen gemeinsam planen.', + 'native.welcome.headline': 'Deine Reisen.\nDein Plan.', 'native.welcome.sub': 'TREK hält jeden Tag, Ort, jede Buchung und Kosten in einem gemeinsamen Plan, den eure ganze Gruppe live bearbeitet.', 'native.welcome.connect': 'Mit deinem TREK verbinden', diff --git a/shared/src/i18n/en/native.ts b/shared/src/i18n/en/native.ts index 0a2a82f73..a07e98586 100644 --- a/shared/src/i18n/en/native.ts +++ b/shared/src/i18n/en/native.ts @@ -6,7 +6,7 @@ const native: TranslationStrings = { 'native.connect.placeholder': 'https://trek.example.com', 'native.connect.submit': 'Connect', 'native.connect.checking': 'Checking…', - 'native.connect.tryDemo': 'No server yet? Try the demo', + 'native.connect.tryDemo': 'Try the demo', 'native.connect.whatIsServer': 'What is a TREK server?', 'native.connect.errorInvalid': 'That does not look like a web address.', 'native.connect.errorUnreachable': 'No server answered at this address. Check the address and your connection.', @@ -24,7 +24,7 @@ const native: TranslationStrings = { 'native.privacy': 'Privacy policy', 'native.settings.server': 'Server', 'native.settings.serverHint': 'This app is connected to {server}.', - 'native.welcome.headline': 'Plan trips together.', + 'native.welcome.headline': 'Your Trip.\nYour Plan.', 'native.welcome.sub': 'TREK keeps every day, place, booking and cost in one live plan your whole group edits together.', 'native.welcome.connect': 'Connect your TREK',