This commit is contained in:
Timo Knuth
2026-02-27 15:19:24 +01:00
parent b7f8221095
commit 253c3c1c6d
134 changed files with 11188 additions and 1871 deletions

View File

@@ -1,15 +1,50 @@
import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import { Inter, Outfit } from 'next/font/google'
import './globals.css'
import { Providers } from './providers'
import { prisma } from '@innungsapp/shared'
import { getTenantSlug } from '@/lib/tenant'
const inter = Inter({ subsets: ['latin'] })
const inter = Inter({ subsets: ['latin'], variable: '--font-inter' })
const outfit = Outfit({ subsets: ['latin'], variable: '--font-outfit' })
export const metadata: Metadata = {
title: 'InnungsApp PRO | Die moderne Vereinssoftware für das Handwerk',
description: 'Zettelwirtschaft war gestern. Reduzieren Sie den Verwaltungsaufwand Ihrer Innung um 10 Std/Woche. Die perfekte Handwerk Software inkl. CRM & App. Kontaktieren Sie uns für eine Beratung!',
export async function generateMetadata(): Promise<Metadata> {
const slug = await getTenantSlug()
let org = null
if (slug) {
org = await prisma.organization.findUnique({
where: { slug }
})
}
const title = org ? `${org.name} | InnungsApp` : 'InnungsApp PRO | Die moderne Vereinssoftware fuer das Handwerk'
const description = org
? `Willkommen im offiziellen Portal der ${org.name}.`
: 'Digitale Mitgliederverwaltung, Push-News und Lehrlingsboerse fuer Handwerksinnungen.'
const icon = org?.logoUrl || '/favicon.ico'
return {
title,
description,
icons: {
icon: icon,
},
metadataBase: new URL('https://innungsapp.com'),
openGraph: {
title,
description,
url: 'https://innungsapp.com',
siteName: 'InnungsApp PRO',
locale: 'de_DE',
type: 'website',
images: [{ url: org?.logoUrl || '/mobile-mockup.png' }],
},
}
}
// Default export remains the component, but we remove the static metadata object below
export default function RootLayout({
children,
}: {
@@ -17,7 +52,7 @@ export default function RootLayout({
}) {
return (
<html lang="de">
<body className={inter.className}>
<body className={`${inter.variable} ${outfit.variable} font-sans bg-gray-50`}>
<Providers>{children}</Providers>
</body>
</html>