fix: KO metadata layout bad generation
This commit is contained in:
@@ -6,13 +6,28 @@ const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "StripStream - Komga Reader",
|
||||
description: "A modern web reader for Komga",
|
||||
description: "Votre bibliothèque numérique pour lire vos BD, mangas et comics préférés",
|
||||
manifest: "/manifest.json",
|
||||
themeColor: "#4F46E5",
|
||||
appleWebApp: {
|
||||
capable: true,
|
||||
statusBarStyle: "default",
|
||||
title: "StripStream",
|
||||
},
|
||||
icons: {
|
||||
icon: [
|
||||
{
|
||||
url: "/favicon.svg",
|
||||
type: "image/svg+xml",
|
||||
},
|
||||
{ url: "/images/icons/icon-72x72.png", sizes: "72x72", type: "image/png" },
|
||||
{ url: "/images/icons/icon-96x96.png", sizes: "96x96", type: "image/png" },
|
||||
{ url: "/images/icons/icon-128x128.png", sizes: "128x128", type: "image/png" },
|
||||
{ url: "/images/icons/icon-144x144.png", sizes: "144x144", type: "image/png" },
|
||||
{ url: "/images/icons/icon-152x152.png", sizes: "152x152", type: "image/png" },
|
||||
{ url: "/images/icons/icon-192x192.png", sizes: "192x192", type: "image/png" },
|
||||
{ url: "/images/icons/icon-384x384.png", sizes: "384x384", type: "image/png" },
|
||||
{ url: "/images/icons/icon-512x512.png", sizes: "512x512", type: "image/png" },
|
||||
],
|
||||
apple: [
|
||||
{
|
||||
@@ -32,11 +47,26 @@ export const metadata: Metadata = {
|
||||
},
|
||||
],
|
||||
},
|
||||
manifest: "/manifest.json",
|
||||
appleWebApp: {
|
||||
capable: true,
|
||||
statusBarStyle: "default",
|
||||
title: "StripStream",
|
||||
viewport: {
|
||||
width: "device-width",
|
||||
initialScale: 1,
|
||||
maximumScale: 1,
|
||||
userScalable: false,
|
||||
},
|
||||
applicationName: "StripStream",
|
||||
generator: "Next.js",
|
||||
keywords: ["comics", "manga", "bd", "reader", "komga", "stripstream"],
|
||||
authors: [{ name: "Julien Froidefond" }],
|
||||
colorScheme: "dark light",
|
||||
formatDetection: {
|
||||
telephone: false,
|
||||
},
|
||||
other: {
|
||||
"mobile-web-app-capable": "yes",
|
||||
"apple-mobile-web-app-capable": "yes",
|
||||
"apple-mobile-web-app-status-bar-style": "black-translucent",
|
||||
"msapplication-TileColor": "#4F46E5",
|
||||
"msapplication-tap-highlight": "no",
|
||||
},
|
||||
};
|
||||
|
||||
@@ -46,6 +76,49 @@ import ClientLayout from "@/components/layout/ClientLayout";
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="fr" suppressHydrationWarning>
|
||||
<head>
|
||||
{/* Splashscreens pour iOS */}
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
||||
href="/images/splash/splash-2048x2732.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
||||
href="/images/splash/splash-1668x2388.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
||||
href="/images/splash/splash-1536x2048.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
||||
href="/images/splash/splash-1125x2436.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
||||
href="/images/splash/splash-1242x2688.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
||||
href="/images/splash/splash-828x1792.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
||||
href="/images/splash/splash-750x1334.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-startup-image"
|
||||
media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)"
|
||||
href="/images/splash/splash-1242x2208.png"
|
||||
/>
|
||||
</head>
|
||||
<body className={inter.className}>
|
||||
<ClientLayout>{children}</ClientLayout>
|
||||
</body>
|
||||
|
||||
28
src/app/not-found.tsx
Normal file
28
src/app/not-found.tsx
Normal file
@@ -0,0 +1,28 @@
|
||||
import Link from "next/link";
|
||||
import { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Page non trouvée - StripStream",
|
||||
description: "La page que vous recherchez n'existe pas ou a été déplacée.",
|
||||
robots: {
|
||||
index: false,
|
||||
follow: true,
|
||||
},
|
||||
};
|
||||
|
||||
export default function NotFound() {
|
||||
return (
|
||||
<div className="container flex flex-col items-center justify-center min-h-[calc(100vh-theme(spacing.14))] space-y-4 text-center">
|
||||
<h1 className="text-4xl font-bold">404 - Page non trouvée</h1>
|
||||
<p className="text-muted-foreground max-w-[600px]">
|
||||
Désolé, la page que vous recherchez n'existe pas ou a été déplacée.
|
||||
</p>
|
||||
<Link
|
||||
href="/"
|
||||
className="inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
|
||||
>
|
||||
Retour à l'accueil
|
||||
</Link>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user