40 lines
1.5 KiB
TypeScript
40 lines
1.5 KiB
TypeScript
import type { Metadata } from 'next'
|
|
import { Inter, JetBrains_Mono } from 'next/font/google'
|
|
import './globals.css'
|
|
|
|
const inter = Inter({
|
|
subsets: ['latin'],
|
|
variable: '--font-inter',
|
|
display: 'swap',
|
|
})
|
|
|
|
const mono = JetBrains_Mono({
|
|
subsets: ['latin'],
|
|
variable: '--font-mono',
|
|
display: 'swap',
|
|
})
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'ConfigVault — Centralized Remote Config & Secret Manager',
|
|
description: 'Enterprise-grade centralized remote configuration and secret management for mobile & web apps.',
|
|
}
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="en" className={`${inter.variable} ${mono.variable} dark`}>
|
|
<body className="min-h-screen bg-[#080B11] text-slate-100 font-sans relative overflow-x-hidden">
|
|
{/* Background ambient lighting */}
|
|
<div className="fixed inset-0 pointer-events-none z-0 overflow-hidden">
|
|
<div className="absolute -top-40 left-1/2 -translate-x-1/2 w-[800px] h-[400px] bg-emerald-500/10 rounded-full blur-[130px] opacity-70" />
|
|
<div className="absolute top-1/3 -left-40 w-[600px] h-[400px] bg-cyan-500/5 rounded-full blur-[140px] opacity-50" />
|
|
<div className="absolute bottom-10 -right-40 w-[600px] h-[400px] bg-emerald-600/5 rounded-full blur-[140px] opacity-50" />
|
|
<div className="absolute inset-0 bg-grid-pattern opacity-60" />
|
|
</div>
|
|
<div className="relative z-10">
|
|
{children}
|
|
</div>
|
|
</body>
|
|
</html>
|
|
)
|
|
}
|