mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat(settings): Allow clearing the node status message (#4577)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
eb2f04117a
commit
558cf77768
4 changed files with 21 additions and 6 deletions
|
|
@ -18,6 +18,10 @@ package org.meshtastic.feature.settings.radio.component
|
|||
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Clear
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.platform.LocalFocusManager
|
||||
|
|
@ -27,6 +31,7 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
|||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.clear
|
||||
import org.meshtastic.core.strings.node_status_summary
|
||||
import org.meshtastic.core.strings.status_message
|
||||
import org.meshtastic.core.strings.status_message_config
|
||||
|
|
@ -58,7 +63,7 @@ fun StatusMessageConfigScreen(viewModel: RadioConfigViewModel = hiltViewModel(),
|
|||
TitledCard(title = stringResource(Res.string.status_message_config)) {
|
||||
EditTextPreference(
|
||||
title = stringResource(Res.string.node_status_summary),
|
||||
value = formState.value.node_status ?: "",
|
||||
value = formState.value.node_status,
|
||||
maxSize = 80, // status_message max_size:80
|
||||
enabled = state.connected,
|
||||
isError = false,
|
||||
|
|
@ -66,6 +71,16 @@ fun StatusMessageConfigScreen(viewModel: RadioConfigViewModel = hiltViewModel(),
|
|||
KeyboardOptions.Default.copy(keyboardType = KeyboardType.Text, imeAction = ImeAction.Done),
|
||||
keyboardActions = KeyboardActions(onDone = { focusManager.clearFocus() }),
|
||||
onValueChanged = { formState.value = formState.value.copy(node_status = it) },
|
||||
trailingIcon = {
|
||||
if (formState.value.node_status.isNotEmpty()) {
|
||||
IconButton(onClick = { formState.value = formState.value.copy(node_status = "") }) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.Clear,
|
||||
contentDescription = stringResource(Res.string.clear),
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue