From 379ac2a5c9c5c63a67bb999b6875ecff33a15b2b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 3 Sep 2024 14:35:48 -0700 Subject: ecash version toggle --- src/locales/en.json | 2 + src/routes/(app)/ecash/[id]/+layout.server.ts | 8 -- src/routes/(app)/ecash/[id]/+layout.svelte | 53 ------------- src/routes/(app)/ecash/[id]/+page.server.ts | 21 ------ src/routes/(app)/ecash/[id]/+page.svelte | 64 ---------------- .../ecash/[id]/[...version]/+layout.server.ts | 11 +++ .../(app)/ecash/[id]/[...version]/+layout.svelte | 52 +++++++++++++ .../(app)/ecash/[id]/[...version]/+page.server.ts | 21 ++++++ .../(app)/ecash/[id]/[...version]/+page.svelte | 86 ++++++++++++++++++++++ .../ecash/[id]/[...version]/swap/+page.server.ts | 3 + .../ecash/[id]/[...version]/swap/+page.svelte | 5 ++ src/routes/(app)/ecash/[id]/swap/+page.server.ts | 3 - src/routes/(app)/ecash/[id]/swap/+page.svelte | 5 -- 13 files changed, 180 insertions(+), 154 deletions(-) delete mode 100644 src/routes/(app)/ecash/[id]/+layout.server.ts delete mode 100644 src/routes/(app)/ecash/[id]/+layout.svelte delete mode 100644 src/routes/(app)/ecash/[id]/+page.server.ts delete mode 100644 src/routes/(app)/ecash/[id]/+page.svelte create mode 100644 src/routes/(app)/ecash/[id]/[...version]/+layout.server.ts create mode 100644 src/routes/(app)/ecash/[id]/[...version]/+layout.svelte create mode 100644 src/routes/(app)/ecash/[id]/[...version]/+page.server.ts create mode 100644 src/routes/(app)/ecash/[id]/[...version]/+page.svelte create mode 100644 src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts create mode 100644 src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte delete mode 100644 src/routes/(app)/ecash/[id]/swap/+page.server.ts delete mode 100644 src/routes/(app)/ecash/[id]/swap/+page.svelte (limited to 'src') diff --git a/src/locales/en.json b/src/locales/en.json index 09935e45..ef50a2ae 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -293,6 +293,8 @@ } }, "payments": { + "legacyVersion": "Legacy version", + "newVersion": "New version", "income": "Income", "subtotal": "Subtotal", "expenditure": "Expenditure", diff --git a/src/routes/(app)/ecash/[id]/+layout.server.ts b/src/routes/(app)/ecash/[id]/+layout.server.ts deleted file mode 100644 index 5de15341..00000000 --- a/src/routes/(app)/ecash/[id]/+layout.server.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { get } from "$lib/utils"; - -export async function load({ params }) { - let { id } = params; - let { token, status } = await get(`/cash/${id}`); - let { spent, total, mint, external } = status; - return { id, token, spent, total, mint, external }; -} diff --git a/src/routes/(app)/ecash/[id]/+layout.svelte b/src/routes/(app)/ecash/[id]/+layout.svelte deleted file mode 100644 index d3c95e00..00000000 --- a/src/routes/(app)/ecash/[id]/+layout.svelte +++ /dev/null @@ -1,53 +0,0 @@ - - -
-

- {$t("payments.ecash")} -

- - {#if amount > 0} -
-
- {f(amountFiat, currency)} -
-
- ⚡️{`${s(amount)}`} -
-
- {/if} - - {#if spent > 0} -
-
- {f(spentFiat, currency)} - {$t("payments.spent")} -
-
- ⚡️{`${s(spent)}`} -
-
- {/if} - - -
diff --git a/src/routes/(app)/ecash/[id]/+page.server.ts b/src/routes/(app)/ecash/[id]/+page.server.ts deleted file mode 100644 index 0ed2d1c4..00000000 --- a/src/routes/(app)/ecash/[id]/+page.server.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { fail, redirect } from "@sveltejs/kit"; -import { auth, fd, post } from "$lib/utils"; - -export const actions = { - default: async ({ cookies, request, url }) => { - if (!cookies.get("username")) - redirect(307, `/register?redirect=${url.pathname}`); - - let { token } = await fd(request); - let claimed; - try { - claimed = await post(`/claim`, { token }, auth(cookies)); - claimed = { ok: true }; - } catch (e: any) { - return fail(400, { error: e.message }); - } - if (claimed?.ok) { - redirect(307, `/${cookies.get("username")}/payments`); - } - }, -}; diff --git a/src/routes/(app)/ecash/[id]/+page.svelte b/src/routes/(app)/ecash/[id]/+page.svelte deleted file mode 100644 index 375f168a..00000000 --- a/src/routes/(app)/ecash/[id]/+page.svelte +++ /dev/null @@ -1,64 +0,0 @@ - - -{#if form?.error} -
-
- {form.error === "default" ? $t("error.unrecognizedInput") : form.error} -
-
-{/if} - -
- - - {#if spent < total} - {#if external} - - - - {:else} -
- - -
- {/if} - {/if} - - -
diff --git a/src/routes/(app)/ecash/[id]/[...version]/+layout.server.ts b/src/routes/(app)/ecash/[id]/[...version]/+layout.server.ts new file mode 100644 index 00000000..df8a6f83 --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/+layout.server.ts @@ -0,0 +1,11 @@ +import { get } from "$lib/utils"; + +export async function load({ params }) { + let { id, version } = params; + version ||= 4; + version = parseInt(version); + + let { token, status } = await get(`/cash/${id}/${version}`); + let { spent, total, mint, external } = status; + return { id, token, spent, total, mint, external, version }; +} diff --git a/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte b/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte new file mode 100644 index 00000000..0aa1c405 --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/+layout.svelte @@ -0,0 +1,52 @@ + + +
+

+ {$t("payments.ecash")} +

+ + {#if amount > 0} +
+
+ {f(amountFiat, currency)} +
+
+ ⚡️{`${s(amount)}`} +
+
+ {/if} + + {#if spent > 0} +
+
+ {f(spentFiat, currency)} + {$t("payments.spent")} +
+
+ ⚡️{`${s(spent)}`} +
+
+ {/if} + + +
diff --git a/src/routes/(app)/ecash/[id]/[...version]/+page.server.ts b/src/routes/(app)/ecash/[id]/[...version]/+page.server.ts new file mode 100644 index 00000000..0ed2d1c4 --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/+page.server.ts @@ -0,0 +1,21 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { auth, fd, post } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, request, url }) => { + if (!cookies.get("username")) + redirect(307, `/register?redirect=${url.pathname}`); + + let { token } = await fd(request); + let claimed; + try { + claimed = await post(`/claim`, { token }, auth(cookies)); + claimed = { ok: true }; + } catch (e: any) { + return fail(400, { error: e.message }); + } + if (claimed?.ok) { + redirect(307, `/${cookies.get("username")}/payments`); + } + }, +}; diff --git a/src/routes/(app)/ecash/[id]/[...version]/+page.svelte b/src/routes/(app)/ecash/[id]/[...version]/+page.svelte new file mode 100644 index 00000000..db238216 --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/+page.svelte @@ -0,0 +1,86 @@ + + +{#if form?.error} +
+
+ {form.error === "default" ? $t("error.unrecognizedInput") : form.error} +
+
+{/if} + +
+ + + {#if spent < total} + {#if external} + + + + {:else} +
+ + +
+ {/if} + {/if} + + + + {#if version === 4} + + + + {:else} + + + + {/if} +
diff --git a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts new file mode 100644 index 00000000..c8806bf0 --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.server.ts @@ -0,0 +1,3 @@ + export async function load() { + return { test: 123 }; +} diff --git a/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte new file mode 100644 index 00000000..3df9504d --- /dev/null +++ b/src/routes/(app)/ecash/[id]/[...version]/swap/+page.svelte @@ -0,0 +1,5 @@ + + +
Support for swapping in cash from other mints is coming soon
diff --git a/src/routes/(app)/ecash/[id]/swap/+page.server.ts b/src/routes/(app)/ecash/[id]/swap/+page.server.ts deleted file mode 100644 index c8806bf0..00000000 --- a/src/routes/(app)/ecash/[id]/swap/+page.server.ts +++ /dev/null @@ -1,3 +0,0 @@ - export async function load() { - return { test: 123 }; -} diff --git a/src/routes/(app)/ecash/[id]/swap/+page.svelte b/src/routes/(app)/ecash/[id]/swap/+page.svelte deleted file mode 100644 index 3df9504d..00000000 --- a/src/routes/(app)/ecash/[id]/swap/+page.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - -
Support for swapping in cash from other mints is coming soon
-- cgit v1.2.3