Files
6944f41d-3f2a-42e7-9650-514…/src/components/Layout.tsx
2026-06-19 08:26:17 +00:00

117 lines
2.5 KiB
TypeScript

import FooterSimpleCard from '@/components/sections/footer/FooterSimpleCard';
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": "Home",
"href": "/"
},
{
"name": "How It Works",
"href": "#how-it-works"
},
{
"name": "Features",
"href": "#features"
},
{
"name": "About",
"href": "#about"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "Product Highlights",
"href": "#product-highlights"
},
{
"name": "Testimonials",
"href": "#testimonials"
}
];
return (
<StyleProvider buttonVariant="default" siteBackground="gridDots" heroBackground="cornerGlow">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarInline
logo="TruthBite AI"
ctaButton={{
text: "Scan Food",
href: "/scan",
}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleCard
brand="TruthBite AI"
columns={[
{
title: "Platform",
items: [
{
label: "Scan",
href: "/scan",
},
{
label: "Directory",
href: "/explore",
},
{
label: "Pricing",
href: "/pricing",
},
],
},
{
title: "Company",
items: [
{
label: "About",
href: "/about",
},
{
label: "Careers",
href: "/careers",
},
{
label: "Contact",
href: "/contact",
},
],
},
{
title: "Legal",
items: [
{
label: "Privacy",
href: "/privacy",
},
{
label: "Terms",
href: "/terms",
},
{
label: "Disclaimer",
href: "/disclaimer",
},
],
},
]}
copyright="© 2024 TruthBite AI. All rights reserved."
/>
</SectionErrorBoundary>
</StyleProvider>
);
}