Files
deec65f8-d981-4d97-87f0-ed6…/src/components/Layout.tsx
2026-06-21 11:23:07 +00:00

109 lines
2.4 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": "Experience",
"href": "#about"
},
{
"name": "Menu",
"href": "#menu"
},
{
"name": "Testimonials",
"href": "#testimonials"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Stats",
"href": "#stats"
},
{
"name": "Faq",
"href": "#faq"
},
{
"name": "Contact",
"href": "#contact"
}
];
return (
<StyleProvider buttonVariant="magnetic" siteBackground="floatingGradient" heroBackground="lightRaysCenter">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarCentered
logo="La Grande Boucherie"
ctaButton={{
text: "Book Your Table",
href: "#contact",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterBasic
columns={[
{
title: "Location",
items: [
{
label: "123 Bistro Lane, Paris",
href: "#",
},
{
label: "Open Daily 12-10 PM",
href: "#",
},
],
},
{
title: "Company",
items: [
{
label: "About Us",
href: "#about",
},
{
label: "Careers",
href: "#",
},
{
label: "Press",
href: "#",
},
],
},
{
title: "Legal",
items: [
{
label: "Privacy Policy",
href: "#",
},
{
label: "Terms of Service",
href: "#",
},
],
},
]}
leftText="© 2024 La Grande Boucherie. All rights reserved."
rightText="Crafted with tradition."
/>
</SectionErrorBoundary>
</StyleProvider>
);
}