Files
chorus-services-website/app/layout.tsx
anthonyrawlins f343f89d24 Initial commit: CHORUS Services marketing website
Complete Next.js website with Docker containerization:
- Next.js 14 with TypeScript and Tailwind CSS
- Responsive design with modern UI components
- Hero section, features showcase, testimonials
- FAQ section with comprehensive content
- Contact forms and newsletter signup
- Docker production build with Nginx
- Health checks and monitoring support
- SEO optimization and performance tuning

Ready for integration as git submodule in main CHORUS project.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 22:45:06 +10:00

138 lines
4.4 KiB
TypeScript

import type { Metadata } from 'next';
import { ConfigProvider } from 'antd';
import { chorusTheme } from '@/theme/chorusTheme';
import './globals.css';
export const metadata: Metadata = {
title: {
default: 'CHORUS Services - Distributed AI Orchestration Platform',
template: '%s | CHORUS Services',
},
description: 'Harness the power of distributed AI with CHORUS Services. Orchestrate WHOOSH, BZZZ, SLURP, and COOEE components for scalable, intelligent automation.',
keywords: [
'AI orchestration',
'distributed AI',
'automation platform',
'CHORUS',
'WHOOSH',
'BZZZ',
'SLURP',
'COOEE',
'artificial intelligence',
'machine learning',
'workflow automation',
],
authors: [{ name: 'CHORUS Services Team' }],
creator: 'CHORUS Services',
publisher: 'CHORUS Services',
openGraph: {
type: 'website',
locale: 'en_US',
url: 'https://chorus.services',
siteName: 'CHORUS Services',
title: 'CHORUS Services - Distributed AI Orchestration Platform',
description: 'Harness the power of distributed AI with CHORUS Services. Orchestrate intelligent components for scalable automation.',
images: [
{
url: '/og-image.png',
width: 1200,
height: 630,
alt: 'CHORUS Services Platform',
},
],
},
twitter: {
card: 'summary_large_image',
title: 'CHORUS Services - Distributed AI Orchestration',
description: 'Harness the power of distributed AI with CHORUS Services.',
images: ['/og-image.png'],
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
verification: {
google: '', // Add Google Search Console verification code
yandex: '', // Add Yandex verification code if needed
},
icons: {
icon: '/favicon.ico',
shortcut: '/favicon-16x16.png',
apple: '/apple-touch-icon.png',
},
manifest: '/manifest.json',
viewport: {
width: 'device-width',
initialScale: 1,
maximumScale: 5,
},
themeColor: [
{ media: '(prefers-color-scheme: light)', color: '#007aff' },
{ media: '(prefers-color-scheme: dark)', color: '#1a1a1a' },
],
};
interface RootLayoutProps {
children: React.ReactNode;
}
export default function RootLayout({ children }: RootLayoutProps) {
return (
<html lang="en" className="dark" suppressHydrationWarning>
<head>
{/* Preconnect to external domains for performance */}
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="" />
{/* DNS prefetch for better performance */}
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
{/* Viewport meta tag for proper mobile rendering */}
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
{/* Additional meta tags for better SEO and user experience */}
<meta name="format-detection" content="telephone=no" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
{/* Structured data for better SEO */}
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'Organization',
name: 'CHORUS Services',
description: 'Distributed AI Orchestration Platform',
url: 'https://chorus.services',
logo: 'https://chorus.services/logo.png',
sameAs: [
// Add social media links when available
],
contactPoint: {
'@type': 'ContactPoint',
contactType: 'Customer Service',
url: 'https://chorus.services/contact',
},
}),
}}
/>
</head>
<body className="antialiased bg-chorus-charcoal text-white">
<ConfigProvider theme={chorusTheme}>
<div className="min-h-screen flex flex-col">
{children}
</div>
</ConfigProvider>
</body>
</html>
);
}