111 lines
2.5 KiB
TypeScript
111 lines
2.5 KiB
TypeScript
import FooterSimpleMedia from '@/components/sections/footer/FooterSimpleMedia';
|
|
import NavbarInline from '@/components/ui/NavbarInline';
|
|
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": "Portfolio",
|
|
"href": "#portfolio"
|
|
},
|
|
{
|
|
"name": "Testimonials",
|
|
"href": "#testimonials"
|
|
},
|
|
{
|
|
"name": "Hero",
|
|
"href": "#hero"
|
|
},
|
|
{
|
|
"name": "About",
|
|
"href": "#about"
|
|
},
|
|
{
|
|
"name": "Metrics",
|
|
"href": "#metrics"
|
|
},
|
|
{
|
|
"name": "Contact",
|
|
"href": "#contact"
|
|
}
|
|
];
|
|
|
|
return (
|
|
<StyleProvider buttonVariant="bounce" siteBackground="noise" heroBackground="gradientBars">
|
|
<SiteBackgroundSlot />
|
|
<SectionErrorBoundary name="navbar">
|
|
<NavbarInline
|
|
logo="Nailed it by Fox"
|
|
ctaButton={{
|
|
text: "Call Now",
|
|
href: "tel:2018871546",
|
|
}}
|
|
navItems={navItems} />
|
|
</SectionErrorBoundary>
|
|
<main className="flex-grow">
|
|
<Outlet />
|
|
</main>
|
|
<SectionErrorBoundary name="footer">
|
|
<FooterSimpleMedia
|
|
brand="Nailed it by Fox LLC"
|
|
columns={[
|
|
{
|
|
title: "Services",
|
|
items: [
|
|
{
|
|
label: "Repairs",
|
|
href: "#services",
|
|
},
|
|
{
|
|
label: "Renovations",
|
|
href: "#services",
|
|
},
|
|
{
|
|
label: "Carpentry",
|
|
href: "#services",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
title: "Quick Links",
|
|
items: [
|
|
{
|
|
label: "About",
|
|
href: "#about",
|
|
},
|
|
{
|
|
label: "Portfolio",
|
|
href: "#portfolio",
|
|
},
|
|
{
|
|
label: "Contact",
|
|
href: "#contact",
|
|
},
|
|
],
|
|
},
|
|
]}
|
|
copyright="© 2024 Nailed it by Fox. All rights reserved."
|
|
links={[
|
|
{
|
|
label: "Privacy Policy",
|
|
href: "#",
|
|
},
|
|
{
|
|
label: "Terms of Service",
|
|
href: "#",
|
|
},
|
|
]}
|
|
imageSrc="https://storage.googleapis.com/webild/users/user_3FBkeWDMaIHQmQfACHLrAQNfEvo/uploaded-1781556077193-n8qm4dqe.png?_wi=3"
|
|
/>
|
|
</SectionErrorBoundary>
|
|
</StyleProvider>
|
|
);
|
|
}
|