Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution
- Enhance API schema with expanded type definitions and resolvers
- Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth
- Implement new services: AI optimization, billing, blockchain, compliance, marketplace
- Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage)
- Update Crossplane provider with enhanced VM management capabilities
- Add comprehensive test suite for API endpoints and services
- Update frontend components with improved GraphQL subscriptions and real-time updates
- Enhance security configurations and headers (CSP, CORS, etc.)
- Update documentation and configuration files
- Add new CI/CD workflows and validation scripts
- Implement design system improvements and UI enhancements
2025-12-12 18:01:35 -08:00
|
|
|
import type { Metadata, Viewport } from 'next'
|
2025-11-28 12:54:33 -08:00
|
|
|
import { Inter } from 'next/font/google'
|
|
|
|
|
import './globals.css'
|
|
|
|
|
import { Providers } from './providers'
|
|
|
|
|
import { ErrorBoundary } from '@/components/error-boundary'
|
|
|
|
|
|
2026-03-29 13:40:56 -07:00
|
|
|
// Avoid SSG prerender failures (Apollo/client-only paths, lucide icons in server props).
|
|
|
|
|
export const dynamic = 'force-dynamic'
|
|
|
|
|
|
2025-11-28 12:54:33 -08:00
|
|
|
const inter = Inter({
|
|
|
|
|
subsets: ['latin'],
|
|
|
|
|
variable: '--font-inter',
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution
- Enhance API schema with expanded type definitions and resolvers
- Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth
- Implement new services: AI optimization, billing, blockchain, compliance, marketplace
- Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage)
- Update Crossplane provider with enhanced VM management capabilities
- Add comprehensive test suite for API endpoints and services
- Update frontend components with improved GraphQL subscriptions and real-time updates
- Enhance security configurations and headers (CSP, CORS, etc.)
- Update documentation and configuration files
- Add new CI/CD workflows and validation scripts
- Implement design system improvements and UI enhancements
2025-12-12 18:01:35 -08:00
|
|
|
title: {
|
|
|
|
|
default: "Sankofa's Phoenix Nexus Cloud",
|
|
|
|
|
template: "%s | Sankofa's Phoenix Nexus Cloud",
|
|
|
|
|
},
|
2025-11-28 12:54:33 -08:00
|
|
|
description: 'The sovereign cloud born of fire and ancestral wisdom.',
|
Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution
- Enhance API schema with expanded type definitions and resolvers
- Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth
- Implement new services: AI optimization, billing, blockchain, compliance, marketplace
- Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage)
- Update Crossplane provider with enhanced VM management capabilities
- Add comprehensive test suite for API endpoints and services
- Update frontend components with improved GraphQL subscriptions and real-time updates
- Enhance security configurations and headers (CSP, CORS, etc.)
- Update documentation and configuration files
- Add new CI/CD workflows and validation scripts
- Implement design system improvements and UI enhancements
2025-12-12 18:01:35 -08:00
|
|
|
metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000'),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Viewport configuration without maximum-scale and user-scalable for accessibility compliance
|
|
|
|
|
export const viewport: Viewport = {
|
|
|
|
|
width: 'device-width',
|
|
|
|
|
initialScale: 1,
|
|
|
|
|
// Note: maximum-scale and user-scalable removed per accessibility best practices
|
2025-11-28 12:54:33 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
|
children,
|
|
|
|
|
}: {
|
|
|
|
|
children: React.ReactNode
|
|
|
|
|
}) {
|
|
|
|
|
return (
|
|
|
|
|
<html lang="en" className="dark">
|
|
|
|
|
<body className={`${inter.variable} font-sans antialiased`}>
|
|
|
|
|
<ErrorBoundary>
|
|
|
|
|
<Providers>{children}</Providers>
|
|
|
|
|
</ErrorBoundary>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|