"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" && ( {t.settings.notification.requestPermission} )} {permission === "denied" && ( {t.settings.notification.deniedHint} )} {permission === "granted" && settings.notification.enabled && ( {t.settings.notification.testButton} )} ); }
{t.settings.notification.notSupported}
{t.settings.notification.deniedHint}