diff --git a/frontend/src/lib/notification/NotificationDropdown.svelte b/frontend/src/lib/notification/NotificationDropdown.svelte index 09719c4a..6d4f72de 100644 --- a/frontend/src/lib/notification/NotificationDropdown.svelte +++ b/frontend/src/lib/notification/NotificationDropdown.svelte @@ -39,12 +39,13 @@ function handleViewAll() { action="/aktivitaeten?/mark-all-read" method="POST" use:enhance={() => { + errorMessage = null; optimisticMarkAllRead(); return async ({ result, update }) => { - if (result.type === 'failure') { - errorMessage = (result.data as { error?: string } | undefined)?.error ?? m.notification_error_generic(); + if (result.type === 'failure' || result.type === 'error') { + errorMessage = (result as { data?: { error?: string } }).data?.error ?? m.notification_error_generic(); + await update({ reset: false, invalidateAll: false }); } - await update({ reset: false, invalidateAll: false }); }; }} > @@ -60,7 +61,7 @@ function handleViewAll() { {#if errorMessage} -
{errorMessage}
+{errorMessage}
{/if} @@ -93,11 +94,14 @@ function handleViewAll() { method="POST" class="contents" use:enhance={() => { + errorMessage = null; optimisticMarkRead(notification.id); return async ({ result, update }) => { - if (result.type === 'failure') { - errorMessage = (result.data as { error?: string } | undefined)?.error ?? m.notification_error_generic(); + if (result.type === 'failure' || result.type === 'error') { + errorMessage = (result as { data?: { error?: string } }).data?.error ?? m.notification_error_generic(); + await update({ reset: false, invalidateAll: false }); } else { + // Navigate away — no need to update the store since we're leaving the page onClose(); goto( buildCommentHref( @@ -107,7 +111,6 @@ function handleViewAll() { ) ); } - await update({ reset: false, invalidateAll: false }); }; }} >