More Stability improvements to Compose

This commit is contained in:
Vitor Pamplona 2023-10-28 18:23:12 -04:00
parent 572c11e847
commit 3858c57816
4 changed files with 15 additions and 11 deletions

View File

@ -81,7 +81,9 @@ fun NewMediaView(uri: Uri, onClose: () -> Unit, postViewModel: NewMediaModel, ac
var showRelaysDialog by remember {
mutableStateOf(false)
}
var relayList = account.activeWriteRelays()
var relayList = remember {
accountViewModel.account.activeWriteRelays().toImmutableList()
}
Dialog(
onDismissRequest = { onClose() },

View File

@ -172,8 +172,6 @@ fun NewPostView(
accountViewModel: AccountViewModel,
nav: (String) -> Unit
) {
val account = remember(accountViewModel) { accountViewModel.account }
val postViewModel: NewPostViewModel = viewModel()
postViewModel.wantsDirectMessage = enableMessageInterface
@ -184,7 +182,9 @@ fun NewPostView(
var showRelaysDialog by remember {
mutableStateOf(false)
}
var relayList = account.activeWriteRelays()
var relayList = remember {
accountViewModel.account.activeWriteRelays().toImmutableList()
}
LaunchedEffect(Unit) {
postViewModel.load(accountViewModel, baseReplyTo, quote)
@ -387,10 +387,10 @@ fun NewPostView(
Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(vertical = Size5dp, horizontal = Size10dp)) {
ImageVideoDescription(
url,
account.defaultFileServer,
accountViewModel.account.defaultFileServer,
onAdd = { alt, server, sensitiveContent ->
postViewModel.upload(url, alt, sensitiveContent, server, context, relayList)
account.changeDefaultFileServer(server)
accountViewModel.account.changeDefaultFileServer(server)
},
onCancel = {
postViewModel.contentToAddUrl = null
@ -414,7 +414,7 @@ fun NewPostView(
InvoiceRequest(
lud16,
user.pubkeyHex,
account,
accountViewModel.account,
stringResource(id = R.string.lightning_invoice),
stringResource(id = R.string.lightning_create_and_add_invoice),
onSuccess = {

View File

@ -32,6 +32,8 @@ import com.vitorpamplona.amethyst.model.RelayInformation
import com.vitorpamplona.amethyst.service.Nip11Retriever
import com.vitorpamplona.amethyst.service.relays.Relay
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
data class RelayList(
val relay: Relay,
@ -46,9 +48,9 @@ data class RelayInfoDialog(
@Composable
fun RelaySelectionDialog(
preSelectedList: List<Relay>,
preSelectedList: ImmutableList<Relay>,
onClose: () -> Unit,
onPost: (list: List<Relay>) -> Unit,
onPost: (list: ImmutableList<Relay>) -> Unit,
accountViewModel: AccountViewModel,
nav: (String) -> Unit
) {
@ -124,7 +126,7 @@ fun RelaySelectionDialog(
SaveButton(
onPost = {
val selectedRelays = relays.filter { it.isSelected }
onPost(selectedRelays.map { it.relay })
onPost(selectedRelays.map { it.relay }.toImmutableList())
onClose()
},
isActive = hasSelectedRelay

View File

@ -819,7 +819,7 @@ fun RenderChannelThumb(baseNote: Note, channel: Channel, accountViewModel: Accou
@OptIn(ExperimentalLayoutApi::class)
@Composable
fun Gallery(users: List<User>, accountViewModel: AccountViewModel) {
fun Gallery(users: ImmutableList<User>, accountViewModel: AccountViewModel) {
FlowRow(verticalArrangement = Arrangement.Center) {
users.take(6).forEach {
ClickableUserPicture(it, Size35dp, accountViewModel)