From 479cb9ad44d05b56cd2e60735687702fc37487a0 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 7 Feb 2025 22:23:00 -0800 Subject: nwc connections --- src/routes/(app)/apps/[pubkey]/+page.server.ts | 26 +++++++++++++++++++++ src/routes/(app)/apps/[pubkey]/+page.svelte | 19 ++++++++++++++++ src/routes/(app)/apps/new/+page.server.ts | 31 ++++++++++++++++++++++++++ src/routes/(app)/apps/new/+page.svelte | 19 ++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 src/routes/(app)/apps/[pubkey]/+page.server.ts create mode 100644 src/routes/(app)/apps/[pubkey]/+page.svelte create mode 100644 src/routes/(app)/apps/new/+page.server.ts create mode 100644 src/routes/(app)/apps/new/+page.svelte (limited to 'src/routes/(app)/apps') diff --git a/src/routes/(app)/apps/[pubkey]/+page.server.ts b/src/routes/(app)/apps/[pubkey]/+page.server.ts new file mode 100644 index 00000000..a2cc50e7 --- /dev/null +++ b/src/routes/(app)/apps/[pubkey]/+page.server.ts @@ -0,0 +1,26 @@ +import getRates from "$lib/rates"; +import { auth, fd, get, post } from "$lib/utils"; +import { fail, redirect } from "@sveltejs/kit"; + +export const load = async ({ cookies, params, parent }) => { + const { pubkey } = params; + const { user } = await parent(); + const rates = await getRates(); + const rate = rates[user.currency]; + const app = await get(`/app/${pubkey}`, auth(cookies)); + return { app, rate }; +}; + +export const actions = { + default: async ({ cookies, request }) => { + try { + const body = await fd(request); + await post("/app", body, auth(cookies)); + } catch (e) { + const { message: error } = e as Error; + return fail(400, { error }); + } + + redirect(307, "/settings/nostr"); + }, +}; diff --git a/src/routes/(app)/apps/[pubkey]/+page.svelte b/src/routes/(app)/apps/[pubkey]/+page.svelte new file mode 100644 index 00000000..d1a5f2bd --- /dev/null +++ b/src/routes/(app)/apps/[pubkey]/+page.svelte @@ -0,0 +1,19 @@ + + +
+

{$t("accounts.connection")}

+ + {#if form?.error} +
+ {form.error} +
+ {/if} + + +
diff --git a/src/routes/(app)/apps/new/+page.server.ts b/src/routes/(app)/apps/new/+page.server.ts new file mode 100644 index 00000000..7c335f8c --- /dev/null +++ b/src/routes/(app)/apps/new/+page.server.ts @@ -0,0 +1,31 @@ +import getRates from "$lib/rates"; +import { auth, fd, post } from "$lib/utils"; +import { fail, redirect } from "@sveltejs/kit"; + +export const load = async ({ parent, url }) => { + const app = { + name: url.searchParams.get("name"), + pubkey: url.searchParams.get("pubkey"), + max_amount: url.searchParams.get("max_amount"), + budget_renewal: url.searchParams.get("budget_renewal"), + }; + + const { user } = await parent(); + const rates = await getRates(); + const rate = rates[user.currency]; + return { app, rate }; +}; + +export const actions = { + default: async ({ cookies, request }) => { + try { + const body = await fd(request); + await post("/app", body, auth(cookies)); + } catch (e) { + const { message: error } = e as Error; + return fail(400, { error }); + } + + redirect(307, "/settings/nostr"); + }, +}; diff --git a/src/routes/(app)/apps/new/+page.svelte b/src/routes/(app)/apps/new/+page.svelte new file mode 100644 index 00000000..d1a5f2bd --- /dev/null +++ b/src/routes/(app)/apps/new/+page.svelte @@ -0,0 +1,19 @@ + + +
+

{$t("accounts.connection")}

+ + {#if form?.error} +
+ {form.error} +
+ {/if} + + +
-- cgit v1.2.3