"use client"; import { BellIcon } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Switch } from "@/components/ui/switch"; import { useI18n } from "@/core/i18n/hooks"; import { useNotification } from "@/core/notification/hooks"; import { useLocalSettings } from "@/core/settings"; import { SettingsSection } from "./settings-section"; export function NotificationSettingsPage() { const { t } = useI18n(); const { permission, isSupported, requestPermission, showNotification } = useNotification(); const [settings, setSettings] = useLocalSettings(); const handleRequestPermission = async () => { await requestPermission(); }; const handleTestNotification = () => { showNotification(t.settings.notification.testTitle, { body: t.settings.notification.testBody, }); }; const handleEnableNotification = async (enabled: boolean) => { setSettings("notification", { enabled, }); }; if (!isSupported) { return (

{t.settings.notification.notSupported}

); } return (
{t.settings.notification.description}
} >
{permission === "default" && ( )} {permission === "denied" && (

{t.settings.notification.deniedHint}

)} {permission === "granted" && settings.notification.enabled && (
)}
); }