Skip to content

Commit

Permalink
Fix edgecase with legacy show_scores (#1552)
Browse files Browse the repository at this point in the history
  • Loading branch information
MV-GH authored Jun 13, 2024
1 parent f62c4e9 commit 32893c1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
22 changes: 20 additions & 2 deletions app/src/main/java/com/jerboa/model/SiteViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -226,15 +226,33 @@ class SiteViewModel(private val accountRepository: AccountRepository) : ViewMode

// For the current default, just use Upvotes / Downvotes
fun voteDisplayMode(): LocalUserVoteDisplayMode {
val api = API.getInstanceOrNull()

return if (api == null || api.FF.hidePost()) {
newVoteDisplayMode()
} else {
legacyVoteDisplayMode()
}
}

private fun newVoteDisplayMode(): LocalUserVoteDisplayMode {
return when (val res = siteRes) {
is ApiState.Success ->
res.data.my_user?.local_user_view?.local_user_vote_display_mode
?: LocalUserVoteDisplayMode.default(res.data.my_user?.local_user_view?.local_user?.show_scores)
res.data.my_user?.local_user_view?.local_user_vote_display_mode ?: LocalUserVoteDisplayMode.default()

else -> LocalUserVoteDisplayMode.default()
}
}

private fun legacyVoteDisplayMode(): LocalUserVoteDisplayMode {
return when (val res = siteRes) {
is ApiState.Success ->
LocalUserVoteDisplayMode.default(res.data.my_user?.local_user_view?.local_user?.show_scores ?: true)

else -> LocalUserVoteDisplayMode.default(true) // Legacy default
}
}

fun getFollowList(): List<CommunityFollowerView> {
return when (val res = siteRes) {
is ApiState.Success -> res.data.my_user?.follows ?: emptyList()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ fun SettingsForm(

val showNsfwState = remember { mutableStateOf(luv?.local_user?.show_nsfw ?: false) }
val showAvatarsState = remember { mutableStateOf(luv?.local_user?.show_avatars ?: false) }
val showScoresStateLegacy = remember { mutableStateOf(luv?.local_user?.show_scores ?: false) }
val showScoresStateLegacy = remember { mutableStateOf(luv?.local_user?.show_scores ?: true) }
val showScoresState = remember { mutableStateOf(luv?.local_user_vote_display_mode?.score ?: false) }
val showUpvotesState = remember { mutableStateOf(luv?.local_user_vote_display_mode?.upvotes ?: false) }
val showDownvotesState = remember { mutableStateOf(luv?.local_user_vote_display_mode?.downvotes ?: false) }
Expand Down

0 comments on commit 32893c1

Please sign in to comment.