feat: inject dynamic ThemeListener for fonts and colors

This commit is contained in:
AI Studio 2026-05-19 21:59:17 +00:00
parent cbdb0252aa
commit 5d748c9ada
3 changed files with 6 additions and 3 deletions

View file

@ -27,10 +27,11 @@ import { ScrollToTop } from './components/ScrollToTop';
export default function App() { export default function App() {
return ( return (
<HelmetProvider> <HelmetProvider>
<ThemeListener />
<BrowserRouter> <BrowserRouter>
<ScrollToTop /> <ScrollToTop />
<Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-white flex items-center justify-center font-mono text-[10px] uppercase tracking-widest text-tech-muted animate-pulse"> <Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-white flex items-center justify-center font-mono text-[10px] uppercase tracking-widest text-tech-muted animate-pulse">
<ThemeListener />loading_module...</div>}> loading_module...</div>}>
<Routes> <Routes>
<Route path="/" element={<Navigate to="/pt" replace />} /> <Route path="/" element={<Navigate to="/pt" replace />} />

View file

@ -27,10 +27,11 @@ import { ScrollToTop } from './components/ScrollToTop';
export default function App() { export default function App() {
return ( return (
<HelmetProvider> <HelmetProvider>
<ThemeListener />
<BrowserRouter> <BrowserRouter>
<ScrollToTop /> <ScrollToTop />
<Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-black flex items-center justify-center font-mono text-[10px] font-black uppercase tracking-[0.5em] text-tech-primary animate-pulse italic"> <Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-black flex items-center justify-center font-mono text-[10px] font-black uppercase tracking-[0.5em] text-tech-primary animate-pulse italic">
<ThemeListener />VANTA_KERN_INIT...</div>}> VANTA_KERN_INIT...</div>}>
<Routes> <Routes>
<Route path="/" element={<Navigate to="/pt" replace />} /> <Route path="/" element={<Navigate to="/pt" replace />} />

View file

@ -30,10 +30,11 @@ import { ScrollToTop } from './components/ScrollToTop';
export default function App() { export default function App() {
return ( return (
<HelmetProvider> <HelmetProvider>
<ThemeListener />
<BrowserRouter> <BrowserRouter>
<ScrollToTop /> <ScrollToTop />
<Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-black flex items-center justify-center font-mono text-[10px] font-black uppercase tracking-[0.5em] text-tech-primary animate-pulse italic"> <Suspense fallback={<div className="overflow-x-hidden min-h-screen bg-black flex items-center justify-center font-mono text-[10px] font-black uppercase tracking-[0.5em] text-tech-primary animate-pulse italic">
<ThemeListener />VANTA_KERN_INIT...</div>}> VANTA_KERN_INIT...</div>}>
<Routes> <Routes>
<Route path="/" element={<Navigate to="/pt" replace />} /> <Route path="/" element={<Navigate to="/pt" replace />} />