Skeleton: Some login logic fixes

This commit is contained in:
2025-02-17 22:56:03 +01:00
parent 04b69611a1
commit 4a1fcc6447
4 changed files with 25 additions and 21 deletions

View File

@ -112,7 +112,9 @@ export const fetch_users = async (fetch: (_: any) => Promise<Response>): Promise
.getFullList({ fetch: fetch, sort: "+username" });
users.map((user: User) => {
user.avatar_url = pb.files.getURL(user, user.avatar);
if (user.avatar) {
user.avatar_url = pb.files.getURL(user, user.avatar);
}
});
return users;

View File

@ -8,6 +8,7 @@ export let pbUser: User | undefined = undefined;
const update_user = async (record: AuthRecord): Promise<void> => {
if (!record) {
pbUser = undefined;
console.log("Returning with pbUser = undefined");
return;
}
@ -32,8 +33,11 @@ const update_user = async (record: AuthRecord): Promise<void> => {
};
// Update the pbUser object when authStore changes (e.g. after logging in)
pb.authStore.onChange(() => {
update_user(pb.authStore.record);
// console.log("Updating pbUser...")
// console.dir(pbUser, { depth: null });
pb.authStore.onChange(async () => {
await update_user(pb.authStore.record);
// TODO: If the user has not chosen an avatar,
// the page keeps displaying the "Login" button (wtf)
console.log("Updating pbUser...");
console.dir(pbUser, { depth: null });
}, true);