From 04a08af5e95d585fc5c6f65436468155c00a46f3 Mon Sep 17 00:00:00 2001 From: Pas <74743263+Pasithea0@users.noreply.github.com> Date: Mon, 17 Nov 2025 13:05:57 -0700 Subject: [PATCH] fix account nickname not updating or displaying --- src/hooks/auth/useAuth.ts | 10 ++++++++++ src/pages/Settings.tsx | 11 +++++------ src/stores/auth/index.ts | 8 ++++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/hooks/auth/useAuth.ts b/src/hooks/auth/useAuth.ts index 0bd48018..77c2fb86 100644 --- a/src/hooks/auth/useAuth.ts +++ b/src/hooks/auth/useAuth.ts @@ -188,6 +188,16 @@ export function useAuth() { getGroupOrder(backendUrl, account), ]); + // Update account store with fresh user data (including nickname) + const { setAccount } = useAuthStore.getState(); + if (account) { + setAccount({ + ...account, + nickname: user.user.nickname, + profile: user.user.profile, + }); + } + syncData( user.user, user.session, diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index f01700cf..e85d4364 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -485,9 +485,9 @@ export function SettingsPage() { ); const account = useAuthStore((s) => s.account); - const setAccount = useAuthStore((s) => s.setAccount); const updateProfile = useAuthStore((s) => s.setAccountProfile); const updateDeviceName = useAuthStore((s) => s.updateDeviceName); + const updateNickname = useAuthStore((s) => s.setAccountNickname); const decryptedName = useMemo(() => { if (!account) return ""; return decryptData(account.deviceName, base64ToBuffer(account.seed)); @@ -656,14 +656,13 @@ export function SettingsPage() { await editUser(backendUrl, account, { nickname: state.nickname.state, }); - // Update the account in the store - const updatedAccount = { ...account, nickname: state.nickname.state }; - setAccount(updatedAccount); + updateNickname(state.nickname.state); } - if (state.profile.changed) { + if (state.profile.changed && state.profile.state) { await editUser(backendUrl, account, { profile: state.profile.state, }); + updateProfile(state.profile.state); } } @@ -734,7 +733,7 @@ export function SettingsPage() { setProxySet, updateDeviceName, updateProfile, - setAccount, + updateNickname, logout, setBackendUrl, setProxyTmdb, diff --git a/src/stores/auth/index.ts b/src/stores/auth/index.ts index 7db2dd37..5555daaf 100644 --- a/src/stores/auth/index.ts +++ b/src/stores/auth/index.ts @@ -28,6 +28,7 @@ interface AuthStore { updateDeviceName(deviceName: string): void; updateAccount(acc: Partial): void; setAccountProfile(acc: Account["profile"]): void; + setAccountNickname(nickname: string): void; setBackendUrl(url: null | string): void; setProxySet(urls: null | string[]): void; } @@ -65,6 +66,13 @@ export const useAuthStore = create( } }); }, + setAccountNickname(nickname) { + set((s) => { + if (s.account) { + s.account.nickname = nickname; + } + }); + }, updateAccount(acc) { set((s) => { if (!s.account) return;