'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' 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 [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) alert('通知设置已保存') } return (
管理您的通知偏好
{setting.title}
{setting.description}
夜间免打扰
22:00 - 08:00 期间不发送推送通知