From 50296ccde06dc7892b0c6bd1546030f495564b28 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 3 Jan 2025 15:24:31 -0800 Subject: nostr sign in --- bun.lockb | Bin 187602 -> 192133 bytes package.json | 3 +- src/components/Nostr.svelte | 336 +++++++++++++++++++++ src/locales/en.json | 3 +- src/routes/(app)/[username]/(profile)/+page.svelte | 15 +- src/routes/(app)/events/+server.ts | 8 +- src/routes/(app)/invoice/[id]/paid/+page.svelte | 11 +- src/routes/(app)/ln/[lnurl]/+page.server.ts | 2 - .../pay/[username]/[...amount]/+page.server.ts | 6 +- src/routes/(app)/send/invoice/[id]/+page.server.ts | 4 +- src/routes/(static)/login/+page.server.ts | 2 +- src/routes/(static)/login/+page.svelte | 62 +--- src/routes/amber/[id]/[pubkey]/+server.ts | 6 + 13 files changed, 391 insertions(+), 67 deletions(-) create mode 100644 src/components/Nostr.svelte create mode 100644 src/routes/amber/[id]/[pubkey]/+server.ts diff --git a/bun.lockb b/bun.lockb index d2028a53..b80345e2 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 07942ef6..a22d3954 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@sveltejs/vite-plugin-svelte": "^4.0.0", "@types/uuid": "^10.0.0", "@zerodevx/svelte-toast": "^0.9.5", + "applesauce-signer": "^0.10.0", "autoprefixer": "^10.4.13", "bech32": "^2.0.0", "bip21": "^2.0.3", @@ -30,7 +31,7 @@ "leaflet": "^1.9.3", "leaflet.markercluster": "^1.5.3", "maplibre-gl": "^3.3.1", - "nostr-tools": "^2.10.3", + "nostr-tools": "^2.10.4", "postcss": "^8.4.20", "prettier": "^3.1.0", "prettier-plugin-svelte": "^3.2.6", diff --git a/src/components/Nostr.svelte b/src/components/Nostr.svelte new file mode 100644 index 00000000..6445c4c1 --- /dev/null +++ b/src/components/Nostr.svelte @@ -0,0 +1,336 @@ + + +{#if nostrSignin} +
+
+

+ {$t("login.nostr")} +

+ + + + + {#if pubkey} + + +
NIP-55 Signer Step 2
+
+ {:else} + {#if extension} + + {/if} + + + + + + + + + + + + + + + + + + + + {#if signer} + + +
NIP-55 Signer
+
+ {/if} + + {#if showNsec} + + + {:else} + + {/if} + {/if} +
+
+{/if} diff --git a/src/locales/en.json b/src/locales/en.json index 937b3be3..848b467d 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -168,7 +168,8 @@ "signIn": "Sign In", "signUp": "Sign Up", "failed": "Login failed", - "nostr": "Sign in with Nostr" + "nostr": "Sign in with Nostr", + "nostrConnect": "Nostr connect" }, "nav": { "dark": "Dark", diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index a498f0f7..6530f149 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -8,6 +8,7 @@ import { t } from "$lib/translations"; import { installPrompt } from "$lib/store"; import { afterNavigate, preloadData } from "$app/navigation"; + import { page } from "$app/stores"; let { data } = $props(); @@ -24,7 +25,9 @@ $installPrompt = null; }; + let pubkey = $state(); if (user) user.savings = 0; + let { host } = $derived($page.url);
@@ -37,14 +40,16 @@ {#if $installPrompt} {/if} @@ -62,7 +67,10 @@ - {#if nostr} - - {/if} - +

{$t("login.noAccount")}

{/if} + + diff --git a/src/routes/amber/[id]/[pubkey]/+server.ts b/src/routes/amber/[id]/[pubkey]/+server.ts new file mode 100644 index 00000000..6a6f69cf --- /dev/null +++ b/src/routes/amber/[id]/[pubkey]/+server.ts @@ -0,0 +1,6 @@ +import { json } from "@sveltejs/kit"; + +export async function GET({ params }) { + console.log(params); + return json({}); +} -- cgit v1.2.3