diff --git a/apps/frontend/.env.example b/apps/frontend/.env.example index de0295e..c820058 100644 --- a/apps/frontend/.env.example +++ b/apps/frontend/.env.example @@ -2,6 +2,9 @@ NEXT_PUBLIC_API_URL=http://localhost:4000 NEXT_PUBLIC_API_PREFIX=api/v1 +# App Configuration +NEXT_PUBLIC_APP_URL=http://localhost:3000 + # Authentication NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your-nextauth-secret-change-this-in-production diff --git a/apps/frontend/app/icon.svg b/apps/frontend/app/icon.svg new file mode 100644 index 0000000..0b97ef9 --- /dev/null +++ b/apps/frontend/app/icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/apps/frontend/app/layout.tsx b/apps/frontend/app/layout.tsx index 9fde1ea..20f8a86 100644 --- a/apps/frontend/app/layout.tsx +++ b/apps/frontend/app/layout.tsx @@ -4,8 +4,40 @@ import { manrope, montserrat } from '@/lib/fonts'; import { Providers } from '@/components/providers'; export const metadata: Metadata = { - title: 'Xpeditis - Maritime Freight Booking Platform', - description: 'Search, compare, and book maritime freight in real-time', + 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: '/icon.svg', + shortcut: '/icon.svg', + apple: '/icon.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/xpeditis-icon.svg', + width: 48, + height: 48, + alt: 'Xpeditis Logo', + }, + ], + }, + twitter: { + card: 'summary', + title: 'Xpeditis - Maritime Freight Booking Platform', + description: 'Search, compare, and book maritime freight in real-time', + images: ['/assets/logos/xpeditis-icon.svg'], + }, }; export default function RootLayout({ children }: { children: React.ReactNode }) { diff --git a/apps/frontend/public/manifest.json b/apps/frontend/public/manifest.json new file mode 100644 index 0000000..62fe932 --- /dev/null +++ b/apps/frontend/public/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "Xpeditis - Maritime Freight Booking", + "short_name": "Xpeditis", + "description": "Search, compare, and book maritime freight in real-time", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#10183A", + "icons": [ + { + "src": "/assets/logos/xpeditis-icon.svg", + "sizes": "any", + "type": "image/svg+xml", + "purpose": "any maskable" + } + ] +}