@@ -16,6 +16,7 @@ import androidx.compose.material3.CircularProgressIndicator
1616import androidx.compose.material3.ExperimentalMaterial3Api
1717import androidx.compose.material3.HorizontalDivider
1818import androidx.compose.material3.ListItem
19+ import androidx.compose.material3.LocalTextStyle
1920import androidx.compose.material3.MaterialTheme
2021import androidx.compose.material3.Scaffold
2122import androidx.compose.material3.Surface
@@ -26,6 +27,7 @@ import androidx.compose.runtime.getValue
2627import androidx.compose.ui.Alignment
2728import androidx.compose.ui.Modifier
2829import androidx.compose.ui.res.stringResource
30+ import androidx.compose.ui.text.font.FontFamily
2931import androidx.compose.ui.tooling.preview.Preview
3032import androidx.compose.ui.unit.dp
3133import androidx.lifecycle.compose.collectAsStateWithLifecycle
@@ -135,18 +137,11 @@ private fun ChooseSettingScreen(
135137 )
136138 }
137139 } else {
138- LazyColumn (modifier = Modifier .fillMaxSize()) {
139- items(state.data) { item ->
140- ListItem (
141- headlineContent = { Text (item.key) },
142- supportingContent = item.value?.let { { Text (it) } },
143- modifier = Modifier .clickable {
144- onClickSetting(item.key, item.value)
145- },
146- )
147- HorizontalDivider ()
148- }
149- }
140+ LoadedList (
141+ modifier = Modifier .fillMaxSize(),
142+ listItems = state.data,
143+ onClick = onClickSetting,
144+ )
150145 }
151146 }
152147 }
@@ -155,6 +150,42 @@ private fun ChooseSettingScreen(
155150 }
156151}
157152
153+ @Composable
154+ private fun LoadedList (
155+ modifier : Modifier = Modifier ,
156+ listItems : List <SettingItem >,
157+ onClick : (String , String? ) -> Unit ,
158+ ) {
159+ LazyColumn (modifier = modifier) {
160+ items(listItems) { item ->
161+ ListItem (
162+ headlineContent = {
163+ Text (
164+ item.key,
165+ style = LocalTextStyle .current.copy(
166+ fontFamily = FontFamily .Monospace ,
167+ ),
168+ )
169+ },
170+ supportingContent = item.value?.let {
171+ {
172+ Text (
173+ it,
174+ style = LocalTextStyle .current.copy(
175+ fontFamily = FontFamily .Monospace ,
176+ ),
177+ )
178+ }
179+ },
180+ modifier = Modifier .clickable {
181+ onClick(item.key, item.value)
182+ },
183+ )
184+ HorizontalDivider ()
185+ }
186+ }
187+ }
188+
158189@OptIn(ExperimentalMaterial3Api ::class )
159190@Preview
160191@Composable
0 commit comments