Files
6fe0361a-c9de-41f2-b69b-673…/src/components/Layout.tsx
2026-06-14 01:28:25 +00:00

112 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": "Services",
"href": "#services"
},
{
"name": "Reviews",
"href": "#reviews"
},
{
"name": "Location",
"href": "#location"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Why Choose Us",
"href": "#why-choose-us"
},
{
"name": "Team",
"href": "#team"
},
{
"name": "Gallery",
"href": "#gallery"
}
];
return (
<StyleProvider buttonVariant="stagger" siteBackground="gridDots" heroBackground="lightRaysCenter">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="Tashkent Barber Shop"
logoImageSrc="https://images.unsplash.com/photo-1585747860715-2ba37e788b70?w=150&h=150&fit=crop&q=80"
ctaButton={{
text: "Call Now",
href: "tel:2674666666",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
brand="Tashkent Barber Shop"
columns={[
{
title: "Services",
items: [
{
label: "Men's Cuts",
href: "#services",
},
{
label: "Beard Trims",
href: "#services",
},
{
label: "Line-Ups",
href: "#services",
},
],
},
{
title: "Support",
items: [
{
label: "Call Us",
href: "tel:2674666666",
},
{
label: "Directions",
href: "https://maps.google.com",
},
{
label: "Appointments",
href: "#contact",
},
],
},
]}
copyright="© 2024 Tashkent Barber Shop. All rights reserved."
links={[
{
label: "Privacy Policy",
href: "#",
},
{
label: "Terms",
href: "#",
},
]}
imageSrc="http://img.b2bpic.net/free-vector/vintage-style-hipster-labels_1009-114.jpg"
/>
</SectionErrorBoundary>
</StyleProvider>
);
}