From b5192ae9ae070a9691803633da78bf8cf39a51b1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 3 Jan 2025 15:24:31 -0800 Subject: nostr sign in --- 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 + 11 files changed, 389 insertions(+), 66 deletions(-) create mode 100644 src/components/Nostr.svelte create mode 100644 src/routes/amber/[id]/[pubkey]/+server.ts (limited to 'src') 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