diff --git a/packages/frontend/src/accounts.ts b/packages/frontend/src/accounts.ts index c66d3819af..420eafdb1d 100644 --- a/packages/frontend/src/accounts.ts +++ b/packages/frontend/src/accounts.ts @@ -164,6 +164,24 @@ export async function refreshCurrentAccount() { }); } +export async function refreshAccounts() { + const accounts = await getAccounts(); + for (const account of accounts) { + if (account.host === host && account.id === $i?.id) { + await refreshCurrentAccount(); + } else if (account.token) { + try { + const user = await fetchAccount(account.token, account.id); + store.set('accountInfos', { ...store.s.accountInfos, [account.host + '/' + account.id]: user }); + } catch (e) { + if (e === isAccountDeleted) { + await removeAccount(account.host, account.id); + } + } + } + } +} + export async function login(token: AccountWithToken['token'], redirect?: string, showWaiting = true) { const showing = ref(true); diff --git a/packages/frontend/src/pages/settings/accounts.vue b/packages/frontend/src/pages/settings/accounts.vue index 63eda39dfb..05be5141d4 100644 --- a/packages/frontend/src/pages/settings/accounts.vue +++ b/packages/frontend/src/pages/settings/accounts.vue @@ -8,8 +8,8 @@ SPDX-License-Identifier: AGPL-3.0-only