login stuff and user profile

This commit is contained in:
2024-06-28 06:16:32 -04:00
parent 9cd73c12db
commit 4b8fc1abdb
7 changed files with 62 additions and 8 deletions

View File

@@ -1,11 +1,12 @@
import { writable } from 'svelte/store';
//import NDKSvelte from '@nostr-dev-kit/ndk-svelte';
import NDK from '@nostr-dev-kit/ndk';
import { browser } from '$app/environment';
let relays;
try {
relays = localStorage.getItem('relays');
if (browser) relays = localStorage.getItem('relays');
} catch (e) {
console.error(e);
}

View File

@@ -1,4 +1,4 @@
import { get, writable } from 'svelte/store';
import { writable } from 'svelte/store';
// import { ndk } from "$lib/stores/nostr";
// import type { NDKUser } from "@nostr-dev-kit/ndk";

View File

@@ -11,14 +11,18 @@ import { bunkerNDK, ndk } from '$lib/stores/nostr';
import { currentUser } from '$lib/store';
import { loginState } from '$lib/stores/sesson';
import { get } from 'svelte/store';
import { browser } from '$app/environment';
export type LoginMethod = 'none' | 'pk' | 'nip07' | 'nip46';
let $ndk = get(ndk);
const $bunkerNDK = get(bunkerNDK);
let $ndk: NDK;
const $bunkerNDK: NDK = get(bunkerNDK);
export async function login(method: LoginMethod, userPubkey?: string): Promise<NDKUser | null> {
console.debug(`logging in with ${method}`);
let u: NDKUser | null | undefined;
$ndk = get(ndk);
switch (method) {
case 'none':
@@ -67,7 +71,7 @@ async function pkSignin(key: string): Promise<NDKUser | null> {
}
async function nip07Login(ndk: NDK): Promise<NDKUser | null> {
const storedNpub = localStorage.getItem('pubkey');
const storedNpub = browser ? localStorage.getItem('pubkey') : '';
let user: NDKUser | null = null;
if (storedNpub) {
@@ -80,8 +84,9 @@ async function nip07Login(ndk: NDK): Promise<NDKUser | null> {
try {
ndk.signer = new NDKNip07Signer();
user = await ndk.signer?.blockUntilReady();
user.ndk = ndk;
user.fetchProfile();
ndk.activeUser = user;
ndk.activeUser.fetchProfile();
user.ndk = ndk;
console.debug('Nip07 Login user:', user);
console.debug('NDK: ', ndk);

View File

@@ -0,0 +1,22 @@
<script lang="ts">
import { page } from "$app/stores";
import { ndk } from "$lib/stores/nostr";
import type NDK from "@nostr-dev-kit/ndk";
import { onMount } from "svelte";
import { get } from "svelte/store";
let id: string;
let { user } = $page.data;
let _ndk: NDK;
onMount(() => {
_ndk = get(ndk);
})
$: if (id !== $page.params.id){
id = $page.params.id;
user.ndk = _ndk;
}
</script>

View File

@@ -0,0 +1,22 @@
<script lang="ts">
import { page } from "$app/stores";
import { ndk } from "$lib/stores/nostr";
import type NDK from "@nostr-dev-kit/ndk";
import { onMount } from "svelte";
import { get } from "svelte/store";
let id: string;
let { user } = $page.data;
let _ndk: NDK;
onMount(() => {
_ndk = get(ndk);
})
$: if (id !== $page.params.id){
id = $page.params.id;
user.ndk = _ndk;
}
</script>

View File

@@ -0,0 +1,4 @@
<script lang="ts">
import { page } from "$app/stores";
import type { NDKUser } from "@nostr-dev-kit/ndk";
</script>

View File

@@ -4,12 +4,12 @@ import { ndk } from '$lib/stores/nostr';
import { get } from 'svelte/store';
import { currentUser } from '$lib/store';
import { NDKNip07Signer, NDKUser } from '@nostr-dev-kit/ndk';
import { browser } from '$app/environment';
const _ndk = get(ndk);
export async function browserSetup() {
const pubkey = localStorage.getItem('pubkey');
console.debug(pubkey);
const pubkey = browser ? localStorage.getItem('pubkey') : '';
if (pubkey) {
const u = _ndk.getUser({ pubkey });