app-shell.tsx 673 B

1234567891011121314151617181920
  1. import { Outlet } from 'react-router-dom'
  2. import Sidebar from './sidebar'
  3. import useIsCollapsed from '@/hooks/use-is-collapsed'
  4. import SkipToMain from './skip-to-main'
  5. export default function AppShell() {
  6. const [isCollapsed, setIsCollapsed] = useIsCollapsed()
  7. return (
  8. <div className='relative h-full overflow-hidden bg-background'>
  9. <SkipToMain />
  10. <Sidebar isCollapsed={isCollapsed} setIsCollapsed={setIsCollapsed} />
  11. <main
  12. id='content'
  13. className={`overflow-x-hidden pt-16 transition-[margin] md:overflow-y-hidden md:pt-0 ${isCollapsed ? 'md:ml-14' : 'md:ml-64'} h-full`}
  14. >
  15. <Outlet />
  16. </main>
  17. </div>
  18. )
  19. }