Files
dd82fe8e-bf95-486d-8d10-6a9…/src/components/Layout.tsx

62 lines
2.2 KiB
TypeScript

import FooterSimple from '@/components/sections/footer/FooterSimple';
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: "Services", href: "#services" },
{ name: "About", href: "#about" },
{ name: "Reviews", href: "#reviews" },
{ name: "Contact", href: "#contact" },
{ name: "Hero", href: "#hero" },
{ name: "Gallery", href: "#gallery" },
{ name: "Metrics", href: "#metrics" }
];
return (
<StyleProvider buttonVariant="shift" siteBackground="floatingGradient" heroBackground="lightRaysCenter">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Castro Valley Roofing"
logoImageSrc="https://storage.googleapis.com/webild/default/no-image.jpg?id=dfxxlx"
ctaButton={{
text: "Get Quote", href: "#contact"}}
navItems={navItems}
/>
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimple
brand="Castro Valley Roofing"
columns={[
{
title: "Services", items: [
{ label: "Repair", href: "#services" },
{ label: "Installation", href: "#services" },
{ label: "Maintenance", href: "#services" },
],
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
],
},
]}
copyright="© 2024 Castro Valley Roofing. All rights reserved."
links={[
{ label: "Twitter", href: "#" },
{ label: "LinkedIn", href: "#" },
]}
/>
</SectionErrorBoundary>
</StyleProvider>
);
}