"use client" import { useState } from "react" import { EmailList } from "./email-list" import { MessageList } from "./message-list" import { MessageView } from "./message-view" import { cn } from "@/lib/utils" interface Email { id: string address: string } export function ThreeColumnLayout() { const [selectedEmail, setSelectedEmail] = useState(null) const [selectedMessageId, setSelectedMessageId] = useState(null) const columnClass = "border-2 border-primary/20 bg-background rounded-lg overflow-hidden flex flex-col" const headerClass = "p-2 border-b-2 border-primary/20 flex items-center justify-between shrink-0" const titleClass = "text-sm font-bold px-2" // 移动端视图逻辑 const getMobileView = () => { if (selectedMessageId) return "message" if (selectedEmail) return "emails" return "list" } const mobileView = getMobileView() return (
{/* 桌面端三栏布局 */}

我的邮箱

{selectedEmail ? ( {selectedEmail.address} ) : ( "选择邮箱查看消息" )}

{selectedEmail && (
)}

{selectedMessageId ? "邮件内容" : "选择邮件查看详情"}

{selectedEmail && selectedMessageId && (
setSelectedMessageId(null)} />
)}
{/* 移动端单栏布局 */}
{mobileView === "list" && ( <>

我的邮箱

{ setSelectedEmail(email) }} selectedEmailId={selectedEmail?.id} />
)} {mobileView === "emails" && selectedEmail && (
{selectedEmail.address}
)} {mobileView === "message" && selectedEmail && selectedMessageId && (
邮件内容
setSelectedMessageId(null)} />
)}
) }