Box-Inhalte

(müssen mit Kunden besprochen werden)
This commit is contained in:
2026-09-09 08:44:07 +02:00
parent 2ddc1d960a
commit 7948d2c3c6
10 changed files with 975 additions and 57 deletions
@@ -59,6 +59,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
@@ -675,14 +676,14 @@ private fun BlockAccordionItem(
verticalArrangement = Arrangement.spacedBy(12.dp),
) {
for (item in block.items) {
if (item.isFreeText) {
FreeTextCheckItemRow(
when {
item.isStaticHint -> StaticHintRow(item = item)
item.isFreeText -> FreeTextCheckItemRow(
item = item,
onCheckedChanged = onCheckedChanged,
onFreeTextChanged = onFreeTextChanged,
)
} else {
CheckItemRow(item = item, onCheckedChanged = onCheckedChanged)
else -> CheckItemRow(item = item, onCheckedChanged = onCheckedChanged)
}
}
}
@@ -735,3 +736,18 @@ private fun FreeTextCheckItemRow(
)
}
}
/**
* Ein rein anzeigender, nicht editierbarer Hinweistext (z. B. "+ bei Bedarf" bei "Empfohlene
* Wundversorgung") - keine Checkbox, keine Interaktion, [item.label] ist direkt der
* anzuzeigende Text selbst. Optisch dezent (kursiv, gedämpfte Farbe) abgesetzt von echten,
* ausfüllbaren Optionen, damit auf den ersten Blick klar ist, dass hier nichts einzugeben ist.
*/
@Composable
private fun StaticHintRow(item: CheckItem) {
Text(
item.label,
style = MaterialTheme.typography.bodyMedium.copy(fontStyle = FontStyle.Italic),
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
}