2025-06-03 16:56:25 +08:00

39 lines
1.1 KiB
TypeScript

"use client";
import ContentAnimation from '@/components/layouts/content-animation';
import Footer from '@/components/layouts/footer';
import Header from '@/components/layouts/header';
import MainContainer from '@/components/layouts/main-container';
import Overlay from '@/components/layouts/overlay';
import ScrollToTop from '@/components/layouts/scroll-to-top';
import Sidebar from '@/components/layouts/sidebar';
import Portals from '@/components/portals';
import withAuth from '@/hoc/withAuth'; // make sure this matches your export style
import { FC, ReactNode } from 'react';
interface DefaultLayoutProps {
children: ReactNode;
}
const DefaultLayout: FC<DefaultLayoutProps> = ({ children }) => {
return (
<div className="relative">
<Overlay />
<ScrollToTop />
<MainContainer>
<Sidebar />
<div className="main-content flex min-h-screen flex-col">
<Header />
<ContentAnimation>{children}</ContentAnimation>
<Footer />
<Portals />
</div>
</MainContainer>
</div>
);
};
export default withAuth(DefaultLayout);