diff --git a/apps/web/src/routes/(app)/apps/+page.svelte b/apps/web/src/routes/(app)/apps/+page.svelte index 55e29a3..2c64e88 100644 --- a/apps/web/src/routes/(app)/apps/+page.svelte +++ b/apps/web/src/routes/(app)/apps/+page.svelte @@ -4,22 +4,21 @@ import Icon from '$lib/components/Icon.svelte'; import RelativeTime from '$lib/components/RelativeTime.svelte'; import { approve, deny } from '$lib/remote/notifs.remote'; + import { toast } from '$lib/toast.svelte'; import type { PageData } from './$types'; let { data }: { data: PageData } = $props(); let busy = $state>({}); - let errorMsg = $state(''); /** Run a mutation, refresh page data, and surface errors. */ async function run(key: string, fn: () => Promise) { busy[key] = true; - errorMsg = ''; try { await fn(); await invalidateAll(); } catch (err) { - errorMsg = err instanceof Error ? err.message : 'Something went wrong'; + toast.error(err instanceof Error ? err.message : 'Something went wrong'); } finally { busy[key] = false; } @@ -41,16 +40,6 @@

- {#if errorMsg} - - {/if} -
{errorMsg}
- {#if data.pending.length > 0}
diff --git a/apps/web/src/routes/(app)/apps/[sender]/+page.svelte b/apps/web/src/routes/(app)/apps/[sender]/+page.svelte index 7a70591..29277c3 100644 --- a/apps/web/src/routes/(app)/apps/[sender]/+page.svelte +++ b/apps/web/src/routes/(app)/apps/[sender]/+page.svelte @@ -13,24 +13,22 @@ setRouting } from '$lib/remote/notifs.remote'; import { routeLabel } from '$lib/routes'; + import { toast } from '$lib/toast.svelte'; import type { PageData } from './$types'; let { data }: { data: PageData } = $props(); let busy = $state>({}); - let errorMsg = $state(''); - let notice = $state(''); let confirmingRevoke = $state(false); let confirmingClear = $state(false); async function run(key: string, fn: () => Promise) { busy[key] = true; - errorMsg = ''; try { await fn(); await invalidateAll(); } catch (err) { - errorMsg = err instanceof Error ? err.message : 'Could not update routing'; + toast.error(err instanceof Error ? err.message : 'Could not update routing'); } finally { busy[key] = false; } @@ -68,11 +66,10 @@ function clearNotifs() { const sender = data.app?.sender; if (!sender) return; - notice = ''; run('__clear', async () => { const { deleted } = await clearAppNotifications({ sender }); confirmingClear = false; - notice = `Cleared ${deleted} notification${deleted === 1 ? '' : 's'}.`; + toast.success(`Cleared ${deleted} notification${deleted === 1 ? '' : 's'}.`); }); } @@ -132,15 +129,6 @@ - {#if errorMsg} - - {/if} -

@@ -252,12 +240,8 @@
Clear notifications from this app

- {#if notice} - {notice} - {:else} - Permanently deletes every notification this app sent you from your inbox. This can't - be undone. - {/if} + Permanently deletes every notification this app sent you from your inbox. This can't be + undone.

{#if confirmingClear} @@ -279,10 +263,7 @@ {:else} diff --git a/apps/web/src/routes/(app)/settings/RequestsTab.svelte b/apps/web/src/routes/(app)/settings/RequestsTab.svelte index 43f2394..33eff62 100644 --- a/apps/web/src/routes/(app)/settings/RequestsTab.svelte +++ b/apps/web/src/routes/(app)/settings/RequestsTab.svelte @@ -3,21 +3,20 @@ import ChannelRoutePicker from '$lib/components/ChannelRoutePicker.svelte'; import Icon from '$lib/components/Icon.svelte'; import { setAutoAllow, setPendingRoute } from '$lib/remote/notifs.remote'; + import { toast } from '$lib/toast.svelte'; import type { PageData } from './$types'; let { data }: { data: PageData } = $props(); let busy = $state>({}); - let errorMsg = $state(''); async function run(key: string, fn: () => Promise) { busy[key] = true; - errorMsg = ''; try { await fn(); await invalidateAll(); } catch (err) { - errorMsg = err instanceof Error ? err.message : 'Something went wrong'; + toast.error(err instanceof Error ? err.message : 'Something went wrong'); } finally { busy[key] = false; } @@ -37,15 +36,6 @@
- {#if errorMsg} - - {/if} -

Allow apps automatically

diff --git a/apps/web/src/routes/(app)/settings/RoutingTab.svelte b/apps/web/src/routes/(app)/settings/RoutingTab.svelte index cadf504..a75c73b 100644 --- a/apps/web/src/routes/(app)/settings/RoutingTab.svelte +++ b/apps/web/src/routes/(app)/settings/RoutingTab.svelte @@ -2,21 +2,20 @@ import { invalidateAll } from '$app/navigation'; import ChannelRoutePicker from '$lib/components/ChannelRoutePicker.svelte'; import { setDefaultRoute } from '$lib/remote/notifs.remote'; + import { toast } from '$lib/toast.svelte'; import type { PageData } from './$types'; let { data }: { data: PageData } = $props(); let busy = $state(false); - let errorMsg = $state(''); async function save(route: string) { busy = true; - errorMsg = ''; try { await setDefaultRoute({ route }); await invalidateAll(); } catch (err) { - errorMsg = err instanceof Error ? err.message : 'Something went wrong'; + toast.error(err instanceof Error ? err.message : 'Something went wrong'); } finally { busy = false; } @@ -25,14 +24,6 @@

Default routing

- {#if errorMsg} - - {/if}
Where notifications go by default