Fix for mute list not showing

pull/511/head
Vitor Pamplona 2023-07-16 20:16:17 -04:00
rodzic 6ad00c112a
commit a256e34878
8 zmienionych plików z 49 dodań i 63 usunięć

Wyświetl plik

@ -238,18 +238,18 @@ fun NoteCompose(
}
} else {
CheckHiddenNoteCompose(
baseNote,
routeForLastRead,
modifier,
isBoostedNote,
isQuotedNote,
unPackReply,
makeItShort,
addMarginTop,
showHidden,
parentBackgroundColor,
accountViewModel,
nav
note = baseNote,
routeForLastRead = routeForLastRead,
modifier = modifier,
isBoostedNote = isBoostedNote,
isQuotedNote = isQuotedNote,
unPackReply = unPackReply,
makeItShort = makeItShort,
addMarginTop = addMarginTop,
showHidden = showHidden,
parentBackgroundColor = parentBackgroundColor,
accountViewModel = accountViewModel,
nav = nav
)
}
}
@ -272,7 +272,7 @@ fun CheckHiddenNoteCompose(
) {
if (showHidden) {
// Ignores reports as well
var state by remember {
val state by remember {
mutableStateOf(
NoteComposeReportState(
isAcceptable = true,
@ -283,18 +283,18 @@ fun CheckHiddenNoteCompose(
}
RenderReportState(
state,
note,
routeForLastRead,
modifier,
isBoostedNote,
isQuotedNote,
unPackReply,
makeItShort,
addMarginTop,
parentBackgroundColor,
accountViewModel,
nav
state = state,
note = note,
routeForLastRead = routeForLastRead,
modifier = modifier,
isBoostedNote = isBoostedNote,
isQuotedNote = isQuotedNote,
unPackReply = unPackReply,
makeItShort = makeItShort,
addMarginTop = addMarginTop,
parentBackgroundColor = parentBackgroundColor,
accountViewModel = accountViewModel,
nav = nav
)
} else {
val isHidden by accountViewModel.account.liveHiddenUsers.map {
@ -304,17 +304,17 @@ fun CheckHiddenNoteCompose(
Crossfade(targetState = isHidden) {
if (!it) {
LoadedNoteCompose(
note,
routeForLastRead,
modifier,
isBoostedNote,
isQuotedNote,
unPackReply,
makeItShort,
addMarginTop,
parentBackgroundColor,
accountViewModel,
nav
note = note,
routeForLastRead = routeForLastRead,
modifier = modifier,
isBoostedNote = isBoostedNote,
isQuotedNote = isQuotedNote,
unPackReply = unPackReply,
makeItShort = makeItShort,
addMarginTop = addMarginTop,
parentBackgroundColor = parentBackgroundColor,
accountViewModel = accountViewModel,
nav = nav
)
}
}

Wyświetl plik

@ -90,7 +90,7 @@ sealed class CardFeedState {
object Loading : CardFeedState()
@Stable
class Loaded(val feed: MutableState<ImmutableList<Card>>) : CardFeedState()
class Loaded(val feed: MutableState<ImmutableList<Card>>, val showHidden: MutableState<Boolean>) : CardFeedState()
@Immutable
object Empty : CardFeedState()

Wyświetl plik

@ -142,7 +142,6 @@ fun RenderCardFeed(
state = state,
listState = listState,
routeForLastRead = routeForLastRead,
showHidden = viewModel.showHidden(),
accountViewModel = accountViewModel,
nav = nav
)
@ -159,7 +158,6 @@ fun RenderCardFeed(
private fun FeedLoaded(
state: CardFeedState.Loaded,
listState: LazyListState,
showHidden: Boolean,
routeForLastRead: String,
accountViewModel: AccountViewModel,
nav: (String) -> Unit
@ -181,7 +179,7 @@ private fun FeedLoaded(
}
Row(defaultModifier) {
RenderCardItem(item, routeForLastRead, showHidden, accountViewModel, nav)
RenderCardItem(item, routeForLastRead, showHidden = state.showHidden.value, accountViewModel, nav)
}
}
}

Wyświetl plik

@ -71,10 +71,6 @@ open class CardFeedViewModel(val localFilter: FeedFilter<Note>) : ViewModel() {
scrolltoTopPending = false
}
fun showHidden(): Boolean {
return localFilter.showHiddenKey()
}
private var lastAccount: Account? = null
private var lastNotes: Set<Note>? = null
@ -227,9 +223,10 @@ open class CardFeedViewModel(val localFilter: FeedFilter<Note>) : ViewModel() {
if (notes.isEmpty()) {
_feedContent.update { CardFeedState.Empty }
} else if (currentState is CardFeedState.Loaded) {
currentState.showHidden.value = localFilter.showHiddenKey()
currentState.feed.value = notes
} else {
_feedContent.update { CardFeedState.Loaded(mutableStateOf(notes)) }
_feedContent.update { CardFeedState.Loaded(mutableStateOf(notes), mutableStateOf(localFilter.showHiddenKey())) }
}
}
}

Wyświetl plik

@ -6,7 +6,7 @@ import kotlinx.collections.immutable.ImmutableList
sealed class FeedState {
object Loading : FeedState()
class Loaded(val feed: MutableState<ImmutableList<Note>>) : FeedState()
class Loaded(val feed: MutableState<ImmutableList<Note>>, val showHidden: MutableState<Boolean>) : FeedState()
object Empty : FeedState()
class FeedError(val errorMessage: String) : FeedState()
}

Wyświetl plik

@ -148,12 +148,11 @@ private fun RenderFeed(
is FeedState.Loaded -> {
FeedLoaded(
state,
listState,
routeForLastRead,
viewModel.showHidden(),
accountViewModel,
nav
state = state,
listState = listState,
routeForLastRead = routeForLastRead,
accountViewModel = accountViewModel,
nav = nav
)
}
@ -185,7 +184,6 @@ private fun FeedLoaded(
state: FeedState.Loaded,
listState: LazyListState,
routeForLastRead: String?,
showHidden: Boolean = false,
accountViewModel: AccountViewModel,
nav: (String) -> Unit
) {
@ -212,7 +210,7 @@ private fun FeedLoaded(
routeForLastRead = routeForLastRead,
modifier = baseModifier,
isBoostedNote = false,
showHidden = showHidden,
showHidden = state.showHidden.value,
accountViewModel = accountViewModel,
nav = nav
)

Wyświetl plik

@ -217,10 +217,6 @@ abstract class FeedViewModel(val localFilter: FeedFilter<Note>) : ViewModel(), I
scrolltoTopPending = false
}
fun showHidden(): Boolean {
return localFilter.showHiddenKey()
}
private fun refresh() {
val scope = CoroutineScope(Job() + Dispatchers.Default)
scope.launch {
@ -252,9 +248,10 @@ abstract class FeedViewModel(val localFilter: FeedFilter<Note>) : ViewModel(), I
_feedContent.update { FeedState.Empty }
} else if (currentState is FeedState.Loaded) {
// updates the current list
currentState.showHidden.value = localFilter.showHiddenKey()
currentState.feed.value = notes
} else {
_feedContent.update { FeedState.Loaded(mutableStateOf(notes)) }
_feedContent.update { FeedState.Loaded(mutableStateOf(notes), mutableStateOf(localFilter.showHiddenKey())) }
}
}
}

Wyświetl plik

@ -70,10 +70,6 @@ open class UserFeedViewModel(val dataSource: FeedFilter<User>) : ViewModel(), In
}
}
fun showHidden(): Boolean {
return dataSource.showHiddenKey()
}
private fun refreshSuspended() {
checkNotInMainThread()