add enabled parameter to BasePromptSettingsScreen, ModelSelector, and InspiringSearchField to support disabled states

This commit is contained in:
jonasgaudian
2026-02-13 17:03:10 +01:00
parent f6fb6e77a8
commit 4a014e6206
3 changed files with 15 additions and 6 deletions

View File

@@ -136,7 +136,8 @@ fun InspiringSearchField(
hints : Array<String>,
onValueChange: (String) -> Unit,
minLines: Int = 1,
maxLines: Int = 1
maxLines: Int = 1,
enabled: Boolean = true
) {
var currentHintIndex by remember { mutableIntStateOf(0) }
@@ -175,7 +176,8 @@ fun InspiringSearchField(
},
singleLine = true,
minLines = minLines,
maxLines = maxLines
maxLines = maxLines,
enabled = enabled
)
}

View File

@@ -59,7 +59,8 @@ fun BasePromptSettingsScreen(
onPromptChanged: (String) -> Unit,
onSaveClicked: () -> Unit,
onModelSelected: (LanguageModel?) -> Unit,
hints: Array<String>
hints: Array<String>,
enabled: Boolean = true
) {
AppCard {
Column(
@@ -70,7 +71,8 @@ fun BasePromptSettingsScreen(
Text(
text = description,
style = MaterialTheme.typography.bodyLarge,
modifier = Modifier.padding(vertical = 16.dp)
modifier = Modifier.padding(vertical = 16.dp),
color = if (!enabled) MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f) else MaterialTheme.colorScheme.onSurface
)
@@ -82,6 +84,7 @@ fun BasePromptSettingsScreen(
minLines = 3,
maxLines = 5,
hints = hints,
enabled = enabled
)
Row(
@@ -98,12 +101,13 @@ fun BasePromptSettingsScreen(
providers = providers, // Pass providers down
selectedModel = state.selectedModel,
onModelSelected = onModelSelected,
enabled = enabled
)
}
Spacer(modifier = Modifier.width(16.dp))
AppButton(onClick = onSaveClicked) {
AppButton(onClick = onSaveClicked, enabled = enabled) {
Text(stringResource(id = R.string.label_save))
}
}
@@ -119,7 +123,8 @@ fun ApiModelDropDown(
models: List<LanguageModel>,
providers: List<ApiProvider>,
selectedModel: LanguageModel?,
onModelSelected: (LanguageModel?) -> Unit
onModelSelected: (LanguageModel?) -> Unit,
enabled: Boolean = true
) {
LocalContext.current
var expanded by remember { mutableStateOf(false) }
@@ -149,6 +154,7 @@ fun ApiModelDropDown(
onClick = { expanded = true },
modifier = Modifier.align(Alignment.Center),
contentPadding = PaddingValues(horizontal = 12.dp, vertical = 8.dp),
enabled = enabled
) {
Row(
verticalAlignment = Alignment.CenterVertically,

View File

@@ -109,6 +109,7 @@ fun TranslationSettingsScreen(
onSaveClicked = { settingsViewModel.saveCustomPrompt(tempPrompt) },
onModelSelected = { apiViewModel.setTranslationModel(it) },
hints = context.resources.getStringArray(R.array.example_prompts),
//enabled = !useLibre
)
}
}