fix: set emojis when session available
This commit is contained in:
@ -87,6 +87,8 @@ export function useLoginEvents(pubkey?: string, leaveOpen = false) {
|
|||||||
|
|
||||||
const emojis = useUserEmojiPacks(pubkey, userEmojis);
|
const emojis = useUserEmojiPacks(pubkey, userEmojis);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
Login.setEmojis(emojis);
|
if (session) {
|
||||||
}, [emojis]);
|
Login.setEmojis(emojis);
|
||||||
|
}
|
||||||
|
}, [session, emojis]);
|
||||||
}
|
}
|
||||||
|
@ -35,12 +35,14 @@ const initialState = {
|
|||||||
emojis: [],
|
emojis: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const SESSION_KEY = "session";
|
||||||
|
|
||||||
export class LoginStore extends ExternalStore<LoginSession | undefined> {
|
export class LoginStore extends ExternalStore<LoginSession | undefined> {
|
||||||
#session?: LoginSession;
|
#session?: LoginSession;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
const json = window.localStorage.getItem("session");
|
const json = window.localStorage.getItem(SESSION_KEY);
|
||||||
if (json) {
|
if (json) {
|
||||||
this.#session = { ...initialState, ...JSON.parse(json) };
|
this.#session = { ...initialState, ...JSON.parse(json) };
|
||||||
if (this.#session) {
|
if (this.#session) {
|
||||||
@ -126,9 +128,9 @@ export class LoginStore extends ExternalStore<LoginSession | undefined> {
|
|||||||
|
|
||||||
#save() {
|
#save() {
|
||||||
if (this.#session) {
|
if (this.#session) {
|
||||||
window.localStorage.setItem("session", JSON.stringify(this.#session));
|
window.localStorage.setItem(SESSION_KEY, JSON.stringify(this.#session));
|
||||||
} else {
|
} else {
|
||||||
window.localStorage.removeItem("session");
|
window.localStorage.removeItem(SESSION_KEY);
|
||||||
}
|
}
|
||||||
this.notifyChange();
|
this.notifyChange();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user