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
}