feat(#232): replace cron action text buttons with compact icons

This commit is contained in:
Hy4ri committed 2026-06-21 12:26:54 +03:00
1 parent d1d5b0937c
commit 4221908bd9
1 file changed
+31 -20
@@ -11,13 +11,16 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.Pause
import androidx.compose.material.icons.filled.PlayArrow
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material.icons.filled.Schedule import androidx.compose.material.icons.filled.Schedule
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Card import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
@@ -145,38 +148,46 @@ fun CronJobsScreen(
Spacer(modifier = Modifier.height(spacing.sm)) Spacer(modifier = Modifier.height(spacing.sm))
Row( Row(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(spacing.sm), horizontalArrangement = Arrangement.End,
) { ) {
if (job.state == "active") { if (job.state == "active") {
OutlinedButton( IconButton(
onClick = { viewModel.pauseCronJob(job.id) }, onClick = { viewModel.pauseCronJob(job.id) },
modifier = Modifier.weight(1f),
) { ) {
Text(stringResource(R.string.cron_action_pause)) Icon(
imageVector = Icons.Filled.Pause,
contentDescription = stringResource(R.string.cron_action_pause),
tint = MaterialTheme.colorScheme.primary,
)
} }
} else { } else {
OutlinedButton( IconButton(
onClick = { viewModel.resumeCronJob(job.id) }, onClick = { viewModel.resumeCronJob(job.id) },
modifier = Modifier.weight(1f),
) { ) {
Text(stringResource(R.string.cron_action_resume)) Icon(
imageVector = Icons.Filled.PlayArrow,
contentDescription = stringResource(R.string.cron_action_resume),
tint = MaterialTheme.colorScheme.primary,
)
} }
} }
OutlinedButton( IconButton(
onClick = { viewModel.triggerCronJob(job.id) }, onClick = { viewModel.triggerCronJob(job.id) },
modifier = Modifier.weight(1f),
) { ) {
Text(stringResource(R.string.cron_action_run)) Icon(
imageVector = Icons.Filled.Refresh,
contentDescription = stringResource(R.string.cron_action_run),
tint = MaterialTheme.colorScheme.secondary,
)
} }
Button( IconButton(
onClick = { viewModel.deleteCronJob(job.id) }, onClick = { viewModel.deleteCronJob(job.id) },
colors =
ButtonDefaults.buttonColors(
containerColor = MaterialTheme.colorScheme.error,
),
modifier = Modifier.weight(1f),
) { ) {
Text(stringResource(R.string.action_delete)) Icon(
imageVector = Icons.Filled.Delete,
contentDescription = stringResource(R.string.action_delete),
tint = MaterialTheme.colorScheme.error,
)
} }
} }
} }