Files
b3964325-6a7e-4db8-aebe-08b…/src/components/Layout.tsx

70 lines
2.6 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: "#menu" },
{ name: "Reviews", href: "#reviews" },
{ name: "Location", href: "#location" },
{ name: "Hero", href: "#hero" },
{ name: "Features", href: "#features" },
{ name: "Gallery", href: "#gallery" }
];
return (
<StyleProvider buttonVariant="shift" siteBackground="floatingGradient" heroBackground="gradientBars">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Soba Izakaya Saikai"
logoImageSrc="http://img.b2bpic.net/free-photo/woman-practicing-japanese-handwriting-indoors_23-2149124170.jpg"
ctaButton={{
text: "Reserve", href: "#reservation"}}
navItems={navItems}
/>
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
imageSrc="http://img.b2bpic.net/free-photo/view-mountain-with-dreamy-aesthetic_23-2151700210.jpg"
brand="Soba Izakaya Saikai"
columns={[
{
title: "Visit Us", items: [
{ label: "Miyakojima, Okinawa", href: "#" },
{ label: "Open Daily 5PM - 10PM", href: "#" },
],
},
{
title: "Menu", items: [
{ label: "Signature Soba", href: "#menu" },
{ label: "Miyako Beef", href: "#menu" },
{ label: "Local Specialties", href: "#menu" },
],
},
{
title: "Connect", items: [
{ label: "Reservations", href: "#reservation" },
{ label: "Instagram", href: "#" },
{ label: "Contact", href: "tel:0980000000" },
],
},
]}
copyright="© 2024 Soba Izakaya Saikai. All rights reserved."
links={[
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" }
]}
/>
</SectionErrorBoundary>
</StyleProvider>
);
}