From f4a66ec14e12b357227ebd06f7ce698bf50a08f1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 7 Feb 2023 22:33:06 -0800 Subject: restoring requests --- src/components/Balance.svelte | 8 +++-- src/lib/invoice.js | 2 +- src/lib/socket.js | 2 +- src/lib/utils.js | 4 +-- src/locales/en.json | 4 +-- .../(app)/[username]/(profile)/+layout.svelte | 36 ++++--------------- .../(app)/[username]/(profile)/+page.server.js | 8 +++-- src/routes/(app)/[username]/(profile)/+page.svelte | 30 ++++++++++++++-- .../[username]/(profile)/request/+page.server.js | 15 ++++++++ .../[username]/(profile)/request/+page.svelte | 35 +++++++++++++++++++ .../[username]/(profile)/request/sent/+page.svelte | 18 ++++++++++ .../[username]/receive/[...param]/+page.server.js | 2 +- .../(app)/[username]/request/+page.server.js | 15 -------- src/routes/(app)/[username]/request/+page.svelte | 40 ---------------------- .../(app)/[username]/request/[id]/+page.server.js | 5 ++- .../(app)/[username]/request/[id]/+page.svelte | 20 +++++------ .../(app)/[username]/request/sent/+page.svelte | 18 ---------- src/routes/(app)/login/+page.server.js | 4 +-- .../(app)/send/lightning/[payreq]/+page.server.js | 2 -- 19 files changed, 135 insertions(+), 133 deletions(-) create mode 100644 src/routes/(app)/[username]/(profile)/request/+page.server.js create mode 100644 src/routes/(app)/[username]/(profile)/request/+page.svelte create mode 100644 src/routes/(app)/[username]/(profile)/request/sent/+page.svelte delete mode 100644 src/routes/(app)/[username]/request/+page.server.js delete mode 100644 src/routes/(app)/[username]/request/+page.svelte delete mode 100644 src/routes/(app)/[username]/request/sent/+page.svelte diff --git a/src/components/Balance.svelte b/src/components/Balance.svelte index 5d72bd45..e95e5dde 100644 --- a/src/components/Balance.svelte +++ b/src/components/Balance.svelte @@ -8,9 +8,11 @@
- {$animatedRate - ? f((user.balance * $animatedRate) / sats, user.currency) - : $t('user.dashboard.fetchingRate')} + {#if isNaN($animatedRate)} +
---
+ {:else} + {f((user.balance * $animatedRate) / sats, user.currency)} + {/if}
diff --git a/src/lib/invoice.js b/src/lib/invoice.js index 4c487172..5b939079 100644 --- a/src/lib/invoice.js +++ b/src/lib/invoice.js @@ -6,7 +6,7 @@ export default async ({ cookies, request, url }) => { let rates = await get('/rates'); let amount = parseInt(form.get('amount')); - let request_id = parseInt(form.get('request_id')); + let request_id = form.get('request_id'); let invoice = { amount, diff --git a/src/lib/socket.js b/src/lib/socket.js index 986fc268..ce3cbe4b 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -73,7 +73,7 @@ export const messages = (data) => ({ if (amount > 0) { success(`${data.confirmed ? 'Received' : 'Detected'} ${sat(amount)}!`); } else { - success(`Sent ${sat(amount)}!`); + // success(`Sent ${sat(amount)}!`); } }, diff --git a/src/lib/utils.js b/src/lib/utils.js index 3a644e1f..24991100 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -82,7 +82,7 @@ export function reverseFormat(val, locale) { return Number.isNaN(reversedVal) ? 0 : +reversedVal; } -export let protectedRoutes = [/customers/, /dashboard/, /settings/, /payments/, /request/]; +export let protectedRoutes = [/customers/, /dashboard/, /settings/, /payments/]; export const success = (m) => { toast.pop(); @@ -171,7 +171,7 @@ export const sat = (s) => { export const sats = 100000000; export const back = () => browser && history.go(-1); -export const focus = (el) => setTimeout(() => el.focus(), 1); +export const focus = (el) => browser && screen.width > 1280 && setTimeout(() => el.focus(), 1); export const sleep = (n) => new Promise((r) => setTimeout(r, n)); export const wait = async (f, n = 100, s = 300) => { diff --git a/src/locales/en.json b/src/locales/en.json index b39571f6..7e7c235b 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -277,7 +277,7 @@ "pay": "Pay", "requesting": "is requesting", "sentInvoiceTo": "Sent invoice to", - "sentRequestTo": "Sent request to", + "sentRequestTo": "Request sent!", "pleasePay": "Please pay", "day": "Day", "week": "Week", @@ -287,7 +287,7 @@ "invoice": "Invoice", "readyToPay": "is ready to pay", "describeOrder": "Use this field to describe your order", - "requestAnInvoice": "Request an invoice", + "requestAnInvoice": "Request Invoice", "submit": "Submit", "isRequesting": "is requesting", "invoiceFrom": "Invoice from", diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index 6dacf2ce..f3488e4b 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -120,51 +120,29 @@
- {/if} - {#if !subject.anon && subject.username !== user?.username} + {/if} - - {#if user?.id === subject.id} + {#if !subject.anon && subject.username !== user?.username} - - - - - - - - - - - {/if}
diff --git a/src/routes/(app)/[username]/(profile)/+page.server.js b/src/routes/(app)/[username]/(profile)/+page.server.js index c29ed7df..553e2559 100644 --- a/src/routes/(app)/[username]/(profile)/+page.server.js +++ b/src/routes/(app)/[username]/(profile)/+page.server.js @@ -1,6 +1,6 @@ -import { get } from '$lib/utils'; +import { auth, get } from '$lib/utils'; -export async function load({ params, parent, url }) { +export async function load({ cookies, params, parent, url }) { let { subject } = await parent(); let { pubkey } = subject; @@ -16,5 +16,7 @@ export async function load({ params, parent, url }) { e.seen = e.created_at; }); - return { events }; + let { requests } = await get('/requests', auth(cookies)); + + return { events, requests }; } diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 1cf525a0..ae8add63 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -1,10 +1,9 @@
@@ -12,3 +11,28 @@ {/if}
+ +
+ {#each requests as { id, invoice, memo, requester: r }} + +
+
+
+
+ +
+

{r.username}

+

{memo}

+
+
+
+
+ +
+
+
+
+ {/each} +
diff --git a/src/routes/(app)/[username]/(profile)/request/+page.server.js b/src/routes/(app)/[username]/(profile)/request/+page.server.js new file mode 100644 index 00000000..2c1d6bde --- /dev/null +++ b/src/routes/(app)/[username]/(profile)/request/+page.server.js @@ -0,0 +1,15 @@ +import { redirect } from '@sveltejs/kit'; +import { auth, post } from '$lib/utils'; + +export const actions = { + create: async ({ cookies, params, request, url }) => { + let form = Object.fromEntries(await request.formData()); + let { id, requester } = await post('/requests', form, auth(cookies)); + throw redirect(307, `/${params.username}/request/${id}`); + }, + + delete: async ({ cookies, request }) => { + let form = Object.fromEntries(await request.formData()); + let r = await post('/requests/delete', form, auth(cookies)); + } +}; diff --git a/src/routes/(app)/[username]/(profile)/request/+page.svelte b/src/routes/(app)/[username]/(profile)/request/+page.svelte new file mode 100644 index 00000000..75117ff4 --- /dev/null +++ b/src/routes/(app)/[username]/(profile)/request/+page.svelte @@ -0,0 +1,35 @@ + + +
+

+ {$t('payments.requestAnInvoice')} +

+ +
+ + + +