import type { Metadata, Viewport } from "next"; import { Barlow } from "next/font/google"; import { ToastProvider } from "@/components/ui/Toast"; import "./globals.css"; // ═══ Die Schrift ═══ // // Das CD Manual ist selbst in DIN gesetzt: nachgezaehlt tragen DIN-Regular // 79 % und DIN-Bold 16 % des Textes, zusammen 95 %. Helvetica Neue taucht nur // in den Visitenkarten-Mustern und im Claim auf. // // DIN laesst sich hier trotzdem nicht einsetzen: FF DIN und DIN Next sind // lizenzpflichtig, und eine Druck-Lizenz deckt die Auslieferung als Webfont // nicht ab — das ist eine eigene, nach Domain oder Abrufen bemessene Lizenz. // Die freien Nachbauten der DIN 1451 sind Schilderschriften: enge Punzen, // wenige Schnitte, und bei 14 px in einer Tabelle mit achthundert Zeilen // schlechter lesbar als das, was sie ersetzen sollen. // // Barlow ist die naechstliegende freie Schrift mit UI-Tauglichkeit: dieselbe // Grotesk-Familie, schmale Proportionen, geringer Strichkontrast, gerade // Abschluesse — und neun Schnitte mit vollem Latin-Extended, also allen // Umlauten. // // Die Variable heisst nach der Absicht und nicht nach dem Ersatz: liegt // eines Tages eine Web-Lizenz fuer DIN vor, ist der Wechsel diese eine // Deklaration und sonst nichts. const din = Barlow({ variable: "--font-din", // latin-ext wegen der Umlaute und des scharfen S, die in Namen vorkommen. subsets: ["latin", "latin-ext"], weight: ["400", "600", "700", "800"], }); export const metadata: Metadata = { title: "Alpenwerk HR", description: "HR-Stammdaten- und Organisationsmanagement für Alpenwerk Industrie GmbH", // Added to the home screen on iOS this opens without Safari's chrome and // keeps the app's own name rather than the page title. appleWebApp: { capable: true, title: "Alpenwerk HR", statusBarStyle: "default" }, // app/favicon.ico, app/icon.svg und app/apple-icon.png findet Next von // selbst; die Datei-Konventionen brauchen keinen Eintrag hier. Der Verweis // auf das Manifest dagegen schon — app/manifest.webmanifest wird sonst // zwar ausgeliefert, aber von keiner Seite genannt. manifest: "/manifest.webmanifest", }; export const viewport: Viewport = { width: "device-width", initialScale: 1, // The layout extends under the notch and home indicator; every edge that // matters pads itself back out with env(safe-area-inset-*). viewportFit: "cover", // Manner Rosa (CD §1.1): die Farbe, in der mobile Browser ihre eigene // Leiste ueber der Seite einfaerben. Weiss war hier nur die Vorgabe. themeColor: "#F69686", }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return (