import { useNavigation, redirect, useNavigate } from 'react-router' import { fetchAuthSession } from 'aws-amplify/auth' import { AcademicCapIcon, PresentationChartLineIcon, UserGroupIcon, ShoppingBagIcon, Bars3BottomLeftIcon, } from '@heroicons/react/24/outline' import { NavLink } from 'react-router' import { Outlet } from 'react-router' import { Container } from '~/components/container' import { Smallest, Regular } from '~/components/logo' import { clsx } from 'clsx' import { UserMenu } from './_user-menu' export async function clientLoader() { const session = await fetchAuthSession() if (!session?.tokens?.idToken) { throw redirect('/auth') } } export default function Layout() { const navigation = useNavigation() const isNavigating = Boolean(navigation.location) return (
{/* Mobile menu button */}
{isNavigating ? : }
) } function Link({ children, icon: Icon, ...props }) { return (
  • {children}
  • ) } function Loading() { return (
    ) } function Logo({ className }) { return (
    {/* */}
    ) }