chore: erweitere Veranstaltungs-Wizard um Ansprechperson-Anzeige, verbessere Fehlerhandling bei fehlenden Stammdaten und implementiere MsStringDropdown
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
+1
-1
@@ -52,7 +52,7 @@ class DeviceInitializationViewModel(
|
||||
}
|
||||
|
||||
fun setNetworkRole(role: NetworkRole) {
|
||||
if (uiState.value.settings.deviceName.isNotBlank() || uiState.value.settings.sharedKey.isNotBlank()) {
|
||||
if (uiState.value.settings.networkRole != role && (uiState.value.settings.deviceName.isNotBlank() || uiState.value.settings.sharedKey.isNotBlank())) {
|
||||
_uiState.update { it.copy(showRoleChangeWarning = true, pendingRole = role) }
|
||||
} else {
|
||||
println("[DeviceInit] Netzwerk-Rolle direkt gesetzt: $role")
|
||||
|
||||
+12
-6
@@ -30,9 +30,11 @@ import androidx.compose.ui.text.input.VisualTransformation
|
||||
import androidx.compose.ui.unit.dp
|
||||
import at.mocode.frontend.core.designsystem.components.MsEnumDropdown
|
||||
import at.mocode.frontend.core.designsystem.components.MsFilePicker
|
||||
import at.mocode.frontend.core.designsystem.components.MsStringDropdown
|
||||
import at.mocode.frontend.core.designsystem.components.MsTextField
|
||||
import at.mocode.frontend.features.device.initialization.domain.DeviceInitializationValidator
|
||||
import at.mocode.frontend.features.device.initialization.domain.model.NetworkRole
|
||||
import javax.print.PrintServiceLookup
|
||||
|
||||
@Composable
|
||||
actual fun DeviceInitializationConfig(
|
||||
@@ -94,14 +96,18 @@ actual fun DeviceInitializationConfig(
|
||||
enabled = !uiState.isLocked
|
||||
)
|
||||
|
||||
MsTextField(
|
||||
value = settings.defaultPrinter,
|
||||
onValueChange = { viewModel.updateSettings { s -> s.copy(defaultPrinter = it) } },
|
||||
val printers = remember {
|
||||
PrintServiceLookup.lookupPrintServices(null, null).map { it.name }.sorted()
|
||||
}
|
||||
|
||||
MsStringDropdown(
|
||||
label = "Standard-Drucker",
|
||||
placeholder = "z.B. Brother-HL-L2350DW",
|
||||
options = printers,
|
||||
selectedOption = settings.defaultPrinter,
|
||||
onOptionSelected = { viewModel.updateSettings { s -> s.copy(defaultPrinter = it) } },
|
||||
placeholder = "Drucker auswählen...",
|
||||
enabled = !uiState.isLocked,
|
||||
imeAction = ImeAction.Done,
|
||||
keyboardActions = KeyboardActions(onDone = { focusManager.clearFocus() })
|
||||
modifier = Modifier.padding(bottom = 8.dp)
|
||||
)
|
||||
|
||||
if (settings.networkRole == NetworkRole.MASTER) {
|
||||
|
||||
Reference in New Issue
Block a user