"use client" import { SettingsSectionHeader } from "@/components/gmail/settings/settings-section-header" import { SettingsSyncBanner } from "@/components/gmail/settings/settings-sync-banner" import { useMailSettings } from "@/lib/api/hooks/use-mail-settings" import { useMailSettingsStore } from "@/lib/stores/mail-settings-store" import { requestDesktopNotificationPermission } from "@/lib/notifications/desktop-notifications" export function NotificationsSettingsSection() { const { isFetching, isError, refetch } = useMailSettings() const desktopNewMail = useMailSettingsStore((s) => s.desktopNewMail) const desktopMentions = useMailSettingsStore((s) => s.desktopMentions) const emailDigest = useMailSettingsStore((s) => s.emailDigest) const soundEnabled = useMailSettingsStore((s) => s.soundEnabled) const setDesktopNewMail = useMailSettingsStore((s) => s.setDesktopNewMail) const setDesktopMentions = useMailSettingsStore((s) => s.setDesktopMentions) const setEmailDigest = useMailSettingsStore((s) => s.setEmailDigest) const setSoundEnabled = useMailSettingsStore((s) => s.setSoundEnabled) return ( <> refetch()} />
{ if (checked) await requestDesktopNotificationPermission() setDesktopNewMail(checked) }} /> { if (checked) await requestDesktopNotificationPermission() setDesktopMentions(checked) }} />
) } function ToggleRow({ label, checked, onChange, }: { label: string checked: boolean onChange: (checked: boolean) => void | Promise }) { return ( ) }