import {NotificationList} from './notification-list'; import {useUserNotifications} from './dialog/requests/user-notifications'; import {ProgressCircle} from '../ui/progress/progress-circle'; import {NotificationEmptyStateMessage} from './empty-state/notification-empty-state-message'; import {Navbar} from '../ui/navigation/navbar/navbar'; import {Trans} from '../i18n/trans'; import {useMarkNotificationsAsRead} from './requests/use-mark-notifications-as-read'; import {useAuth} from '../auth/use-auth'; import {Button} from '../ui/buttons/button'; import {DoneAllIcon} from '../icons/material/DoneAll'; import {StaticPageTitle} from '../seo/static-page-title'; import {Fragment} from 'react'; import {Footer} from '@common/ui/footer/footer'; import {IconButton} from '@common/ui/buttons/icon-button'; import {Link} from 'react-router-dom'; import {SettingsIcon} from '@common/icons/material/Settings'; export function NotificationsPage() { const {user} = useAuth(); const {data, isLoading} = useUserNotifications({perPage: 30}); const hasUnread = !!user?.unread_notifications_count; const markAsRead = useMarkNotificationsAsRead(); const handleMarkAsRead = () => { if (!data) return; markAsRead.mutate({ ids: data.pagination.data.map(n => n.id), }); }; const markAsReadButton = ( ); return (

{hasUnread ? ( markAsReadButton ) : ( )}