'use client' import { useState, useEffect } from 'react' import { toast, Spinner } from '@ciphera-net/ui' import { useAuth } from '@/lib/auth/context' import { getNotificationSettings, updateNotificationSettings, type NotificationSettingsResponse } from '@/lib/api/notification-settings' export default function WorkspaceNotificationsTab() { const { user } = useAuth() const [data, setData] = useState(null) const [settings, setSettings] = useState>({}) const [loading, setLoading] = useState(true) useEffect(() => { if (!user?.org_id) return getNotificationSettings() .then(resp => { setData(resp) setSettings(resp.settings || {}) }) .catch(() => {}) .finally(() => setLoading(false)) }, [user?.org_id]) const handleToggle = async (key: string) => { const prev = { ...settings } const updated = { ...settings, [key]: !settings[key] } setSettings(updated) try { await updateNotificationSettings(updated) } catch { setSettings(prev) toast.error('Failed to update notification preference') } } if (loading) return
return (

Notifications

Choose what notifications you receive.

{(data?.categories || []).map(cat => (

{cat.label}

{cat.description}

))} {(!data?.categories || data.categories.length === 0) && (

No notification preferences available.

)}
) }