manager: Disable interactions for uninstalled & disabled module (#2380)

Uninstalled module has no enabled interactions (e.g. run action script,
open webui, update).
Disabled module cannot run action script or open webui.
This commit is contained in:
changhuapeng
2025-01-25 20:01:18 +08:00
committed by GitHub
parent c3926d3982
commit 1728c6dc61

View File

@@ -548,6 +548,7 @@ fun ModuleItem(
if (module.hasWebUi) { if (module.hasWebUi) {
toggleable( toggleable(
value = module.enabled, value = module.enabled,
enabled = !module.remove && module.enabled,
interactionSource = interactionSource, interactionSource = interactionSource,
role = Role.Button, role = Role.Button,
indication = indication, indication = indication,
@@ -637,6 +638,7 @@ fun ModuleItem(
if (module.hasActionScript) { if (module.hasActionScript) {
FilledTonalButton( FilledTonalButton(
modifier = Modifier.defaultMinSize(52.dp, 32.dp), modifier = Modifier.defaultMinSize(52.dp, 32.dp),
enabled = !module.remove && module.enabled,
onClick = { onClick = {
navigator.navigate(ExecuteModuleActionScreenDestination(module.id)) navigator.navigate(ExecuteModuleActionScreenDestination(module.id))
viewModel.markNeedRefresh() viewModel.markNeedRefresh()
@@ -664,6 +666,7 @@ fun ModuleItem(
if (module.hasWebUi) { if (module.hasWebUi) {
FilledTonalButton( FilledTonalButton(
modifier = Modifier.defaultMinSize(52.dp, 32.dp), modifier = Modifier.defaultMinSize(52.dp, 32.dp),
enabled = !module.remove && module.enabled,
onClick = { onClick(module) }, onClick = { onClick(module) },
interactionSource = interactionSource, interactionSource = interactionSource,
contentPadding = ButtonDefaults.TextButtonContentPadding contentPadding = ButtonDefaults.TextButtonContentPadding
@@ -689,6 +692,7 @@ fun ModuleItem(
if (updateUrl.isNotEmpty()) { if (updateUrl.isNotEmpty()) {
Button( Button(
modifier = Modifier.defaultMinSize(52.dp, 32.dp), modifier = Modifier.defaultMinSize(52.dp, 32.dp),
enabled = !module.remove,
onClick = { onUpdate(module) }, onClick = { onUpdate(module) },
shape = ButtonDefaults.textShape, shape = ButtonDefaults.textShape,
contentPadding = ButtonDefaults.TextButtonContentPadding contentPadding = ButtonDefaults.TextButtonContentPadding