import { useEffect } from 'react'; import { useMailStore } from '../stores/mailStore'; import { useSessionStore } from '../stores/sessionStore'; import { useUIStore } from '../stores/uiStore'; import type { Mail } from '../types'; import { ShieldIcon, PaperclipIcon } from './icons'; export default function MailList() { const viewMode = useUIStore(s => s.viewMode); const cancelCompose = useUIStore(s => s.cancelCompose); const inbox = useMailStore(s => s.inbox); const sent = useMailStore(s => s.sent); const currentMail = useMailStore(s => s.currentMail); const selectMail = useMailStore(s => s.selectMail); const fetchInbox = useMailStore(s => s.fetchInbox); const fetchSent = useMailStore(s => s.fetchSent); const clearSession = useSessionStore(s => s.clearSession); useEffect(() => { if (viewMode === 'sent') fetchSent(); else if (viewMode === 'inbox') fetchInbox('all'); }, [viewMode]); const isSent = viewMode === 'sent'; const list = isSent ? sent : inbox; const pick = (m: Mail) => { clearSession(); cancelCompose(); selectMail(m); }; return (
暂无邮件
)}