diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMediaView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMediaView.kt index 43d634f66..c360b88a2 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMediaView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewMediaView.kt @@ -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() }, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostView.kt index fbf94601f..6d7044197 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostView.kt @@ -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 = { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt index 04592354f..d0806002a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt @@ -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, + preSelectedList: ImmutableList, onClose: () -> Unit, - onPost: (list: List) -> Unit, + onPost: (list: ImmutableList) -> 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 diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChannelCardCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChannelCardCompose.kt index 6b849f8ab..b9b9e6a9b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChannelCardCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChannelCardCompose.kt @@ -819,7 +819,7 @@ fun RenderChannelThumb(baseNote: Note, channel: Channel, accountViewModel: Accou @OptIn(ExperimentalLayoutApi::class) @Composable -fun Gallery(users: List, accountViewModel: AccountViewModel) { +fun Gallery(users: ImmutableList, accountViewModel: AccountViewModel) { FlowRow(verticalArrangement = Arrangement.Center) { users.take(6).forEach { ClickableUserPicture(it, Size35dp, accountViewModel)