More Stability improvements to Compose
This commit is contained in:
@@ -81,7 +81,9 @@ fun NewMediaView(uri: Uri, onClose: () -> Unit, postViewModel: NewMediaModel, ac
|
|||||||
var showRelaysDialog by remember {
|
var showRelaysDialog by remember {
|
||||||
mutableStateOf(false)
|
mutableStateOf(false)
|
||||||
}
|
}
|
||||||
var relayList = account.activeWriteRelays()
|
var relayList = remember {
|
||||||
|
accountViewModel.account.activeWriteRelays().toImmutableList()
|
||||||
|
}
|
||||||
|
|
||||||
Dialog(
|
Dialog(
|
||||||
onDismissRequest = { onClose() },
|
onDismissRequest = { onClose() },
|
||||||
|
|||||||
@@ -172,8 +172,6 @@ fun NewPostView(
|
|||||||
accountViewModel: AccountViewModel,
|
accountViewModel: AccountViewModel,
|
||||||
nav: (String) -> Unit
|
nav: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
val account = remember(accountViewModel) { accountViewModel.account }
|
|
||||||
|
|
||||||
val postViewModel: NewPostViewModel = viewModel()
|
val postViewModel: NewPostViewModel = viewModel()
|
||||||
postViewModel.wantsDirectMessage = enableMessageInterface
|
postViewModel.wantsDirectMessage = enableMessageInterface
|
||||||
|
|
||||||
@@ -184,7 +182,9 @@ fun NewPostView(
|
|||||||
var showRelaysDialog by remember {
|
var showRelaysDialog by remember {
|
||||||
mutableStateOf(false)
|
mutableStateOf(false)
|
||||||
}
|
}
|
||||||
var relayList = account.activeWriteRelays()
|
var relayList = remember {
|
||||||
|
accountViewModel.account.activeWriteRelays().toImmutableList()
|
||||||
|
}
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
postViewModel.load(accountViewModel, baseReplyTo, quote)
|
postViewModel.load(accountViewModel, baseReplyTo, quote)
|
||||||
@@ -387,10 +387,10 @@ fun NewPostView(
|
|||||||
Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(vertical = Size5dp, horizontal = Size10dp)) {
|
Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(vertical = Size5dp, horizontal = Size10dp)) {
|
||||||
ImageVideoDescription(
|
ImageVideoDescription(
|
||||||
url,
|
url,
|
||||||
account.defaultFileServer,
|
accountViewModel.account.defaultFileServer,
|
||||||
onAdd = { alt, server, sensitiveContent ->
|
onAdd = { alt, server, sensitiveContent ->
|
||||||
postViewModel.upload(url, alt, sensitiveContent, server, context, relayList)
|
postViewModel.upload(url, alt, sensitiveContent, server, context, relayList)
|
||||||
account.changeDefaultFileServer(server)
|
accountViewModel.account.changeDefaultFileServer(server)
|
||||||
},
|
},
|
||||||
onCancel = {
|
onCancel = {
|
||||||
postViewModel.contentToAddUrl = null
|
postViewModel.contentToAddUrl = null
|
||||||
@@ -414,7 +414,7 @@ fun NewPostView(
|
|||||||
InvoiceRequest(
|
InvoiceRequest(
|
||||||
lud16,
|
lud16,
|
||||||
user.pubkeyHex,
|
user.pubkeyHex,
|
||||||
account,
|
accountViewModel.account,
|
||||||
stringResource(id = R.string.lightning_invoice),
|
stringResource(id = R.string.lightning_invoice),
|
||||||
stringResource(id = R.string.lightning_create_and_add_invoice),
|
stringResource(id = R.string.lightning_create_and_add_invoice),
|
||||||
onSuccess = {
|
onSuccess = {
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import com.vitorpamplona.amethyst.model.RelayInformation
|
|||||||
import com.vitorpamplona.amethyst.service.Nip11Retriever
|
import com.vitorpamplona.amethyst.service.Nip11Retriever
|
||||||
import com.vitorpamplona.amethyst.service.relays.Relay
|
import com.vitorpamplona.amethyst.service.relays.Relay
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
data class RelayList(
|
data class RelayList(
|
||||||
val relay: Relay,
|
val relay: Relay,
|
||||||
@@ -46,9 +48,9 @@ data class RelayInfoDialog(
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun RelaySelectionDialog(
|
fun RelaySelectionDialog(
|
||||||
preSelectedList: List<Relay>,
|
preSelectedList: ImmutableList<Relay>,
|
||||||
onClose: () -> Unit,
|
onClose: () -> Unit,
|
||||||
onPost: (list: List<Relay>) -> Unit,
|
onPost: (list: ImmutableList<Relay>) -> Unit,
|
||||||
accountViewModel: AccountViewModel,
|
accountViewModel: AccountViewModel,
|
||||||
nav: (String) -> Unit
|
nav: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
@@ -124,7 +126,7 @@ fun RelaySelectionDialog(
|
|||||||
SaveButton(
|
SaveButton(
|
||||||
onPost = {
|
onPost = {
|
||||||
val selectedRelays = relays.filter { it.isSelected }
|
val selectedRelays = relays.filter { it.isSelected }
|
||||||
onPost(selectedRelays.map { it.relay })
|
onPost(selectedRelays.map { it.relay }.toImmutableList())
|
||||||
onClose()
|
onClose()
|
||||||
},
|
},
|
||||||
isActive = hasSelectedRelay
|
isActive = hasSelectedRelay
|
||||||
|
|||||||
@@ -819,7 +819,7 @@ fun RenderChannelThumb(baseNote: Note, channel: Channel, accountViewModel: Accou
|
|||||||
|
|
||||||
@OptIn(ExperimentalLayoutApi::class)
|
@OptIn(ExperimentalLayoutApi::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun Gallery(users: List<User>, accountViewModel: AccountViewModel) {
|
fun Gallery(users: ImmutableList<User>, accountViewModel: AccountViewModel) {
|
||||||
FlowRow(verticalArrangement = Arrangement.Center) {
|
FlowRow(verticalArrangement = Arrangement.Center) {
|
||||||
users.take(6).forEach {
|
users.take(6).forEach {
|
||||||
ClickableUserPicture(it, Size35dp, accountViewModel)
|
ClickableUserPicture(it, Size35dp, accountViewModel)
|
||||||
|
|||||||
Reference in New Issue
Block a user