login stuff and user profile
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
22
src/routes/[id]/(profile)/+layout.svelte
Normal file
22
src/routes/[id]/(profile)/+layout.svelte
Normal 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>
|
||||
22
src/routes/[id]/(profile)/+page.svelte
Normal file
22
src/routes/[id]/(profile)/+page.svelte
Normal 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>
|
||||
4
src/routes/[id]/+layout.svelte
Normal file
4
src/routes/[id]/+layout.svelte
Normal file
@@ -0,0 +1,4 @@
|
||||
<script lang="ts">
|
||||
import { page } from "$app/stores";
|
||||
import type { NDKUser } from "@nostr-dev-kit/ndk";
|
||||
</script>
|
||||
@@ -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 });
|
||||
|
||||
Reference in New Issue
Block a user