Files
93ea8906-4688-4c45-81d6-69f…/src/components/Layout.tsx

83 lines
2.4 KiB
TypeScript

import FooterSimpleMedia from '@/components/sections/footer/FooterSimpleMedia';
import NavbarFloatingLogo from '@/components/ui/NavbarFloatingLogo';
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": "About", "href": "#about"
},
{
"name": "Menu", "href": "#products"
},
{
"name": "Testimonials", "href": "#testimonials"
},
{
"name": "Contact", "href": "#contact"
},
{
"name": "Hero", "href": "#hero"
},
{
"name": "Features", "href": "#features"
},
{
"name": "Social", "href": "#social"
}
];
return (
<StyleProvider buttonVariant="stagger" siteBackground="noise" heroBackground="gradientBars">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Black Toque"
logoImageSrc="http://img.b2bpic.net/free-vector/retro-bakery-logo-concept_23-2148496816.jpg"
ctaButton={{
text: "Order Online", href: "#contact"}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
imageSrc="http://img.b2bpic.net/free-photo/woman-blue-hat-sits-windowsill-cafe_8353-194.jpg"
brand="Black Toque Patisserie"
columns={[
{
title: "Navigation", items: [
{
label: "About", href: "#about"},
{
label: "Menu", href: "#products"},
{
label: "Contact", href: "#contact"},
],
},
{
title: "Legal", items: [
{
label: "Privacy Policy", href: "#"},
{
label: "Terms of Service", href: "#"},
],
},
]}
copyright="© 2024 Black Toque Patisserie. All rights reserved."
links={[
{
label: "Instagram", href: "#"},
{
label: "Facebook", href: "#"},
]}
/>
</SectionErrorBoundary>
</StyleProvider>
);
}