clean Navigation Bar 4

This commit is contained in:
alma 2025-04-17 15:35:51 +02:00
parent e27e9c97bd
commit afda88d673
3 changed files with 2 additions and 90 deletions

View File

@ -1,88 +0,0 @@
"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, isLoading, 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 (isLoading) {
return (
<div className="flex items-center justify-center h-screen">
<div className="text-center">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900"></div>
<p className="mt-4 text-gray-600">Chargement des courriers...</p>
</div>
</div>
);
}
if (error) {
return (
<div className="flex items-center justify-center h-screen">
<div className="text-center">
<p className="text-red-600">Erreur: {error}</p>
<button
onClick={handleRefresh}
className="mt-4 px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"
>
Réessayer
</button>
</div>
</div>
);
}
return (
<div className="flex flex-col h-screen">
<MailToolbar
onRefresh={handleRefresh}
onCompose={handleCompose}
onSearch={handleSearch}
/>
<div className="flex-1 overflow-auto">
<MailList
mails={mails}
onMailClick={handleMailClick}
/>
</div>
</div>
);
}

View File

@ -242,7 +242,7 @@ export function MainNav() {
<PenLine className='w-5 h-5' />
<span className="sr-only">Notes</span>
</Link>
<Link href='/courrier' className='text-white/80 hover:text-white'>
<Link href='/mail' className='text-white/80 hover:text-white'>
<Mail className='w-5 h-5' />
<span className="sr-only">Courrier</span>
</Link>

View File

@ -77,7 +77,7 @@ export function Sidebar({ isOpen, onClose }: SidebarProps) {
{
title: "Courrier",
icon: Mail,
href: "/courrier",
href: "/mail",
iframe: "https://lab.slm-lab.net/courrier",
},
{