open the post screen after editing the text

pull/749/head
greenart7c3 2024-01-24 08:40:55 -03:00
rodzic 99965ecd2d
commit 2c086f76e2
1 zmienionych plików z 25 dodań i 4 usunięć

Wyświetl plik

@ -20,7 +20,6 @@
*/ */
package com.vitorpamplona.amethyst.ui.navigation package com.vitorpamplona.amethyst.ui.navigation
import android.util.Log
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
@ -98,7 +97,9 @@ import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.service.relays.RelayPool import com.vitorpamplona.amethyst.service.relays.RelayPool
import com.vitorpamplona.amethyst.service.relays.RelayPoolStatus import com.vitorpamplona.amethyst.service.relays.RelayPoolStatus
import com.vitorpamplona.amethyst.ui.actions.CloseButton import com.vitorpamplona.amethyst.ui.actions.CloseButton
import com.vitorpamplona.amethyst.ui.actions.NewPostView
import com.vitorpamplona.amethyst.ui.actions.NewRelayListView import com.vitorpamplona.amethyst.ui.actions.NewRelayListView
import com.vitorpamplona.amethyst.ui.actions.PostButton
import com.vitorpamplona.amethyst.ui.components.CreateTextWithEmoji import com.vitorpamplona.amethyst.ui.components.CreateTextWithEmoji
import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage
import com.vitorpamplona.amethyst.ui.note.LoadStatuses import com.vitorpamplona.amethyst.ui.note.LoadStatuses
@ -475,11 +476,11 @@ fun ListContent(
} }
var showDraft by remember { mutableStateOf(false) } var showDraft by remember { mutableStateOf(false) }
var wantsToPost by remember { mutableStateOf(false) }
LaunchedEffect(drawerState.isOpen) { LaunchedEffect(drawerState.isOpen) {
if (drawerState.isOpen) { if (drawerState.isOpen) {
launch(Dispatchers.IO) { launch(Dispatchers.IO) {
Log.d("draftText", "loading draft")
draftText = LocalPreferences.loadDraft(accountViewModel.account) draftText = LocalPreferences.loadDraft(accountViewModel.account)
} }
} }
@ -617,13 +618,32 @@ fun ListContent(
) )
} }
if (wantsToPost) {
NewPostView(
{
wantsToPost = false
draftText = null
coroutineScope.launch { drawerState.close() }
},
accountViewModel = accountViewModel,
nav = nav,
)
}
if (showDraft) { if (showDraft) {
EditDraftDialog( EditDraftDialog(
{ {
draftText = null draftText = null
showDraft = false showDraft = false
}, },
{ }, {
coroutineScope.launch(Dispatchers.IO) {
LocalPreferences.saveDraft(it, accountViewModel.account)
draftText = null
showDraft = false
wantsToPost = true
}
},
draftText!!, draftText!!,
) )
} }
@ -658,7 +678,7 @@ fun ListContent(
@Composable @Composable
fun EditDraftDialog( fun EditDraftDialog(
onClose: () -> Unit, onClose: () -> Unit,
onPost: () -> Unit, onPost: (String) -> Unit,
draftText: String, draftText: String,
) { ) {
var message by remember { var message by remember {
@ -678,6 +698,7 @@ fun EditDraftDialog(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
) { ) {
CloseButton(onPress = { onClose() }) CloseButton(onPress = { onClose() })
PostButton(isActive = true, onPost = { onPost(message.text) })
} }
Column( Column(