add author and description to hosts, strategies and ipsets

This commit is contained in:
CherretGit
2026-03-14 20:47:09 +07:00
parent a145ae4349
commit da2b53ace7
4 changed files with 13 additions and 5 deletions

View File

@@ -51,6 +51,7 @@ import androidx.compose.ui.unit.sp
import com.cherret.zaprett.R
import com.cherret.zaprett.data.DependencyUI
import com.cherret.zaprett.data.RepoItemUI
import com.cherret.zaprett.data.StorageData
import com.cherret.zaprett.data.StrategyCheckResult
import com.cherret.zaprett.data.StrategyTestingStatus
import com.cherret.zaprett.ui.viewmodel.BaseRepoViewModel
@@ -60,7 +61,7 @@ import com.cherret.zaprett.utils.getActiveStrategy
import kotlinx.coroutines.launch
@Composable
fun ListSwitchItem(item: String, isChecked: Boolean, onCheckedChange: (Boolean) -> Unit, onDeleteClick: () -> Unit) {
fun ListSwitchItem(item: StorageData, isChecked: Boolean, onCheckedChange: (Boolean) -> Unit, onDeleteClick: () -> Unit) {
ElevatedCard(
elevation = CardDefaults.cardElevation(defaultElevation = 6.dp),
colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainer),
@@ -74,7 +75,14 @@ fun ListSwitchItem(item: String, isChecked: Boolean, onCheckedChange: (Boolean)
.fillMaxWidth()
.padding(16.dp)
) {
Text(text = item, modifier = Modifier.weight(1f))
Column(
modifier = Modifier.weight(1f),
verticalArrangement = Arrangement.spacedBy(4.dp)
) {
Text(text = item.name)
Text(text = stringResource(R.string.title_author, item.author))
Text(text = item.description)
}
Switch(
checked = isChecked,
onCheckedChange = onCheckedChange,

View File

@@ -170,7 +170,7 @@ fun HostsScreen(navController: NavController, viewModel: HostsViewModel = viewMo
else -> {
items(allLists) { item ->
ListSwitchItem (
item = item.name,
item = item,
isChecked = checked[item] == true,
onCheckedChange = { isChecked ->
viewModel.onCheckedChange(item, isChecked, snackbarHostState, scope)

View File

@@ -170,7 +170,7 @@ fun IpsetsScreen(navController: NavController, viewModel: IpsetViewModel = viewM
else -> {
items(allLists) { item ->
ListSwitchItem (
item = item.name,
item = item,
isChecked = checked[item] == true,
onCheckedChange = { isChecked ->
viewModel.onCheckedChange(item, isChecked, snackbarHostState, scope)

View File

@@ -167,7 +167,7 @@ fun StrategyScreen(navController: NavController, viewModel: StrategyViewModel =
else -> {
items(allLists) { item ->
ListSwitchItem(
item = item.name,
item = item,
isChecked = checked[item] == true,
onCheckedChange = { isChecked ->
viewModel.onCheckedChange(item, isChecked, snackbarHostState, scope)