Files
1ae3cc22-40a2-4be3-85a1-a7a…/src/components/Layout.tsx

91 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": "Home", "href": "#home"
},
{
"name": "Courses", "href": "#courses"
},
{
"name": "Pricing", "href": "#pricing"
},
{
"name": "Contact", "href": "#contact"
},
{
"name": "Features", "href": "#features"
},
{
"name": "Metrics", "href": "#metrics"
},
{
"name": "About", "href": "#about"
}
];
return (
<StyleProvider buttonVariant="magnetic" siteBackground="floatingGradient" heroBackground="lightRaysCenter">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarFloatingLogo
logo="EduPlatform"
logoImageSrc="https://img.b2bpic.net/free-photo/compass-geometric-icon-drawing-work_53876-144357.jpg"
ctaButton={{
text: "Get Started", href: "/auth"}}
navItems={navItems} />
</SectionErrorBoundary>
<main className="flex-grow">
<Outlet />
</main>
<SectionErrorBoundary name="footer">
<FooterSimpleMedia
imageSrc="http://img.b2bpic.net/free-photo/3d-abstract-background-with-cyber-dots-network-communications-motion-flow_1048-11865.jpg"
brand="EduPlatform"
columns={[
{
title: "Product", items: [
{
label: "Features", href: "#features"},
{
label: "Pricing", href: "#pricing"},
{
label: "Courses", href: "#courses"},
],
},
{
title: "Company", items: [
{
label: "About Us", href: "#about"},
{
label: "Contact", href: "#contact"},
],
},
{
title: "Legal", items: [
{
label: "Privacy", href: "#"},
{
label: "Terms", href: "#"},
],
},
],
copyright="© 2024 EduPlatform. All rights reserved."
links={[
{
label: "Privacy Policy", href: "#"},
{
label: "Terms of Service", href: "#"},
]}
/>
</SectionErrorBoundary>
</StyleProvider>
);
}