From 3fbd2514e38d29ff02cd7765d89476bed6530d37 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 16 Feb 2024 13:47:49 -0800 Subject: items wip --- src/components/AppHeader.svelte | 4 +- src/components/Avatar.svelte | 4 +- src/components/ItemForm.svelte | 108 +++++++++++++ src/lib/nostr.js | 2 +- src/lib/store.js | 1 - src/lib/utils.js | 1 + src/locales/en.json | 9 +- src/routes/(app)/[username]/(profile)/+page.svelte | 176 +++++++++++++++++---- .../(app)/[username]/items/[id]/+page.server.js | 6 + .../(app)/[username]/items/[id]/+page.svelte | 7 + .../(app)/[username]/items/create/+page.svelte | 14 ++ .../[username]/settings/[...tab]/_account.svelte | 25 +-- src/routes/(app)/payment/[id]/bump/+server.js | 2 +- .../user/[username]/[...amount]/+page.server.js | 7 +- static/icons/edit.svg | 7 + static/icons/trash.svg | 4 + 16 files changed, 312 insertions(+), 65 deletions(-) create mode 100644 src/components/ItemForm.svelte create mode 100644 src/routes/(app)/[username]/items/[id]/+page.server.js create mode 100644 src/routes/(app)/[username]/items/[id]/+page.svelte create mode 100644 src/routes/(app)/[username]/items/create/+page.svelte create mode 100644 static/icons/edit.svg create mode 100644 static/icons/trash.svg diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index a2103cf5..72f10d26 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -1,6 +1,6 @@ + +
+
+ + +
+
+ +
+ {#if item.hash} + {item.name} + {:else if src} + {item.name} + {:else} +
+ {/if} + handleFile(e, "item")} + /> +
+
+ + + diff --git a/src/lib/nostr.js b/src/lib/nostr.js index 5de08199..5209418a 100644 --- a/src/lib/nostr.js +++ b/src/lib/nostr.js @@ -90,7 +90,7 @@ export let getPrivateKey = async (user) => { if (browser) { k = localStorage.getItem("nsec"); if (k) { - return nip19.decode(k).data; + return nip19.decode(k).data; } } diff --git a/src/lib/store.js b/src/lib/store.js index ee60058c..c27e7f6c 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -40,7 +40,6 @@ const persistLocal = (key, defaultValue) => { export const avatar = writable(); export const banner = writable(); -export const colorTheme = writable("from-primary to-gradient"); export const event = writable(); export const events = writable({}); export const invoice = writable(); diff --git a/src/lib/utils.js b/src/lib/utils.js index d1096cd4..53437f56 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -172,6 +172,7 @@ export let auth = (cookies) => ({ authorization: `Bearer ${cookies.get("token")}`, }); +export let btc = (fiat, rate) => Math.round((fiat * sats) / rate); export let fiat = (amount, rate) => (amount * rate) / sats; export let fd = async (req) => { let obj = Object.fromEntries(await req.formData()); diff --git a/src/locales/en.json b/src/locales/en.json index 4fad56d6..24433202 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -178,6 +178,7 @@ "this": "This", "lightningAddress": "Lightning address", "dashboard": { + "checkout": "Checkout", "go": "Go", "dashboard": "Dashboard", "accountBalance": "Account Balance", @@ -349,5 +350,11 @@ "print": "Print", "onlyLbtc": "We only support", "dontDeposit": "don't deposit other assets yet" - } + }, + "items": { + "add": "Add item", + "name": "Name", + "submit": "Submit", + "image": "Image" + } } diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 420cc5fa..bb98ddfe 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -1,4 +1,5 @@
{#if user?.id === subject.id} -
-
- +
+ +
+ + {#if !user.balance} +
+

+ {$t("user.welcome")} +

+ {/if} - {#if !user.balance} -
-

- {$t("user.welcome")} -

+ + {/if} + +
+ {#each items as i} +
i.quantity++} + > +
+ {i.name} + {#if user?.username === subject.username} +
+
i.quantity > 0 && i.quantity--} + > + + + +
+ +
+ {/if}
- {/if} - -
+ {/each} +
+ {#if total > 0} + + {/if} + {#if user?.username === subject.username} + {/if}
diff --git a/src/routes/(app)/[username]/items/[id]/+page.server.js b/src/routes/(app)/[username]/items/[id]/+page.server.js new file mode 100644 index 00000000..e1fe2efd --- /dev/null +++ b/src/routes/(app)/[username]/items/[id]/+page.server.js @@ -0,0 +1,6 @@ +import { get } from "$lib/utils"; +export let load = async ({ cookies, params: { id } }) => { + let item = await get(`/item/${id}`); + console.log("item", item) + return { item }; +}; diff --git a/src/routes/(app)/[username]/items/[id]/+page.svelte b/src/routes/(app)/[username]/items/[id]/+page.svelte new file mode 100644 index 00000000..5a19e892 --- /dev/null +++ b/src/routes/(app)/[username]/items/[id]/+page.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/routes/(app)/[username]/items/create/+page.svelte b/src/routes/(app)/[username]/items/create/+page.svelte new file mode 100644 index 00000000..c9aeae1d --- /dev/null +++ b/src/routes/(app)/[username]/items/create/+page.svelte @@ -0,0 +1,14 @@ + + +
+

+ {$t("items.add")} +

+ +
diff --git a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte index 15ee7b0c..8e3323c7 100644 --- a/src/routes/(app)/[username]/settings/[...tab]/_account.svelte +++ b/src/routes/(app)/[username]/settings/[...tab]/_account.svelte @@ -1,6 +1,6 @@