'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import { useToast } from '@/components/ui/Toast' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card' import { Button } from '@/components/ui/Button' import { ArrowLeft, BellRing, MessageSquare, Mail, Smartphone, FileText, Users, AlertTriangle } from 'lucide-react' // 通知设置类型 interface NotificationSetting { id: string icon: React.ElementType iconColor: string title: string description: string email: boolean push: boolean sms: boolean } // 通知设置数据 const initialSettings: NotificationSetting[] = [ { id: 'review', icon: FileText, iconColor: 'text-accent-indigo', title: '审核任务通知', description: '有新任务待审核时通知', email: true, push: true, sms: false, }, { id: 'appeal', icon: MessageSquare, iconColor: 'text-accent-amber', title: '申诉通知', description: '达人提交申诉时通知', email: true, push: true, sms: true, }, { id: 'creator', icon: Users, iconColor: 'text-accent-green', title: '达人动态', description: '达人提交内容、完成任务时通知', email: false, push: true, sms: false, }, { id: 'urgent', icon: AlertTriangle, iconColor: 'text-accent-coral', title: '紧急通知', description: '任务即将超时、品牌方催促等', email: true, push: true, sms: true, }, { id: 'system', icon: BellRing, iconColor: 'text-accent-blue', title: '系统通知', description: '系统更新、维护公告等', email: true, push: false, sms: false, }, ] // 开关组件 function Toggle({ checked, onChange }: { checked: boolean; onChange: (checked: boolean) => void }) { return ( ) } export default function AgencyNotificationSettingsPage() { const router = useRouter() const toast = useToast() const [settings, setSettings] = useState(initialSettings) const [isSaving, setIsSaving] = useState(false) const updateSetting = (id: string, field: 'email' | 'push' | 'sms', value: boolean) => { setSettings(prev => prev.map(s => s.id === id ? { ...s, [field]: value } : s ) ) } const handleSave = async () => { setIsSaving(true) await new Promise(resolve => setTimeout(resolve, 1000)) setIsSaving(false) toast.success('通知设置已保存') } return (
{/* 顶部导航 */}

消息设置

管理您的通知偏好

{/* 通知渠道说明 */}
App推送
邮件通知
短信通知
{/* 通知设置列表 */} 通知类型设置 {/* 表头 */}
通知类型
App推送
邮件
短信
{/* 设置项 */} {settings.map((setting) => { const Icon = setting.icon return (

{setting.title}

{setting.description}

updateSetting(setting.id, 'push', v)} />
updateSetting(setting.id, 'email', v)} />
updateSetting(setting.id, 'sms', v)} />
) })}
{/* 免打扰设置 */} 免打扰设置

夜间免打扰

22:00 - 08:00 期间不发送推送通知

{}} />
) }