Faithful port of AtomCMS's "atom" theme look (light, Habbo-retro, golden #eeb425 / amber #f59e0b accents, white cards, 12px radii, Nunito-first stack): - globals.css: full token set + components (.site-header/.nav-item, .btn-*, .card, .hero, currency pills, article cards, inputs, tables, footer). - SiteHeader (brand + nav + currency pills + auth box, staff-aware) + SiteFooter; layout wraps header/content/footer. Removed the bare SiteNav. - Restyled home (hero + article cards), login (centered card). - siteSettings now falls back to DEFAULTS on missing key OR DB error, so pages render without a DB; DATABASE_CONNECT_TIMEOUT_MS env + pool acquireTimeout make the no-DB fallback fast. Verified in a real browser (computed styles): header white/sticky, golden logo gradient, uppercase nav, amber primary button @12px radius, golden outline, hero gradient — all correct. tsc exit 0, vitest 48/48, next build exit 0.
27 lines
759 B
TypeScript
27 lines
759 B
TypeScript
import type { Metadata } from "next";
|
|
import type { ReactNode } from "react";
|
|
import { SiteFooter } from "@/components/site-footer";
|
|
import { SiteHeader } from "@/components/site-header";
|
|
import "./globals.css";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "AtomCMS",
|
|
description: "AtomCMS — retro hotel CMS (Next.js conversion)",
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: ReactNode }) {
|
|
return (
|
|
<html lang="en">
|
|
<body>
|
|
<div style={{ display: "flex", flexDirection: "column", minHeight: "100vh" }}>
|
|
<SiteHeader />
|
|
<div className="container" style={{ flex: 1, width: "100%" }}>
|
|
{children}
|
|
</div>
|
|
<SiteFooter />
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|