a34d406375
- Add user contribution system (memories, timeline entries) - Add AI content moderation with Ollama (bad word detection + qwen3:4b) - Add family photo/video upload with admin approval - Add candle lighting feature - Add timeline and recipe sections - Add QR code page and OG image - Add site authentication (password-protected access) - Add proxy middleware for auth routing - Add admin dashboard for content management - Remove email fields, make name optional (default: Anonym) - Add CI/CD pipeline for Gitea Actions - Add Docker deployment configuration - Optimize Ollama RAM usage (42GB → 2.9GB) - Fix API routes accessibility through proxy middleware Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
64 lines
1.6 KiB
TypeScript
64 lines
1.6 KiB
TypeScript
import type { Metadata } from 'next'
|
||
import { Cormorant_Garamond, Lora } from 'next/font/google'
|
||
import GlobalMusicPlayer from '@/components/GlobalMusicPlayer'
|
||
import './globals.css'
|
||
|
||
const cormorant = Cormorant_Garamond({
|
||
subsets: ['latin'],
|
||
weight: ['300', '400', '500', '600', '700'],
|
||
style: ['normal', 'italic'],
|
||
variable: '--font-cormorant',
|
||
display: 'swap',
|
||
})
|
||
|
||
const lora = Lora({
|
||
subsets: ['latin'],
|
||
weight: ['400', '500', '600', '700'],
|
||
style: ['normal', 'italic'],
|
||
variable: '--font-lora',
|
||
display: 'swap',
|
||
})
|
||
|
||
export const dynamic = 'force-dynamic'
|
||
|
||
export const metadata: Metadata = {
|
||
metadataBase: new URL(process.env.NEXT_PUBLIC_URL || 'http://localhost:3000'),
|
||
title: 'In Erinnerung an Maria Malejka',
|
||
description:
|
||
'Eine liebevolle Gedenkseite für Maria Malejka · 29. November 1944 – 10. Februar 2026',
|
||
openGraph: {
|
||
title: 'In Erinnerung an Maria Malejka',
|
||
description: '29. November 1944 – 10. Februar 2026',
|
||
type: 'website',
|
||
images: [
|
||
{
|
||
url: '/og-image.jpg',
|
||
width: 1200,
|
||
height: 630,
|
||
alt: 'In Erinnerung an Maria Malejka',
|
||
},
|
||
],
|
||
},
|
||
twitter: {
|
||
card: 'summary_large_image',
|
||
title: 'In Erinnerung an Maria Malejka',
|
||
description: '29. November 1944 – 10. Februar 2026',
|
||
images: ['/og-image.jpg'],
|
||
},
|
||
}
|
||
|
||
export default function RootLayout({
|
||
children,
|
||
}: {
|
||
children: React.ReactNode
|
||
}) {
|
||
return (
|
||
<html lang="de" className={`${cormorant.variable} ${lora.variable}`}>
|
||
<body className="font-lora antialiased">
|
||
{children}
|
||
<GlobalMusicPlayer />
|
||
</body>
|
||
</html>
|
||
)
|
||
}
|