diff --git a/app/courrier/page.tsx b/app/courrier/page.tsx new file mode 100644 index 00000000..78ce372c --- /dev/null +++ b/app/courrier/page.tsx @@ -0,0 +1,88 @@ +"use client"; + +import { useEffect, useState } from "react"; +import { useSession } from "next-auth/react"; +import { useRouter } from "next/navigation"; +import { MailToolbar } from "@/components/mail/mail-toolbar"; +import { MailList } from "@/components/mail/mail-list"; +import { useMail } from "@/hooks/use-mail"; +import { Mail } from "@/types/mail"; + +export default function CourrierPage() { + const { data: session } = useSession(); + const router = useRouter(); + const { mails, loading, error, fetchMails } = useMail(); + const [searchQuery, setSearchQuery] = useState(""); + + useEffect(() => { + if (!session) { + router.push("/signin"); + return; + } + + // Check if we have mail credentials + const mailCredentials = localStorage.getItem("mailCredentials"); + if (mailCredentials) { + fetchMails(); + } + }, [session, router, fetchMails]); + + const handleRefresh = () => { + fetchMails(); + }; + + const handleCompose = () => { + // TODO: Implement compose functionality + }; + + const handleSearch = (query: string) => { + setSearchQuery(query); + }; + + const handleMailClick = (mail: Mail) => { + // TODO: Implement mail view functionality + }; + + if (loading) { + return ( +
Chargement des courriers...
+Erreur: {error}
+ +