diff --git a/app/src/main/java/com/swoosh/microblog/ui/feed/FeedViewModel.kt b/app/src/main/java/com/swoosh/microblog/ui/feed/FeedViewModel.kt index f8c5fce..49c1691 100644 --- a/app/src/main/java/com/swoosh/microblog/ui/feed/FeedViewModel.kt +++ b/app/src/main/java/com/swoosh/microblog/ui/feed/FeedViewModel.kt @@ -114,6 +114,25 @@ class FeedViewModel(application: Application) : AndroidViewModel(application) { fun refreshAccountsList() { _accounts.value = accountManager.getAccounts() _activeAccount.value = accountManager.getActiveAccount() + // Fetch avatar if missing for active account + val active = _activeAccount.value + if (active != null && active.avatarUrl == null) { + viewModelScope.launch { + try { + val service = ApiClient.getService( + active.blogUrl, + apiKeyProvider = { active.apiKey } + ) + val response = service.getCurrentUser() + val avatarUrl = response.body()?.users?.firstOrNull()?.profile_image + if (avatarUrl != null) { + accountManager.updateAccount(id = active.id, avatarUrl = avatarUrl) + _activeAccount.value = accountManager.getActiveAccount() + _accounts.value = accountManager.getAccounts() + } + } catch (_: Exception) { /* best-effort */ } + } + } } private fun observeLocalPosts() {