aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-01-15 15:37:19 -0800
committerAdam Soltys <[email protected]>2025-01-15 15:37:19 -0800
commit0a69cf4077363c56e6e5e1b8c8857c2d25e3986a (patch)
tree70648825da0e86cdb76decf44023b71a696b3b36 /src/routes/(app)
parent97f9c4f245fb90df5c8048ac5a9e62208e37c484 (diff)
downloadcoinos-ui-0a69cf4077363c56e6e5e1b8c8857c2d25e3986a.tar.gz
coinos-ui-0a69cf4077363c56e6e5e1b8c8857c2d25e3986a.zip
invoice type selection
Diffstat (limited to 'src/routes/(app)')
-rw-r--r--src/routes/(app)/[username]/receive/+page.svelte30
-rw-r--r--src/routes/(app)/invoice/[id]/+page.svelte34
2 files changed, 51 insertions, 13 deletions
diff --git a/src/routes/(app)/[username]/receive/+page.svelte b/src/routes/(app)/[username]/receive/+page.svelte
index e02d6651..887e9680 100644
--- a/src/routes/(app)/[username]/receive/+page.svelte
+++ b/src/routes/(app)/[username]/receive/+page.svelte
@@ -22,6 +22,7 @@
import InvoiceTypes from "$comp/InvoiceTypes.svelte";
import SetAmount from "$comp/SetAmount.svelte";
import SetMemo from "$comp/SetMemo.svelte";
+ import SetType from "$comp/SetType.svelte";
import { t } from "$lib/translations";
import { goto, invalidate } from "$app/navigation";
import { page } from "$app/stores";
@@ -68,20 +69,24 @@
}
};
+ let settingType = $state();
+ let toggleType = () => (settingType = !settingType);
let setType = async (type, address_type) => {
$showQr = true;
- if (type === types.lightning && !amount)
+ if (type === types.lightning && !amount && typeof newAmount === "undefined")
goto(`/${username}/receive`, { invalidateAll: true, noScroll: true });
else {
+ if (typeof newAmount !== "undefined") invoice.amount = newAmount;
invoice.address_type = address_type;
invoice.type = type;
await update();
}
+ settingType = false;
};
let setAmount = async (e) => {
- e.preventDefault();
- e.stopPropagation();
+ e?.preventDefault();
+ e?.stopPropagation();
settingAmount = false;
@@ -142,6 +147,10 @@
/>
<InvoiceActions
+ bind:newAmount
+ {setAmount}
+ {toggleType}
+ {setType}
{toggleAmount}
{toggleMemo}
{user}
@@ -153,8 +162,6 @@
{txt}
t={$t}
/>
-
- <InvoiceTypes {aid} {invoice} {user} {type} {setType} t={$t} />
</div>
<SetAmount
@@ -170,3 +177,16 @@
/>
<SetMemo bind:memo {settingMemo} {setMemo} {toggleMemo} t={$t} />
+
+<SetType
+ {aid}
+ {invoice}
+ {user}
+ {type}
+ {settingType}
+ {setType}
+ {toggleType}
+ t={$t}
+ bind:newAmount
+ {setAmount}
+/>
diff --git a/src/routes/(app)/invoice/[id]/+page.svelte b/src/routes/(app)/invoice/[id]/+page.svelte
index fdb180ef..4c5c3b50 100644
--- a/src/routes/(app)/invoice/[id]/+page.svelte
+++ b/src/routes/(app)/invoice/[id]/+page.svelte
@@ -20,9 +20,9 @@
import Avatar from "$comp/Avatar.svelte";
import InvoiceData from "$comp/InvoiceData.svelte";
import InvoiceActions from "$comp/InvoiceActions.svelte";
- import InvoiceTypes from "$comp/InvoiceTypes.svelte";
import SetAmount from "$comp/SetAmount.svelte";
import SetMemo from "$comp/SetMemo.svelte";
+ import SetType from "$comp/SetType.svelte";
import { t } from "$lib/translations";
import { goto, invalidate } from "$app/navigation";
@@ -85,23 +85,28 @@
}
};
- let setType = async (type) => {
+ let settingType = $state();
+ let toggleType = () => (settingType = !settingType);
+ let setType = async (type, address_type) => {
$showQr = true;
- if (type === types.lightning && !amount)
+ if (type === types.lightning && !amount && typeof newAmount === "undefined")
goto(`/${username}/receive`, { invalidateAll: true, noScroll: true });
else {
+ if (typeof newAmount !== "undefined") invoice.amount = newAmount;
+ invoice.address_type = address_type;
invoice.type = type;
await update();
}
+ settingType = false;
};
let newAmount = $state(0);
let settingAmount = $state();
- let toggleAmount = $state(() => (settingAmount = !settingAmount));
+ let toggleAmount = () => (settingAmount = !settingAmount);
let setAmount = async (e) => {
- e.preventDefault();
- e.stopPropagation();
+ e?.preventDefault();
+ e?.stopPropagation();
settingAmount = false;
@@ -153,6 +158,9 @@
/>
<InvoiceActions
+ bind:newAmount
+ {setAmount}
+ {toggleType}
{toggleAmount}
{toggleMemo}
{user}
@@ -164,8 +172,6 @@
t={$t}
bind:showQr={$showQr}
/>
-
- <InvoiceTypes {aid} {invoice} {user} {type} {setType} t={$t} />
</div>
<SetAmount
@@ -182,3 +188,15 @@
/>
<SetMemo bind:memo {settingMemo} {setMemo} {toggleMemo} t={$t} />
+
+<SetType
+ bind:newAmount
+ {setAmount}
+ {invoice}
+ {user}
+ {type}
+ {settingType}
+ {setType}
+ {toggleType}
+ t={$t}
+/>