import { FeatherIcon } from "@phosphor-icons/react"; import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { DrawerSection } from "../components/drawer/DrawerSection.tsx"; import { LetterItem } from "../components/drawer/LetterItem.tsx"; import { PasskeyModal } from "../components/drawer/PasskeyModal.tsx"; import Logo from "../components/Logo"; import Saajan from "../components/ui/Saajan.tsx"; import { PATHS } from "../config/routes"; import { useAuth } from "../hooks/useAuth"; import { useLetters } from "../hooks/useLetters"; import { formatRelativeDate, formatRelativeDateWithoutTime, } from "../utils/dateFormat.ts"; export default function Drawer() { const { user, logout, unlock } = useAuth(); const [openSection, setOpenSection] = useState(null); const navigate = useNavigate(); const { drafts, kept, sent, vault, loading, isAuthRequired } = useLetters(); if (!user) return null; const toggleSection = (id: string) => setOpenSection(openSection === id ? null : id); return (
{isAuthRequired && }
Personal Archive
Welcome Back{" "} {user.full_name}
{loading ? (
Opening your cabinet...
) : ( <> toggleSection("drafts")} > {drafts.map((draft) => ( ))} toggleSection("kept")} > {kept.map((letter) => ( ))} toggleSection("sent")} > {sent.map((letter) => ( ))} {sent.length === 0 && (

This drawer remains silent

)}
toggleSection("vault")} > {vault.map((letter) => ( new Date().toISOString()} /> ))} )}
For your unsaid.
); }