From 84fb4b209a2650b2a93f3208ee9a23a44d8283c7 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 8 Nov 2024 15:19:04 -0800 Subject: svelte 5 fixups --- src/lib/settings.ts | 31 +++++++++++++++++++++++++++++++ src/lib/store.ts | 1 + 2 files changed, 32 insertions(+) create mode 100644 src/lib/settings.ts (limited to 'src/lib') diff --git a/src/lib/settings.ts b/src/lib/settings.ts new file mode 100644 index 00000000..b78d83fe --- /dev/null +++ b/src/lib/settings.ts @@ -0,0 +1,31 @@ +import { auth, fd, get, post } from "$lib/utils"; +import { fail } from "@sveltejs/kit"; + +type Error = { + message: string; +}; + +export 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"; + } + + let user = { ...(await get("/me", auth(cookies))), ...form }; + + try { + ({ user } = await post("/user", user, auth(cookies))); + } catch (e) { + const { message } = e as Error; + return fail(400, { message }); + } + + if (user.language) cookies.set("lang", user.language, { path: "/" }); + + return { user, success: true }; +}; diff --git a/src/lib/store.ts b/src/lib/store.ts index 5c7a0957..e294329e 100644 --- a/src/lib/store.ts +++ b/src/lib/store.ts @@ -61,3 +61,4 @@ export const theme = writable("light"); export const token = persistSession("token"); export const ndef = writable(); export const showQr = persistLocal("showQr", true); +export const save = writable(); -- cgit v1.2.3