73 lines
2.9 KiB
TypeScript
73 lines
2.9 KiB
TypeScript
/**
|
||
* Copy of the global chrome (header, overlay menu, masthead, footer, curtain).
|
||
* Nav labels and legal links live in src/lib/site.ts; page copy in the other
|
||
* content modules. Keep German quotes „…“ and en-dashes „–“.
|
||
*/
|
||
import { nav, routes, site } from "@/lib/site";
|
||
import type { Widen } from "./widen";
|
||
|
||
export const chrome = {
|
||
masthead: {
|
||
/* „Speakerin · Trainerin“ – the separator stays glued to the preceding word so a wrap never opens with „·“. */
|
||
role: site.tagline.replace(/ · /g, " · "),
|
||
center: "Sales Mentoring & Potential Development",
|
||
languages: "Deutsch & Englisch",
|
||
},
|
||
wordmark: {
|
||
name: "Anelia Wolf",
|
||
sub: "Sales Mentoring & Potential Development",
|
||
ariaLabel: "Anelia Wolf – Startseite",
|
||
},
|
||
/* Kollaborationszusatz neben der Wortmarke. Sichtbar ist nur „× herCAREER“;
|
||
was das Malzeichen meint, hört ein Screenreader hier ausgeschrieben. */
|
||
collab: {
|
||
ariaLabel: "In Zusammenarbeit mit der herCAREER Expo",
|
||
},
|
||
/* Der Sprunglink ist das erste fokussierbare Element im Dokument – er muss die
|
||
Sprache der Seite sprechen, sonst liest ihn ein Screenreader deutsch auf einer
|
||
englischen Seite vor. */
|
||
skipLink: "Zum Inhalt springen",
|
||
header: {
|
||
navAriaLabel: "Hauptnavigation",
|
||
cta: {
|
||
/* One label for this action on the whole site – header and hero button (spec §5.1). */
|
||
label: "Kennenlerngespräch anfragen",
|
||
href: routes.kontakt,
|
||
},
|
||
/* `open` is the VISIBLE label (unchanged in both states, the glyph swaps). The two
|
||
aria labels must contain it – WCAG 2.5.3 Label in Name, so „Klick Menü“ works
|
||
with the sheet open too. */
|
||
menu: { open: "Menü", openLabel: "Menü öffnen", close: "Menü schließen", ariaLabel: "Hauptmenü" },
|
||
},
|
||
menu: {
|
||
items: [
|
||
{ numeral: "01", label: nav[0].label, href: nav[0].href },
|
||
{ numeral: "02", label: nav[1].label, href: nav[1].href },
|
||
{ numeral: "03", label: nav[2].label, href: nav[2].href },
|
||
{ numeral: "04", label: "Über Anelia", href: "/#ueber" },
|
||
{ numeral: "05", label: "Kontakt", href: "/#kontakt" },
|
||
],
|
||
linkedin: "LinkedIn",
|
||
},
|
||
footer: {
|
||
inhaltHeading: "Inhalt",
|
||
kontaktHeading: "Kontakt",
|
||
inhalt: [
|
||
...nav.map((n) => ({ label: n.label, href: n.href })),
|
||
{ label: "Über Anelia", href: "/#ueber" },
|
||
{ label: "Kontakt", href: "/#kontakt" },
|
||
],
|
||
linkedin: "LinkedIn",
|
||
/* TODO (Content-Check vor Launch): Ziel-URL der herCAREER Expo bestätigen. */
|
||
hercareer: { label: "herCAREER Expo 2026", href: "https://www.her-career.com/" },
|
||
copyrightSuffix: "Sales Mentoring & Potential Development",
|
||
claim: site.claim,
|
||
},
|
||
curtain: {
|
||
fallbackLabel: site.name,
|
||
},
|
||
} as const;
|
||
|
||
/** Struktur, nicht Wortlaut – die englische Fassung erfüllt denselben Typ. */
|
||
export type Chrome = Widen<typeof chrome>;
|