Moves the Post button on chat screens to a > Button
This commit is contained in:
@@ -253,7 +253,6 @@ fun ProfileContent(
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun EditStatusBox(baseAccountUser: User, accountViewModel: AccountViewModel) {
|
private fun EditStatusBox(baseAccountUser: User, accountViewModel: AccountViewModel) {
|
||||||
val scope = rememberCoroutineScope()
|
|
||||||
val focusManager = LocalFocusManager.current
|
val focusManager = LocalFocusManager.current
|
||||||
|
|
||||||
LoadStatuses(user = baseAccountUser, accountViewModel) { statuses ->
|
LoadStatuses(user = baseAccountUser, accountViewModel) { statuses ->
|
||||||
|
|||||||
@@ -94,7 +94,6 @@ import com.vitorpamplona.amethyst.service.connectivitystatus.ConnectivityStatus
|
|||||||
import com.vitorpamplona.amethyst.ui.actions.NewChannelView
|
import com.vitorpamplona.amethyst.ui.actions.NewChannelView
|
||||||
import com.vitorpamplona.amethyst.ui.actions.NewMessageTagger
|
import com.vitorpamplona.amethyst.ui.actions.NewMessageTagger
|
||||||
import com.vitorpamplona.amethyst.ui.actions.NewPostViewModel
|
import com.vitorpamplona.amethyst.ui.actions.NewPostViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.actions.PostButton
|
|
||||||
import com.vitorpamplona.amethyst.ui.actions.UploadFromGallery
|
import com.vitorpamplona.amethyst.ui.actions.UploadFromGallery
|
||||||
import com.vitorpamplona.amethyst.ui.components.LoadNote
|
import com.vitorpamplona.amethyst.ui.components.LoadNote
|
||||||
import com.vitorpamplona.amethyst.ui.components.RobohashAsyncImageProxy
|
import com.vitorpamplona.amethyst.ui.components.RobohashAsyncImageProxy
|
||||||
@@ -389,13 +388,12 @@ fun EditFieldRow(
|
|||||||
},
|
},
|
||||||
textStyle = LocalTextStyle.current.copy(textDirection = TextDirection.Content),
|
textStyle = LocalTextStyle.current.copy(textDirection = TextDirection.Content),
|
||||||
trailingIcon = {
|
trailingIcon = {
|
||||||
PostButton(
|
ThinSendButton(
|
||||||
onPost = {
|
|
||||||
onSendNewMessage()
|
|
||||||
},
|
|
||||||
isActive = channelScreenModel.message.text.isNotBlank() && !channelScreenModel.isUploadingImage,
|
isActive = channelScreenModel.message.text.isNotBlank() && !channelScreenModel.isUploadingImage,
|
||||||
modifier = EditFieldTrailingIconModifier
|
modifier = EditFieldTrailingIconModifier
|
||||||
)
|
) {
|
||||||
|
onSendNewMessage()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
leadingIcon = {
|
leadingIcon = {
|
||||||
UploadFromGallery(
|
UploadFromGallery(
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ import androidx.compose.foundation.text.KeyboardOptions
|
|||||||
import androidx.compose.foundation.verticalScroll
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.EditNote
|
import androidx.compose.material.icons.filled.EditNote
|
||||||
|
import androidx.compose.material.icons.filled.Send
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.Divider
|
import androidx.compose.material3.Divider
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.LocalTextStyle
|
import androidx.compose.material3.LocalTextStyle
|
||||||
@@ -87,6 +87,7 @@ import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
|
|||||||
import com.vitorpamplona.amethyst.ui.theme.EditFieldBorder
|
import com.vitorpamplona.amethyst.ui.theme.EditFieldBorder
|
||||||
import com.vitorpamplona.amethyst.ui.theme.EditFieldModifier
|
import com.vitorpamplona.amethyst.ui.theme.EditFieldModifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.EditFieldTrailingIconModifier
|
import com.vitorpamplona.amethyst.ui.theme.EditFieldTrailingIconModifier
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size30Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size30Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size34dp
|
import com.vitorpamplona.amethyst.ui.theme.Size34dp
|
||||||
import com.vitorpamplona.amethyst.ui.theme.StdPadding
|
import com.vitorpamplona.amethyst.ui.theme.StdPadding
|
||||||
@@ -330,7 +331,6 @@ fun ChatroomScreen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PrivateMessageEditFieldRow(
|
fun PrivateMessageEditFieldRow(
|
||||||
channelScreenModel: NewPostViewModel,
|
channelScreenModel: NewPostViewModel,
|
||||||
@@ -362,13 +362,12 @@ fun PrivateMessageEditFieldRow(
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
trailingIcon = {
|
trailingIcon = {
|
||||||
PostButton(
|
ThinSendButton(
|
||||||
onPost = {
|
|
||||||
onSendNewMessage()
|
|
||||||
},
|
|
||||||
isActive = channelScreenModel.message.text.isNotBlank() && !channelScreenModel.isUploadingImage,
|
isActive = channelScreenModel.message.text.isNotBlank() && !channelScreenModel.isUploadingImage,
|
||||||
modifier = EditFieldTrailingIconModifier
|
modifier = EditFieldTrailingIconModifier
|
||||||
)
|
) {
|
||||||
|
onSendNewMessage()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
leadingIcon = {
|
leadingIcon = {
|
||||||
Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(horizontal = 6.dp)) {
|
Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(horizontal = 6.dp)) {
|
||||||
@@ -483,6 +482,21 @@ fun NewFeatureNIP24AlertDialog(accountViewModel: AccountViewModel, onConfirm: ()
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun ThinSendButton(isActive: Boolean, modifier: Modifier, onClick: () -> Unit) {
|
||||||
|
IconButton(
|
||||||
|
enabled = isActive,
|
||||||
|
modifier = modifier,
|
||||||
|
onClick = onClick
|
||||||
|
) {
|
||||||
|
Icon(
|
||||||
|
imageVector = Icons.Default.Send,
|
||||||
|
null,
|
||||||
|
modifier = Size20Modifier
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ChatroomHeader(
|
fun ChatroomHeader(
|
||||||
room: ChatroomKey,
|
room: ChatroomKey,
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ val EditFieldModifier = Modifier
|
|||||||
.padding(start = 10.dp, end = 10.dp, bottom = 10.dp, top = 5.dp)
|
.padding(start = 10.dp, end = 10.dp, bottom = 10.dp, top = 5.dp)
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
val EditFieldTrailingIconModifier = Modifier
|
val EditFieldTrailingIconModifier = Modifier
|
||||||
.height(32.dp)
|
.height(26.dp)
|
||||||
.padding(start = 5.dp, end = 10.dp)
|
.padding(start = 5.dp, end = 0.dp)
|
||||||
val EditFieldLeadingIconModifier = Modifier
|
val EditFieldLeadingIconModifier = Modifier
|
||||||
.height(32.dp)
|
.height(32.dp)
|
||||||
.padding(start = 2.dp)
|
.padding(start = 2.dp)
|
||||||
|
|||||||
Reference in New Issue
Block a user