feat: App-Hülle mit Header, Theme-Umschalter und Übersicht
Layout mit Inline-Skript, das data-theme setzt, bevor der erste Pixel gemalt wird — sonst blitzt beim Laden das falsche Farbschema auf. Logo als React-Komponente statt als Bilddatei: nimmt Theme-Farben an, spart einen Netzwerkabruf und die Verläufe liegen einmalig im Root-Layout. Im hellen Modus greifen eigene Tokens für Verlaufstext und Wortmarke; der vollfarbige Signaturverlauf fällt auf warmem Weiß sonst unter WCAG AA.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import type { MetadataRoute } from "next";
|
||||
|
||||
/**
|
||||
* PWA-Manifest. Wird von Next unter /manifest.webmanifest ausgeliefert.
|
||||
* Die Icons stammen aus scripts/generate-icons.ts.
|
||||
*/
|
||||
export default function manifest(): MetadataRoute.Manifest {
|
||||
return {
|
||||
name: "Flimmer — Serien- und Film-Tracker",
|
||||
short_name: "Flimmer",
|
||||
description: "Serien und Filme tracken — selbst gehostet, ohne fremde Konten.",
|
||||
start_url: "/",
|
||||
scope: "/",
|
||||
display: "standalone",
|
||||
orientation: "portrait-primary",
|
||||
background_color: "#0c0a14",
|
||||
theme_color: "#0c0a14",
|
||||
lang: "de",
|
||||
dir: "ltr",
|
||||
categories: ["entertainment", "productivity"],
|
||||
icons: [
|
||||
{ src: "/icons/icon-64.png", sizes: "64x64", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-96.png", sizes: "96x96", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-128.png", sizes: "128x128", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-192.png", sizes: "192x192", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-256.png", sizes: "256x256", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-384.png", sizes: "384x384", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/icon-512.png", sizes: "512x512", type: "image/png", purpose: "any" },
|
||||
{ src: "/icons/maskable-192.png", sizes: "192x192", type: "image/png", purpose: "maskable" },
|
||||
{ src: "/icons/maskable-512.png", sizes: "512x512", type: "image/png", purpose: "maskable" },
|
||||
],
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user