Make the template match the atom theme, not just approximate it: - Add Tailwind v4 (+forms/typography plugins, postcss) and port the real atom CSS (global.css + atom app.css) into globals.css: nav-item underline, currency + navigation icon classes, site-bg, card-base/hover-lift, text utils — asset paths adapted to /assets. - Copy the real theme assets (backgrounds, icons/currency/navigation, profile, leaderboards) into public/assets. - Rebuild the shell 1:1 from the atom Blade: TopHeader (currency pills + user/admin dropdowns, auth-only), SiteHeader (header image + black/50 overlay, logo+online+Nitro client / guest Login+Create-account CTA), Navigation (white bar, nav-item + Community/Assistance dropdowns), Footer. ThemeVars injects the DB-driven CSS custom properties into :root like app.blade.php. Layout uses the atom body/site-bg + grid-cols-12 max-w-7xl content wrapper. Verified: tsc 0, next build exit 0; curl confirms the atom markup, compiled CSS references the assets, and background-light.jpg + currency/navigation icons all serve 200.
18 lines
610 B
TypeScript
18 lines
610 B
TypeScript
import { siteSettings } from "@/lib/services/site-settings";
|
|
|
|
export async function SiteFooter() {
|
|
const hotelName = await siteSettings.get("hotel_name", "Atom");
|
|
const year = new Date().getFullYear();
|
|
|
|
return (
|
|
<footer
|
|
className="mt-auto flex h-14 w-full flex-col items-center justify-center text-sm md:flex-row md:px-8"
|
|
style={{ backgroundColor: "var(--color-surface)", color: "var(--color-text-muted)" }}
|
|
>
|
|
<div className="md:font-semibold text-[12px] md:text-[14px]">
|
|
© {year} - {hotelName} is a not for profit educational project
|
|
</div>
|
|
</footer>
|
|
);
|
|
}
|