'use client' import React, { useState } from 'react' import { useRouter } from 'next/navigation' import { ArrowLeft, Mail, Bell, MessageSquare, Clock, AlertTriangle, } from 'lucide-react' import { ResponsiveLayout } from '@/components/layout/ResponsiveLayout' import { cn } from '@/lib/utils' // 开关组件 function Toggle({ enabled, onChange, }: { enabled: boolean onChange: (enabled: boolean) => void }) { return ( ) } // 设置项组件 function NotificationSettingItem({ icon: Icon, iconColor, title, description, enabled, onChange, isLast = false, }: { icon: React.ElementType iconColor: string title: string description: string enabled: boolean onChange: (enabled: boolean) => void isLast?: boolean }) { return (
{title} {description}
) } // 时段选择组件 function TimeRangeSelector({ startTime, endTime, onChange, disabled, }: { startTime: string endTime: string onChange: (start: string, end: string) => void disabled: boolean }) { return (
) } export default function NotificationSettingsPage() { const router = useRouter() // 通知设置状态 const [settings, setSettings] = useState({ emailNotification: true, pushNotification: true, smsNotification: false, reviewResult: true, taskReminder: true, urgentAlert: true, quietMode: false, quietStart: '22:00', quietEnd: '08:00', }) const handleToggle = (key: keyof typeof settings) => { setSettings(prev => ({ ...prev, [key]: !prev[key] })) } const handleTimeChange = (start: string, end: string) => { setSettings(prev => ({ ...prev, quietStart: start, quietEnd: end })) } return (
{/* 顶部栏 */}

消息设置

自定义通知方式和提醒偏好

{/* 内容区 */}
{/* 通知渠道 */}

通知渠道

handleToggle('emailNotification')} /> handleToggle('pushNotification')} /> handleToggle('smsNotification')} isLast />
{/* 通知类型 */}

通知类型

handleToggle('reviewResult')} /> handleToggle('taskReminder')} /> handleToggle('urgentAlert')} isLast />
{/* 免打扰模式 */}

免打扰模式

开启免打扰 在指定时段内静音所有通知
handleToggle('quietMode')} />
{/* 时间段选择 */}
免打扰时段
{/* 提示卡片 */}
关于通知 建议保持审核结果和紧急通知开启,以便及时了解任务进度和重要信息。您可以随时调整通知偏好。
) }