diff --git a/demo/src/main/java/com/orange/ods/demo/ui/components/checkboxes/ComponentCheckboxes.kt b/demo/src/main/java/com/orange/ods/demo/ui/components/checkboxes/ComponentCheckboxes.kt index dbba5906c..415541d4a 100644 --- a/demo/src/main/java/com/orange/ods/demo/ui/components/checkboxes/ComponentCheckboxes.kt +++ b/demo/src/main/java/com/orange/ods/demo/ui/components/checkboxes/ComponentCheckboxes.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource import com.orange.ods.demo.R +import com.orange.ods.demo.domain.recipes.LocalRecipes import com.orange.ods.demo.ui.components.utilities.ComponentCustomizationBottomSheetScaffold import com.orange.ods.demo.ui.utilities.composable.CheckboxListItem import com.orange.ods.demo.ui.utilities.composable.SwitchListItem @@ -31,6 +32,8 @@ import com.orange.ods.demo.ui.utilities.composable.SwitchListItem @Composable fun ComponentCheckboxes() { val enabled = rememberSaveable { mutableStateOf(true) } + val recipes = LocalRecipes.current + val recipe = remember { recipes.filter { it.ingredients.count() >= 3 }.random() } ComponentCustomizationBottomSheetScaffold( bottomSheetScaffoldState = rememberBottomSheetScaffoldState(), @@ -42,23 +45,13 @@ fun ComponentCheckboxes() { .verticalScroll(rememberScrollState()) .padding(bottom = dimensionResource(id = R.dimen.spacing_m)) ) { - CheckboxListItem( - labelRes = R.string.component_element_item1, - checked = remember { mutableStateOf(true) }, - enabled = enabled.value - ) - - CheckboxListItem( - labelRes = R.string.component_element_item2, - checked = remember { mutableStateOf(false) }, - enabled = enabled.value - ) - - CheckboxListItem( - labelRes = R.string.component_element_item3, - checked = remember { mutableStateOf(true) }, - enabled = enabled.value - ) + recipe.ingredients.forEachIndexed { index, ingredient -> + CheckboxListItem( + label = ingredient.name, + checked = remember { mutableStateOf(index == 0) }, + enabled = enabled.value + ) + } } } } \ No newline at end of file diff --git a/demo/src/main/java/com/orange/ods/demo/ui/components/radiobuttons/ComponentRadioButtons.kt b/demo/src/main/java/com/orange/ods/demo/ui/components/radiobuttons/ComponentRadioButtons.kt index 3bc80f025..12a970e3b 100644 --- a/demo/src/main/java/com/orange/ods/demo/ui/components/radiobuttons/ComponentRadioButtons.kt +++ b/demo/src/main/java/com/orange/ods/demo/ui/components/radiobuttons/ComponentRadioButtons.kt @@ -23,8 +23,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource -import androidx.compose.ui.res.stringResource import com.orange.ods.demo.R +import com.orange.ods.demo.domain.recipes.LocalRecipes import com.orange.ods.demo.ui.components.utilities.ComponentCustomizationBottomSheetScaffold import com.orange.ods.demo.ui.utilities.composable.RadioButtonListItem import com.orange.ods.demo.ui.utilities.composable.SwitchListItem @@ -44,28 +44,17 @@ fun ComponentRadioButtons() { .verticalScroll(rememberScrollState()) .padding(bottom = dimensionResource(id = R.dimen.spacing_m)) ) { - val selectedRadio = remember { mutableStateOf(R.string.component_element_item1) } + val recipes = LocalRecipes.current.take(5) + val selectedRadio = remember { mutableStateOf(recipes.firstOrNull()?.title) } Column(modifier = Modifier.selectableGroup()) { - RadioButtonListItem( - label = stringResource(id = R.string.component_element_item1), - selectedRadio = selectedRadio, - currentRadio = R.string.component_element_item1, - enabled = enabled.value - ) - - RadioButtonListItem( - label = stringResource(id = R.string.component_element_item2), - selectedRadio = selectedRadio, - currentRadio = R.string.component_element_item2, - enabled = enabled.value - ) - - RadioButtonListItem( - label = stringResource(id = R.string.component_element_item3), - selectedRadio = selectedRadio, - currentRadio = R.string.component_element_item3, - enabled = enabled.value - ) + recipes.forEach { recipe -> + RadioButtonListItem( + label = recipe.title, + selectedRadio = selectedRadio, + currentRadio = recipe.title, + enabled = enabled.value + ) + } } } } diff --git a/demo/src/main/java/com/orange/ods/demo/ui/utilities/composable/SelectionControlListItems.kt b/demo/src/main/java/com/orange/ods/demo/ui/utilities/composable/SelectionControlListItems.kt index 125c6d947..7d301c9c8 100644 --- a/demo/src/main/java/com/orange/ods/demo/ui/utilities/composable/SelectionControlListItems.kt +++ b/demo/src/main/java/com/orange/ods/demo/ui/utilities/composable/SelectionControlListItems.kt @@ -24,7 +24,7 @@ import com.orange.ods.compose.component.control.OdsSwitch import com.orange.ods.compose.component.list.OdsListItem @Composable -fun CheckboxListItem(@StringRes labelRes: Int, checked: MutableState, enabled: Boolean = true) { +fun CheckboxListItem(label: String, checked: MutableState, enabled: Boolean = true) { OdsListItem( modifier = Modifier.toggleable( value = checked.value, @@ -32,7 +32,7 @@ fun CheckboxListItem(@StringRes labelRes: Int, checked: MutableState, e enabled = enabled, onValueChange = { checked.value = !checked.value } ), - text = stringResource(id = labelRes), + text = label, trailing = { OdsCheckbox( checked = checked.value, @@ -43,6 +43,11 @@ fun CheckboxListItem(@StringRes labelRes: Int, checked: MutableState, e ) } +@Composable +fun CheckboxListItem(@StringRes labelRes: Int, checked: MutableState, enabled: Boolean = true) { + CheckboxListItem(label = stringResource(id = labelRes), checked = checked, enabled = enabled) +} + @Composable fun RadioButtonListItem(label: String, selectedRadio: MutableState, currentRadio: T, onClick: () -> Unit = {}, enabled: Boolean = true) { val selected = selectedRadio.value == currentRadio diff --git a/demo/src/main/res/values/strings.xml b/demo/src/main/res/values/strings.xml index cd8553a86..a5e043cf8 100644 --- a/demo/src/main/res/values/strings.xml +++ b/demo/src/main/res/values/strings.xml @@ -76,9 +76,6 @@ Trailing element Leading element Leading icon - Item 1 - Item 2 - Item 3 Cancel cross %s demo