Moves profile watchers to their own compose functions
This commit is contained in:
@@ -347,15 +347,13 @@ private fun ZapTabHeader(baseUser: User) {
|
|||||||
var zapAmount by remember { mutableStateOf<BigDecimal?>(null) }
|
var zapAmount by remember { mutableStateOf<BigDecimal?>(null) }
|
||||||
|
|
||||||
LaunchedEffect(key1 = userState) {
|
LaunchedEffect(key1 = userState) {
|
||||||
launch(Dispatchers.IO) {
|
launch(Dispatchers.Default) {
|
||||||
val tempAmount = baseUser.zappedAmount()
|
val tempAmount = baseUser.zappedAmount()
|
||||||
withContext(Dispatchers.Main) {
|
|
||||||
if (zapAmount != tempAmount) {
|
if (zapAmount != tempAmount) {
|
||||||
zapAmount = tempAmount
|
zapAmount = tempAmount
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Text(text = "${showAmountAxis(zapAmount)} ${stringResource(id = R.string.zaps)}")
|
Text(text = "${showAmountAxis(zapAmount)} ${stringResource(id = R.string.zaps)}")
|
||||||
}
|
}
|
||||||
@@ -1027,11 +1025,7 @@ private fun WatchFollowChanges(
|
|||||||
fun TabReceivedZaps(baseUser: User, accountViewModel: AccountViewModel, nav: (String) -> Unit) {
|
fun TabReceivedZaps(baseUser: User, accountViewModel: AccountViewModel, nav: (String) -> Unit) {
|
||||||
val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel()
|
val feedViewModel: NostrUserProfileZapsFeedViewModel = viewModel()
|
||||||
|
|
||||||
val userState by baseUser.live().zaps.observeAsState()
|
WatchZapsAndUpdateFeed(baseUser, feedViewModel)
|
||||||
|
|
||||||
LaunchedEffect(userState) {
|
|
||||||
feedViewModel.invalidateData()
|
|
||||||
}
|
|
||||||
|
|
||||||
Column(Modifier.fillMaxHeight()) {
|
Column(Modifier.fillMaxHeight()) {
|
||||||
Column(
|
Column(
|
||||||
@@ -1043,14 +1037,22 @@ fun TabReceivedZaps(baseUser: User, accountViewModel: AccountViewModel, nav: (St
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TabReports(baseUser: User, accountViewModel: AccountViewModel, nav: (String) -> Unit) {
|
private fun WatchZapsAndUpdateFeed(
|
||||||
val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel()
|
baseUser: User,
|
||||||
|
feedViewModel: NostrUserProfileZapsFeedViewModel
|
||||||
val userState by baseUser.live().reports.observeAsState()
|
) {
|
||||||
|
val userState by baseUser.live().zaps.observeAsState()
|
||||||
|
|
||||||
LaunchedEffect(userState) {
|
LaunchedEffect(userState) {
|
||||||
feedViewModel.invalidateData()
|
feedViewModel.invalidateData()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun TabReports(baseUser: User, accountViewModel: AccountViewModel, nav: (String) -> Unit) {
|
||||||
|
val feedViewModel: NostrUserProfileReportFeedViewModel = viewModel()
|
||||||
|
|
||||||
|
WatchReportsAndUpdateFeed(baseUser, feedViewModel)
|
||||||
|
|
||||||
Column(Modifier.fillMaxHeight()) {
|
Column(Modifier.fillMaxHeight()) {
|
||||||
Column(
|
Column(
|
||||||
@@ -1061,6 +1063,17 @@ fun TabReports(baseUser: User, accountViewModel: AccountViewModel, nav: (String)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun WatchReportsAndUpdateFeed(
|
||||||
|
baseUser: User,
|
||||||
|
feedViewModel: NostrUserProfileReportFeedViewModel
|
||||||
|
) {
|
||||||
|
val userState by baseUser.live().reports.observeAsState()
|
||||||
|
LaunchedEffect(userState) {
|
||||||
|
feedViewModel.invalidateData()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TabRelays(user: User, accountViewModel: AccountViewModel) {
|
fun TabRelays(user: User, accountViewModel: AccountViewModel) {
|
||||||
val feedViewModel: RelayFeedViewModel = viewModel()
|
val feedViewModel: RelayFeedViewModel = viewModel()
|
||||||
|
|||||||
Reference in New Issue
Block a user