xpeditis2.0/apps/frontend/app/layout.tsx
David d65cb721b5
Some checks are pending
CD Production (Hetzner k3s) / Promote Images (preprod → prod) (push) Waiting to run
CD Production (Hetzner k3s) / Deploy to k3s (xpeditis-prod) (push) Blocked by required conditions
CD Production (Hetzner k3s) / Smoke Tests (push) Blocked by required conditions
CD Production (Hetzner k3s) / Deployment Summary (push) Blocked by required conditions
CD Production (Hetzner k3s) / Notify Success (push) Blocked by required conditions
CD Production (Hetzner k3s) / Notify Failure (push) Blocked by required conditions
chore: sync full codebase from cicd branch
Aligns main with the complete application codebase (cicd branch).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 12:56:44 +02:00

52 lines
1.6 KiB
TypeScript

import type { Metadata } from 'next';
import './globals.css';
import { manrope, montserrat } from '@/lib/fonts';
import { Providers } from '@/components/providers';
export const metadata: Metadata = {
metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL || 'https://xpeditis.com'),
title: {
default: 'Xpeditis - Maritime Freight Booking Platform',
template: '%s | Xpeditis',
},
description: 'Search, compare, and book maritime freight in real-time. Get instant LCL shipping quotes and manage your shipments with Xpeditis.',
icons: {
icon: '/assets/logos/logo-black.svg',
shortcut: '/assets/logos/logo-black.svg',
apple: '/assets/logos/logo-black.svg',
},
manifest: '/manifest.json',
openGraph: {
type: 'website',
locale: 'fr_FR',
url: 'https://xpeditis.com',
siteName: 'Xpeditis',
title: 'Xpeditis - Maritime Freight Booking Platform',
description: 'Search, compare, and book maritime freight in real-time',
images: [
{
url: '/assets/logos/logo-black.svg',
width: 1875,
height: 1699,
alt: 'Xpeditis Logo',
},
],
},
twitter: {
card: 'summary_large_image',
title: 'Xpeditis - Maritime Freight Booking Platform',
description: 'Search, compare, and book maritime freight in real-time',
images: ['/assets/logos/logo-black.svg'],
},
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="fr" className={`${manrope.variable} ${montserrat.variable}`}>
<body className="font-body">
<Providers>{children}</Providers>
</body>
</html>
);
}