From ce00aa3965befe4b11a2115b704f96fd3559b19c Mon Sep 17 00:00:00 2001 From: Kit La Touche Date: Fri, 29 Aug 2025 14:22:09 -0400 Subject: Make test-notifs button in settings The idea here is that we should make a really really minimal notifications feature, where you can enable them, and test them, but nothing on the server will automatically send them. Once that's in, we can add client-side config, which we'll need to sync to the server and act on, that says: > generally, notify me: > 1. Not at all > 2. When my name is mentioned > 3. When any message arrives > For each channel, override the above with one of the same three > options. Later later, we might want to also add "notify me when a new channel is made". --- ui/lib/apiServer.js | 16 ++++++++++++ ui/lib/components/NotificationSettings.svelte | 35 +++++++++++++++------------ 2 files changed, 35 insertions(+), 16 deletions(-) (limited to 'ui/lib') diff --git a/ui/lib/apiServer.js b/ui/lib/apiServer.js index ac707a5..63fd8f9 100644 --- a/ui/lib/apiServer.js +++ b/ui/lib/apiServer.js @@ -55,6 +55,22 @@ export async function acceptInvite(inviteId, name, password) { .catch(responseError); } +export async function createPushSubscription(data) { + return await apiServer + .post("/push", { data }) + .catch(responseError); +} + +export async function deletePushSubscription(data) { + return await apiServer + .delete("/push", { data }) + .catch(responseError); +} + +export async function notifyMe() { + return await apiServer.post('/notifyMe').catch(responseError); +} + export function subscribeToEvents(resumePoint) { const eventsUrl = apiServer.getUri({ url: '/events', diff --git a/ui/lib/components/NotificationSettings.svelte b/ui/lib/components/NotificationSettings.svelte index 81c3708..8bc9d8b 100644 --- a/ui/lib/components/NotificationSettings.svelte +++ b/ui/lib/components/NotificationSettings.svelte @@ -1,5 +1,6 @@ -

Enable notifications

+

Notify me here

{#if subscriptionJson === null} - Notifications are currently disabled. + We won't notify you here. {:else} - Notifications are currently enabled. + We will notify you here. {/if}

- + +

Notify me when:

+

These are currently unimplemented.

+