Files
8cc90f0c-37c8-426d-bab6-e88…/src/components/Layout.tsx
2026-06-24 15:01:50 +00:00

88 lines
1.9 KiB
TypeScript

import FooterBasic from '@/components/sections/footer/FooterBasic';
import NavbarCentered from '@/components/ui/NavbarCentered';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
import { Outlet } from 'react-router-dom';
import { StyleProvider } from "@/components/ui/StyleProvider";
export default function Layout() {
const navItems = [
{
"name": "Mempelai",
"href": "#mempelai"
},
{
"name": "Acara",
"href": "#acara"
},
{
"name": "Galeri",
"href": "#galeri"
},
{
"name": "Lokasi",
"href": "#lokasi"
},
{
"name": "Kirim Doa",
"href": "#doa"
},
{
"name": "Hero",
"href": "#hero"
}
];
return (
<StyleProvider buttonVariant="bubble" siteBackground="gridDots" heroBackground="gradientBars">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarCentered
logo="Amanda & Robert"
ctaButton={{
text: "Lihat di Kalender",
href: "#",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterBasic
columns={[
{
title: "Navigasi",
items: [
{
label: "Mempelai",
href: "#mempelai",
},
{
label: "Acara",
href: "#acara",
},
],
},
{
title: "Informasi",
items: [
{
label: "Lokasi",
href: "#lokasi",
},
{
label: "Galeri",
href: "#galeri",
},
],
},
]}
leftText="© 2025 Amanda & Robert Wedding"
rightText="Designed on Areone.org"
/>
</SectionErrorBoundary>
</StyleProvider>
);
}