import { Outlet, Link, NavLink } from "react-router-dom" import { useMemo } from "react" import dayjs from "dayjs" import { Dropdown } from "antd" import { FileTextOutlined, GithubOutlined, LockOutlined, LoginOutlined, } from "@ant-design/icons" import { AuthApi } from "@/api" import { useAppDispatch, useAppSelector } from "@/hooks/store" import { clearCurrentUser } from "@/store/auth-slice" import { useState } from "react" /** * Main application component that serves as the root layout. * Uses React Router's Outlet to render child routes. */ export default function HeroLayout() { const today = useMemo(() => dayjs(), []) const user = useAppSelector((state) => state.auth.user) const dispatch = useAppDispatch() const [isDropdownOpen, setIsDropdownOpen] = useState(false) async function handleLogout() { try { await AuthApi.logout() } finally { dispatch(clearCurrentUser()) } } return (