mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-03-26 17:52:29 +01:00
removes derived states and some remember functions for performance.
This commit is contained in:
parent
5d5c3ae3e3
commit
08869ac350
@ -31,7 +31,7 @@ import com.vitorpamplona.quartz.events.ReportEvent
|
||||
import com.vitorpamplona.quartz.events.StatusEvent
|
||||
|
||||
object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
|
||||
var usersToWatch = setOf<User>()
|
||||
private var usersToWatch = setOf<User>()
|
||||
|
||||
fun createUserMetadataFilter(): List<TypedFilter>? {
|
||||
if (usersToWatch.isEmpty()) return null
|
||||
@ -83,8 +83,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
.flatten()
|
||||
}.flatten()
|
||||
}
|
||||
|
||||
val userChannel =
|
||||
@ -110,8 +109,7 @@ object NostrSingleUserDataSource : NostrDataSource("SingleUserFeed") {
|
||||
listOfNotNull(
|
||||
createUserMetadataFilter(),
|
||||
createUserMetadataStatusReportFilter(),
|
||||
)
|
||||
.flatten()
|
||||
).flatten()
|
||||
.ifEmpty { null }
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,6 @@ import androidx.compose.material3.NavigationBarItem
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
@ -146,12 +145,16 @@ private fun RowScope.HasNewItemsIcon(
|
||||
navEntryState: State<NavBackStackEntry?>,
|
||||
nav: (Route, Boolean) -> Unit,
|
||||
) {
|
||||
val selected by
|
||||
remember(navEntryState.value) {
|
||||
derivedStateOf { navEntryState.value?.destination?.route?.substringBefore("?") == route.base }
|
||||
}
|
||||
val selected =
|
||||
(
|
||||
navEntryState.value
|
||||
?.destination
|
||||
?.route
|
||||
?.indexOf(route.base) ?: -1
|
||||
) > -1
|
||||
|
||||
NavigationBarItem(
|
||||
alwaysShowLabel = false,
|
||||
icon = {
|
||||
NotifiableIcon(
|
||||
selected,
|
||||
|
@ -47,7 +47,6 @@ import androidx.compose.material3.TextFieldDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.derivedStateOf
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
@ -405,11 +404,9 @@ private fun FullBleedNoteCompose(
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
NoteUsernameDisplay(baseNote, Modifier.weight(1f))
|
||||
|
||||
val isCommunityPost by
|
||||
val isCommunityPost =
|
||||
remember(baseNote) {
|
||||
derivedStateOf {
|
||||
baseNote.event?.isTaggedAddressableKind(CommunityDefinitionEvent.KIND) == true
|
||||
}
|
||||
baseNote.event?.isTaggedAddressableKind(CommunityDefinitionEvent.KIND) == true
|
||||
}
|
||||
|
||||
if (isCommunityPost) {
|
||||
|
@ -143,7 +143,7 @@ open class Event(
|
||||
|
||||
override fun isSensitive() =
|
||||
tags.any {
|
||||
(it.size > 0 && it[0].equals("content-warning")) ||
|
||||
(it.size > 0 && it[0] == "content-warning") ||
|
||||
(it.size > 1 && it[0] == "t" && (it[1].equals("nsfw", true) || it[1].equals("nude", true)))
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user