fix: init after login

This commit is contained in:
2024-05-28 15:34:25 +01:00
parent 0c07258e58
commit b4ec25eeb4
4 changed files with 67 additions and 64 deletions

View File

@ -41,7 +41,6 @@ export function VideoTile({
const bestVideo = video.bestVideo();
const [hasImg, setHasImage] = useState(true);
if (!liveMedia) return;
console.debug(liveMedia)
return (
<div
className={classNames("flex gap-2", className, {

View File

@ -40,7 +40,7 @@ export function useDeadLink(ev: TaggedNostrEvent | NostrEvent) {
if (alt && alive) {
return {
...pl,
url: alt
url: alt,
};
}
}
@ -57,13 +57,14 @@ export function useDeadLink(ev: TaggedNostrEvent | NostrEvent) {
}
useEffect(() => {
const links = ev.kind === VIDEO_KIND || ev.kind === SHORTS_KIND ?
VideoInfo.parse(ev)?.sources() :
[
const links =
ev.kind === VIDEO_KIND || ev.kind === SHORTS_KIND
? VideoInfo.parse(ev)?.sources()
: [
{
url: findTag(ev, "streaming") ?? findTag(ev, "recording"),
alternatives: []
} as MediaPayload
alternatives: [],
} as MediaPayload,
];
getLiveLink(links).catch(console.error);

View File

@ -32,13 +32,8 @@ export class LoginStore extends ExternalStore<LoginSession | undefined> {
this.#session = JSON.parse(json);
if (this.#session) {
let save = false;
this.#session.state = new UserState(
this.#session?.pubkey,
undefined,
this.#session.state as UserStateObject<never> | undefined,
);
this.#session.state.on("change", () => {
this.#session.state = this.#makeState();
this.#session.state?.on("change", () => {
this.#save();
});
//reset
@ -67,11 +62,18 @@ export class LoginStore extends ExternalStore<LoginSession | undefined> {
}
}
#makeState() {
if (this.#session) {
return new UserState(this.#session.pubkey, undefined, this.#session.state as UserStateObject<never> | undefined);
}
}
loginWithPubkey(pk: string, type = LoginType.Nip7) {
this.#session = {
type,
pubkey: pk,
};
this.#session.state = this.#makeState();
this.#save();
}
@ -81,6 +83,7 @@ export class LoginStore extends ExternalStore<LoginSession | undefined> {
pubkey: bytesToHex(schnorr.getPublicKey(key)),
privateKey: key,
};
this.#session.state = this.#makeState();
this.#save();
}

View File

@ -23,7 +23,7 @@ export function LayoutPage() {
login.state.checkIsStandardList(USER_CARDS);
login.state.init(login.signer(), system);
}
}, []);
}, [login]);
useEffect(() => {
trackEvent("pageview");