'use client'; import { Card } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Mail, Search, Star, Inbox, Send, Archive, Trash } from "lucide-react" import { useState, useEffect } from "react" interface Email { id: number accountId: number from: string fromName: string to: string subject: string body: string date: string read: boolean starred: boolean category: string } export default function MailPage() { const [emails, setEmails] = useState([]) const [loading, setLoading] = useState(true) useEffect(() => { async function fetchEmails() { try { const res = await fetch('/api/mail') if (!res.ok) throw new Error('Failed to fetch emails') const data = await res.json() setEmails(data.messages) } catch (error) { console.error('Error fetching emails:', error) } finally { setLoading(false) } } fetchEmails() }, []) return (
{/* Sidebar */}
{/* Main Content */}
{loading ? (

Loading emails...

) : (
{emails.map((email) => (

{email.fromName}

{new Date(email.date).toLocaleDateString()}

{email.subject}

{email.body}

))}
)}
) }