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 --- src/routes/(static)/login/+page.server.ts | 2 +- src/routes/(static)/login/+page.svelte | 62 ++++++------------------------- 2 files changed, 13 insertions(+), 51 deletions(-) (limited to 'src/routes/(static)') diff --git a/src/routes/(static)/login/+page.server.ts b/src/routes/(static)/login/+page.server.ts index 975dab5d..6bf06ad2 100644 --- a/src/routes/(static)/login/+page.server.ts +++ b/src/routes/(static)/login/+page.server.ts @@ -1,6 +1,6 @@ +import { PUBLIC_COINOS_URL } from "$env/static/public"; import { fd, get, login } from "$lib/utils"; import { fail, redirect } from "@sveltejs/kit"; -import { PUBLIC_COINOS_URL } from "$env/static/public"; export const load = async ({ parent }) => { const { user } = await parent(); diff --git a/src/routes/(static)/login/+page.svelte b/src/routes/(static)/login/+page.svelte index bfd30fe2..dec02b17 100644 --- a/src/routes/(static)/login/+page.svelte +++ b/src/routes/(static)/login/+page.svelte @@ -3,21 +3,22 @@ import handler from "$lib/handler"; import { onMount } from "svelte"; - import { applyAction, deserialize } from "$app/forms"; + import { deserialize } from "$app/forms"; import { tick } from "svelte"; import { fly } from "svelte/transition"; import { enhance } from "$app/forms"; + import Nostr from "$comp/Nostr.svelte"; import Pinpad from "$comp/Pinpad.svelte"; import PasswordInput from "$comp/PasswordInput.svelte"; - import { focus, fail } from "$lib/utils"; + import { wait, copy, focus, fail } from "$lib/utils"; import { password, pin, loginRedirect } from "$lib/store"; import { t } from "$lib/translations"; import { page } from "$app/stores"; import { invalidateAll } from "$app/navigation"; - let nostr = $state(); + let { data, form } = $props(); + onMount(() => { - if (browser && window.nostr) nostr = true; $pin = undefined; localStorage.clear(); sessionStorage.clear(); @@ -26,11 +27,10 @@ if (lang) document.cookie = `lang=${lang} ;`; }); - let { data, form } = $props(); let { id } = $derived(data); + let nostrSignin = $state(); let token = $state(""); - let code = []; $password = undefined; @@ -78,43 +78,6 @@ }); }); - let nostrLogin = async () => { - let pubkey = await window.nostr.getPublicKey(); - const formData = new FormData(); - - let ev = { - kind: 1, - pubkey, - created_at: Date.now(), - content: id, - tags: [], - }; - - try { - let signedEvent = await window.nostr.signEvent(ev); - - formData.append("loginRedirect", redirect); - formData.append("token", token); - formData.append("event", JSON.stringify(signedEvent)); - formData.append("id", id); - - let response = await fetch("?/nostr", { - method: "POST", - body: formData, - }); - - const result = deserialize(await response.text()); - - if (result.type === "success") { - await invalidateAll(); - } - - applyAction(result); - } catch (e) { - fail(e.message); - } - }; - let redirect = $derived( $loginRedirect || $page.url.searchParams.get("redirect"), ); @@ -163,13 +126,10 @@ {$t("login.signIn")} - {#if nostr} - - {/if} - +

{$t("login.noAccount")} {/if} + + -- cgit v1.2.3