aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/invoice.js20
-rw-r--r--src/lib/socket.js13
2 files changed, 28 insertions, 5 deletions
diff --git a/src/lib/invoice.js b/src/lib/invoice.js
new file mode 100644
index 00000000..a0aa8402
--- /dev/null
+++ b/src/lib/invoice.js
@@ -0,0 +1,20 @@
+import { auth, get, post } from '$lib/utils';
+import { redirect } from '@sveltejs/kit';
+
+export default async ({ cookies, request }) => {
+ let form = await request.formData();
+
+ let invoice = {
+ amount: parseInt(form.get('amount')),
+ tip: parseInt(form.get('tip')),
+ network: 'lightning',
+ prompt: form.get('prompt') === 'true',
+ rate: await get('/rate')
+ };
+
+ let user = { username: form.get('username') };
+
+ let { uuid } = await post('/invoice', { invoice, user }, auth(cookies));
+
+ throw redirect(307, `/invoice/${uuid}`);
+};
diff --git a/src/lib/socket.js b/src/lib/socket.js
index 6317595b..a419faeb 100644
--- a/src/lib/socket.js
+++ b/src/lib/socket.js
@@ -19,12 +19,16 @@ export const messages = (data) => ({
},
payment() {
- if (data.invoice) invoices.set({ ...get(invoices), [data.invoice.uuid]: data.invoice });
+ let { amount, invoice } = data;
+ if (invoice) {
+ console.log('updating invoice', invoice.uuid, invoice.received, invoice.amount);
+ invoices.set({ ...get(invoices), [invoice.uuid]: invoice });
+ }
newPayment.set(true);
- if (data.amount > 0) {
- success(`Received ${data.amount} sats!`);
+ if (amount > 0) {
+ success(`Received ${amount} sats!`);
} else {
- success(`Sent ${-data.amount} sats!`);
+ success(`Sent ${-amount} sats!`);
}
},
@@ -37,7 +41,6 @@ const maxReconnectDelay = 16000;
let currentReconnectDelay = initialReconnectDelay;
export function connect(t) {
- console.log('CONNECT');
token = t;
clearInterval(interval);