import { Box, Container, IconButton } from '@chakra-ui/react'; import { ReactNode, useEffect, useState } from 'react'; import { FiChevronUp } from 'react-icons/fi'; import Navbar from '../Navbar'; import Footer from './Footer'; import { useAllPageElementConfigs } from '../../hooks/usePageElementConfig'; import SpartaNavbar from '../elements/SpartaNavbar'; interface MainLayoutProps { children: ReactNode; headerInsideContainer?: boolean; } export const MainLayout: React.FC = ({ children, headerInsideContainer = false }) => { const [showTop, setShowTop] = useState(false); const { getStyles, getVariant } = useAllPageElementConfigs('homepage'); const headerVariant = getVariant('header', 'unified'); useEffect(() => { const onScroll = () => { try { setShowTop(window.scrollY > 400); } catch {} }; window.addEventListener('scroll', onScroll, { passive: true } as any); onScroll(); return () => window.removeEventListener('scroll', onScroll as any); }, []); const scrollToTop = () => { try { window.scrollTo({ top: 0, behavior: 'smooth' }); } catch { window.scrollTo(0, 0); } }; return ( {headerInsideContainer ? ( <> {headerVariant === 'sparta_navbar' ? ( ) : ( )} {children}