79 lines
1.8 KiB
TypeScript
79 lines
1.8 KiB
TypeScript
import FooterMinimal from '@/components/sections/footer/FooterMinimal';
|
|
import NavbarCentered from '@/components/ui/NavbarCentered';
|
|
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
|
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
|
|
import { Facebook, Instagram, Twitter } from "lucide-react";
|
|
import { Outlet } from 'react-router-dom';
|
|
import { StyleProvider } from "@/components/ui/StyleProvider";
|
|
|
|
export default function Layout() {
|
|
const navItems = [
|
|
{
|
|
"name": "Home",
|
|
"href": "#hero"
|
|
},
|
|
{
|
|
"name": "Programs",
|
|
"href": "#programs"
|
|
},
|
|
{
|
|
"name": "Plans",
|
|
"href": "#pricing"
|
|
},
|
|
{
|
|
"name": "Contact",
|
|
"href": "#contact"
|
|
},
|
|
{
|
|
"name": "About",
|
|
"href": "#about"
|
|
},
|
|
{
|
|
"name": "Why Us",
|
|
"href": "#why-us"
|
|
},
|
|
{
|
|
"name": "Gallery",
|
|
"href": "#gallery"
|
|
}
|
|
];
|
|
|
|
return (
|
|
<StyleProvider buttonVariant="elastic" siteBackground="floatingGradient" heroBackground="lightRaysCenter">
|
|
<SiteBackgroundSlot />
|
|
<SectionErrorBoundary name="navbar">
|
|
<NavbarCentered
|
|
logo="Cross Fit"
|
|
ctaButton={{
|
|
text: "Join Now",
|
|
href: "#contact",
|
|
}}
|
|
navItems={navItems} />
|
|
</SectionErrorBoundary>
|
|
<main className="flex-grow">
|
|
<Outlet />
|
|
</main>
|
|
<SectionErrorBoundary name="footer">
|
|
<FooterMinimal
|
|
brand="Cross Fit Fitness Center"
|
|
copyright="© 2024 Cross Fit Fitness Center. All rights reserved."
|
|
socialLinks={[
|
|
{
|
|
icon: Instagram,
|
|
href: "#",
|
|
},
|
|
{
|
|
icon: Facebook,
|
|
href: "#",
|
|
},
|
|
{
|
|
icon: Twitter,
|
|
href: "#",
|
|
},
|
|
]}
|
|
/>
|
|
</SectionErrorBoundary>
|
|
</StyleProvider>
|
|
);
|
|
}
|