Files
memegoat/frontend/src/app/layout.tsx
Mathis HERRIOT 0e9edd4bfc feat(app): enhance metadata and add admin sidebar section
Update app metadata with multilingual support, SEO improvements, and structured OpenGraph and Twitter metadata. Add an "Administration" section in the sidebar for authenticated admin users. Improve role display and enable dynamic sorting in `HomeContent`. Extend UI badges with a success variant.
2026-01-14 21:44:25 +01:00

72 lines
1.8 KiB
TypeScript

import type { Metadata } from "next";
import { Ubuntu_Mono, Ubuntu_Sans } from "next/font/google";
import { Toaster } from "@/components/ui/sonner";
import { AuthProvider } from "@/providers/auth-provider";
import "./globals.css";
const ubuntuSans = Ubuntu_Sans({
variable: "--font-ubuntu-sans",
subsets: ["latin"],
});
const ubuntuMono = Ubuntu_Mono({
variable: "--font-geist-mono",
weight: ["400", "700"],
subsets: ["latin"],
});
export const metadata: Metadata = {
title: {
default: "MemeGoat | Partagez vos meilleurs mèmes",
template: "%s | MemeGoat",
},
description:
"MemeGoat est la plateforme ultime pour découvrir, créer et partager les mèmes les plus drôles de la communauté des chèvres.",
keywords: ["meme", "drôle", "goat", "chèvre", "humour", "partage", "gif"],
authors: [{ name: "MemeGoat Team" }],
creator: "MemeGoat Team",
openGraph: {
type: "website",
locale: "fr_FR",
url: "https://memegoat.local",
siteName: "MemeGoat",
title: "MemeGoat | Partagez vos meilleurs mèmes",
description:
"La plateforme ultime pour les mèmes. Rejoignez le troupeau !",
images: [
{
url: "/memegoat-og.png",
width: 1200,
height: 630,
alt: "MemeGoat",
},
],
},
twitter: {
card: "summary_large_image",
title: "MemeGoat | Partagez vos meilleurs mèmes",
description: "La plateforme ultime pour les mèmes. Rejoignez le troupeau !",
images: ["/memegoat-og.png"],
},
icons: "/memegoat-color.svg",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="fr" suppressHydrationWarning>
<body
className={`${ubuntuSans.variable} ${ubuntuMono.variable} antialiased`}
>
<AuthProvider>
{children}
<Toaster />
</AuthProvider>
</body>
</html>
);
}