"use client"; import React, { useEffect, useState } from "react"; import Link from "next/link"; export type ThemeName = | "dark" | "retro" | "minimal" | "hacker" | "mystic" | "brutalist" | "terminal" | "zine" | "editorial" | "institutional" | "nature"; interface ThemedLayoutProps { children: React.ReactNode; theme: ThemeName; /** Legacy prop; use siteTitle if you prefer */ title?: string; siteTitle?: string; siteSubtitle?: string; } export default function ThemedLayout({ children, theme, title, siteTitle, siteSubtitle, }: ThemedLayoutProps) { const heading = siteTitle ?? title ?? "CyberLux"; const [nodeTag, setNodeTag] = useState(null); useEffect(() => { setNodeTag(Math.floor(Math.random() * 99999)); }, []); const themes: Record = { dark: "bg-black text-white font-sans", retro: "bg-[#222] text-[#0f0] font-mono border-4 border-double border-[#0f0]", minimal: "bg-[#0d0d0d] text-[#e6e6e6] font-serif border border-white/10", hacker: "bg-[#050505] text-[#00ff41] font-mono", mystic: "bg-[#1a0f1a] text-[#d4af37] font-serif italic", brutalist: "bg-[#111] text-[#f5f5f5] font-black uppercase border-[10px] border-[#f5f5f5]", terminal: "bg-[#000080] text-white font-mono", zine: "bg-[#1a1a1a] text-[#ff3366] font-sans border-y-8 border-[#ffff00]", editorial: "bg-[#121018] text-[#e8e4dc] font-serif border-x-[12px] border-double border-[#6b5c3d]/60", institutional: "bg-[#0c1e3d] text-[#e8eef7] font-sans border-t-4 border-[#c5a022]", nature: "bg-[#0d1f14] text-[#c8e6c9] font-serif border-b-8 border-[#2e7d32]", }; return (
{children}
); }