Files
5ac3152b-7db3-45e4-b57c-330…/src/components/Layout.tsx
2026-06-13 21:46:13 +00:00

108 lines
2.5 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": "Services",
"href": "#services"
},
{
"name": "About",
"href": "#about"
},
{
"name": "Testimonials",
"href": "#testimonials"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Metrics",
"href": "#metrics"
},
{
"name": "Partners",
"href": "#partners"
},
{
"name": "Faq",
"href": "#faq"
}
];
return (
<StyleProvider buttonVariant="bubble" siteBackground="noise" heroBackground="lightRaysCenter">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="JM Roofing"
logoImageSrc="https://images.unsplash.com/photo-1633409361618-c73427e4e206?auto=format&fit=crop&w=800&q=80"
ctaButton={{
text: "Get Quote",
href: "#contact",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
brand="JM Roofing 3rd Generation"
columns={[
{
title: "Company",
items: [
{
label: "About Us",
href: "#about",
},
{
label: "Services",
href: "#services",
},
{
label: "Contact",
href: "#contact",
},
],
},
{
title: "Legal",
items: [
{
label: "Privacy Policy",
href: "#",
},
{
label: "Terms of Service",
href: "#",
},
],
},
]}
copyright="© 2024 JM Roofing 3rd Generation. All rights reserved."
links={[
{
label: "Facebook",
href: "#",
},
{
label: "LinkedIn",
href: "#",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/3d-geometric-weave-abstract-wallpaper-background_1048-8673.jpg"
/>
</SectionErrorBoundary>
</StyleProvider>
);
}