diff --git a/components/status/StatusSpoiler.vue b/components/status/StatusSpoiler.vue index 9eced3bc..514bebd0 100644 --- a/components/status/StatusSpoiler.vue +++ b/components/status/StatusSpoiler.vue @@ -1,11 +1,13 @@ diff --git a/composables/users.ts b/composables/users.ts index be24ea61..840ed99d 100644 --- a/composables/users.ts +++ b/composables/users.ts @@ -169,10 +169,23 @@ export async function loginTo(masto: ElkMasto, user: Overwrite() +export function getExpandSpoilersByDefault(account: mastodon.v1.AccountCredentials) { + return accountPreferencesMap.get(account.acct)?.['reading:expand:spoilers'] ?? false +} + export async function fetchAccountInfo(client: mastodon.Client, server: string) { - const account = await client.v1.accounts.verifyCredentials() + const [account, preferences] = await Promise.all([ + client.v1.accounts.verifyCredentials(), + client.v1.preferences.fetch(), + ]) + if (!account.acct.includes('@')) account.acct = `${account.acct}@${server}` + + // TODO: lazy load preferences + accountPreferencesMap.set(account.acct, preferences) + cacheAccount(account, server, true) return account }