From 9d72c28e477ab55a61767b1ddf66d74a894958ed Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 20 Oct 2024 23:32:09 -0700 Subject: get subscriptions --- src/routes/(app)/settings/[...tab]/+page.server.ts | 50 +++++++++++----------- src/routes/(app)/settings/[...tab]/+page.svelte | 6 +-- src/routes/(app)/settings/[...tab]/_pos.svelte | 14 +++--- 3 files changed, 35 insertions(+), 35 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/settings/[...tab]/+page.server.ts b/src/routes/(app)/settings/[...tab]/+page.server.ts index 7c1542c0..b85b23e8 100644 --- a/src/routes/(app)/settings/[...tab]/+page.server.ts +++ b/src/routes/(app)/settings/[...tab]/+page.server.ts @@ -1,35 +1,37 @@ +import { auth, fd, get, post } from "$lib/utils"; import { fail, redirect } from "@sveltejs/kit"; -import { fd, auth, get, post } from "$lib/utils"; -export function load({ cookies, params, url }) { - if (url.pathname.endsWith("settings")) - redirect(307, url.pathname + "/account"); - params.cookies = cookies.getAll(); - return { cookies: cookies.getAll(), tab: params.tab }; +export async function load({ cookies, params, url }) { + if (url.pathname.endsWith("settings")) + redirect(307, `${url.pathname}/account`); + params.cookies = cookies.getAll(); + const subscriptions = await get("/subscriptions", auth(cookies)); + console.log("subs", subscriptions); + return { cookies: cookies.getAll(), subscriptions, tab: params.tab }; } export const actions = { - default: async ({ cookies, request }) => { - let form = await fd(request); + default: async ({ cookies, request }) => { + const form = await fd(request); - if (form.tab === "pos") { - form.notify = form.notify === "on"; - form.push = form.push === "on"; - form.nip5 = form.nip5 === "on"; - form.prompt = form.prompt === "on"; - form.autowithdraw = form.autowithdraw === "on"; - } + if (form.tab === "pos") { + form.notify = form.notify === "on"; + form.push = form.push === "on"; + form.nip5 = form.nip5 === "on"; + form.prompt = form.prompt === "on"; + form.autowithdraw = form.autowithdraw === "on"; + } - let user = { ...(await get("/me", auth(cookies))), ...form }; + let user = { ...(await get("/me", auth(cookies))), ...form }; - try { - ({ user } = await post(`/user`, user, auth(cookies))); - } catch (e: any) { - return fail(400, { message: e.message }); - } + try { + ({ user } = await post("/user", user, auth(cookies))); + } catch (e: any) { + return fail(400, { message: e.message }); + } - if (user.language) cookies.set("lang", user.language, { path: "/" }); + if (user.language) cookies.set("lang", user.language, { path: "/" }); - return { user, success: true }; - }, + return { user, success: true }; + }, }; diff --git a/src/routes/(app)/settings/[...tab]/+page.svelte b/src/routes/(app)/settings/[...tab]/+page.svelte index 7ef1653d..0a3a6ddf 100644 --- a/src/routes/(app)/settings/[...tab]/+page.svelte +++ b/src/routes/(app)/settings/[...tab]/+page.svelte @@ -28,12 +28,12 @@ let submit; let formElement; - let { user, token, rates, tab, cookies } = data; + let { user, token, rates, tab, cookies, subscriptions } = data; let prev; $: update(data); let update = () => { - ({ user, token, rates, tab } = data); + ({ user, token, rates, tab, subscriptions } = data); prev = { ...user }; }; @@ -229,7 +229,7 @@ - +
{ if (!browser) return; @@ -55,19 +55,17 @@ applicationServerKey: PUBLIC_VAPID_PUBKEY, }); - push = permission === "granted"; + if (permission === "granted") { + subscription = await pm.getSubscription(); + if (subscriptions.includes(JSON.stringify(subscription))) push = true; + } }); let permission; $: updateNotifications(push); let updateNotifications = async (push) => { - let subscription; if (!browser || !pm) return (push = false); - if (permission === "granted") { - subscription = await pm.getSubscription(); - } - if (subscription && !push) { return post("/subscription/delete", { subscription }); } -- cgit v1.2.3