diff --git a/src/components/PlatformPage.tsx b/src/components/PlatformPage.tsx index 38a9e36..f162d2f 100644 --- a/src/components/PlatformPage.tsx +++ b/src/components/PlatformPage.tsx @@ -6,9 +6,14 @@ import { localizePath, useLang, useT } from '../i18n'; import type { Bullet } from '../i18n/types'; import LangSwitcher from './LangSwitcher'; -// Standalone product page at /platforma (and /en/platforma). All copy lives in -// i18n under `platform`; paragraphs that carry inline emphasis are stored as -// runs and rendered through (see i18n/types.ts). +// Standalone page at /platforma (and /en/platforma) presenting both platforms: +// Ilenar (what the system does) and Curetes (the supervision over it). All copy +// lives in i18n under `platform`; paragraphs that carry inline emphasis are +// stored as runs and rendered through (see i18n/types.ts). +// +// Heading levels: the page has a single

("Nasze platformy"). Platform names +// are

despite reading as titles, and the sections inside a platform are +//

— the sizing classes keep them looking exactly as before. const PlatformPage = () => { const t = useT(); const lang = useLang(); @@ -40,110 +45,164 @@ const PlatformPage = () => {
-

{t.platform.title}

-

{t.platform.workingName}

+

{t.platform.title}

+

+ +

-
- {/* ── Kto pilnuje agentów ───────────────────────────────────────── */} -
-

{t.platform.watchers.title}

- {t.platform.watchers.paragraphs.map((paragraph, i) => ( -

- + {/* ══ Platforma 1 — Ilenar ════════════════════════════════════════ */} +

+

+ {t.platform.ilenar.eyebrow} +

+

+ {t.platform.ilenar.name} +

+

{t.platform.ilenar.subtitle}

+

+ +

+ + {/* Dwie ścieżki, jeden rdzeń — karty obok siebie */} +
+
+
+ +
+

{t.platform.ilenar.home.title}

+

+

- ))} -
- - {/* ── Problem, który znika ──────────────────────────────────────── */} -
-

{t.platform.problem.title}

-
    - {t.platform.problem.bullets.map((bullet, i) => renderBullet(bullet, i, ChevronRight))} -
-
- - {/* ── Jak to działa ─────────────────────────────────────────────── */} -
-

{t.platform.howItWorks.title}

- -

- -

- -

- -

- -

- -

- - {/* Dwie ścieżki, jeden rdzeń — karty obok siebie */} -
-
-
- -
-

{t.platform.howItWorks.home.title}

-

- -

-
- -
-
- -
-

{t.platform.howItWorks.business.title}

-

- -

-
-

- -

-
- - {/* ── Pod maską ─────────────────────────────────────────────────── */} -
-

{t.platform.underTheHood.title}

-
    - {t.platform.underTheHood.bullets.map((bullet, i) => renderBullet(bullet, i, ChevronRight))} -
-
- - {/* ── Dlaczego to ───────────────────────────────────────────────── */} -
-

{t.platform.why.title}

-
    - {t.platform.why.bullets.map((bullet, i) => renderBullet(bullet, i, CheckCircle2))} -
-
- - {/* ── Gdzie jesteśmy ────────────────────────────────────────────── */} -
-

{t.platform.status.title}

- {t.platform.status.paragraphs.map((paragraph, i) => ( -

- +

+
+ +
+

{t.platform.ilenar.business.title}

+

+

- ))} -
+
+ - {/* ── CTA ───────────────────────────────────────────────────────── */} -
-

{t.platform.cta.title}

-

- -

- - {t.platform.cta.button} - - -
+

+ +

+ + + {/* ── Separator: obie platformy pod wspólnym nadzorem ───────────── */} +
+ + {t.platform.divider} +
+ + {/* ══ Platforma 2 — Curetes ═══════════════════════════════════════ */} +
+

+ {t.platform.curetes.eyebrow} +

+

+ {t.platform.curetes.name} +

+

+ {t.platform.curetes.subtitle} +

+ +
+ {/* ── Kto pilnuje agentów ─────────────────────────────────── */} +
+

+ {t.platform.curetes.watchers.title} +

+ {t.platform.curetes.watchers.paragraphs.map((paragraph, i) => ( +

+ +

+ ))} +
+ + {/* ── Problem, który znika ─────────────────────────────────── */} +
+

+ {t.platform.curetes.problem.title} +

+
    + {t.platform.curetes.problem.bullets.map((bullet, i) => + renderBullet(bullet, i, ChevronRight), + )} +
+
+ + {/* ── Jak to działa ────────────────────────────────────────── */} +
+

+ {t.platform.curetes.howItWorks.title} +

+ +

+ +

+ +

+ +

+ +

+ +

+
+ + {/* ── Pod maską ────────────────────────────────────────────── */} +
+

+ {t.platform.curetes.underTheHood.title} +

+
    + {t.platform.curetes.underTheHood.bullets.map((bullet, i) => + renderBullet(bullet, i, ChevronRight), + )} +
+
+ + {/* ── Dlaczego to ──────────────────────────────────────────── */} +
+

+ {t.platform.curetes.why.title} +

+
    + {t.platform.curetes.why.bullets.map((bullet, i) => + renderBullet(bullet, i, CheckCircle2), + )} +
+
+ + {/* ── Gdzie jesteśmy ───────────────────────────────────────── */} +
+

+ {t.platform.curetes.status.title} +

+ {t.platform.curetes.status.paragraphs.map((paragraph, i) => ( +

+ +

+ ))} +
+
+
+ + {/* ── CTA — jedno, wspólne dla obu platform ───────────────────────── */} +
+

{t.platform.cta.title}

+

+ +

+ + {t.platform.cta.button} + + +