Files
917e5cb0-ad58-4002-8bb9-2b7…/src/components/Layout.tsx
kudinDmitriyUp 8f854839a0 Initial commit
2026-06-07 22:21:04 +00:00

131 lines
2.8 KiB
TypeScript

import FooterSimpleCard from '@/components/sections/footer/FooterSimpleCard';
import NavbarDropdown from '@/components/ui/NavbarDropdown';
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": "Home",
"href": "#hero"
},
{
"name": "About",
"href": "#about"
},
{
"name": "Amenities",
"href": "#amenities"
},
{
"name": "Rooms",
"href": "#rooms"
},
{
"name": "Testimonials",
"href": "#testimonials"
},
{
"name": "Contact",
"href": "#contact"
},
{
"name": "Metrics",
"href": "#metrics"
}
];
return (
<StyleProvider buttonVariant="arrow" siteBackground="noise" heroBackground="gradientBars">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarDropdown
logo="Hotel Luxe"
ctaButton={{
text: "Book Now",
href: "#contact",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleCard
brand="Hotel Luxe"
columns={[
{
title: "About Us",
items: [
{
label: "Our Story",
href: "#about",
},
{
label: "Careers",
href: "#",
},
{
label: "Press",
href: "#",
},
],
},
{
title: "Services",
items: [
{
label: "Rooms & Suites",
href: "#rooms",
},
{
label: "Dining",
href: "#",
},
{
label: "Spa & Wellness",
href: "#amenities",
},
{
label: "Events",
href: "#",
},
],
},
{
title: "Guest Info",
items: [
{
label: "FAQs",
href: "#",
},
{
label: "Contact",
href: "#contact",
},
{
label: "Location",
href: "#",
},
],
},
]}
copyright="© 2024 Hotel Luxe. All rights reserved."
links={[
{
label: "Privacy Policy",
href: "#",
},
{
label: "Terms of Service",
href: "#",
},
]}
/>
</SectionErrorBoundary>
</StyleProvider>
);
}