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 (