From 2989f60f9c7ed06e5a5b9a8623922b15137c1657 Mon Sep 17 00:00:00 2001 From: Mathieu Moran Date: Wed, 12 Aug 2026 04:27:51 -0400 Subject: [PATCH] style: minimalist Material icon buttons (download, upload, delete) - DashcamScreen: Download + Delete as IconButton with Icons.Filled - DownloadsScreen: CloudUpload + Delete as IconButton - No text labels, just clean Material icons --- .../java/com/yarisobd/app/DashcamScreen.kt | 26 +++++++------------ .../java/com/yarisobd/app/DownloadsScreen.kt | 26 +++++++++---------- .../java/com/yarisobd/app/SettingsScreen.kt | 2 +- server/templates/base.html | 4 +-- templates/base.html | 4 +-- 5 files changed, 27 insertions(+), 35 deletions(-) diff --git a/android/app/src/main/java/com/yarisobd/app/DashcamScreen.kt b/android/app/src/main/java/com/yarisobd/app/DashcamScreen.kt index 6057791..e1ab2fa 100644 --- a/android/app/src/main/java/com/yarisobd/app/DashcamScreen.kt +++ b/android/app/src/main/java/com/yarisobd/app/DashcamScreen.kt @@ -21,9 +21,14 @@ import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Card import androidx.compose.material3.CardDefaults import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.Download import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -58,7 +63,7 @@ fun DashcamScreen( modifier = Modifier.padding(start = 16.dp, top = 8.dp) ) Text( - "Phase 28 — Android Companion", + "phase 28 — android companion", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, modifier = Modifier.padding(start = 16.dp) @@ -269,25 +274,14 @@ private fun VideoRow( // Actions Row { - Button( + IconButton( onClick = onDownload, enabled = !video.converting, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary - ), - modifier = Modifier.height(36.dp) ) { - Text("↓", style = MaterialTheme.typography.bodySmall) + Icon(Icons.Filled.Download, "Download", tint = MaterialTheme.colorScheme.primary) } - Spacer(modifier = Modifier.width(4.dp)) - Button( - onClick = onDelete, - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.error - ), - modifier = Modifier.height(36.dp) - ) { - Text("✕", style = MaterialTheme.typography.bodySmall) + IconButton(onClick = onDelete) { + Icon(Icons.Filled.Delete, "Delete", tint = MaterialTheme.colorScheme.error) } } } diff --git a/android/app/src/main/java/com/yarisobd/app/DownloadsScreen.kt b/android/app/src/main/java/com/yarisobd/app/DownloadsScreen.kt index dcd83e7..45ec5e0 100644 --- a/android/app/src/main/java/com/yarisobd/app/DownloadsScreen.kt +++ b/android/app/src/main/java/com/yarisobd/app/DownloadsScreen.kt @@ -28,6 +28,11 @@ import androidx.compose.material3.CardDefaults import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.CloudUpload +import androidx.compose.material.icons.filled.Delete import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text import com.yarisobd.app.data.CredentialStore @@ -73,7 +78,7 @@ fun DownloadsScreen( modifier = Modifier.padding(start = 16.dp, top = 8.dp) ) Text( - "Phase 28 — Android Companion", + "phase 28 — android companion", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant, modifier = Modifier.padding(start = 16.dp) @@ -228,20 +233,13 @@ fun DownloadsScreen( CircularProgressIndicator(modifier = Modifier.size(20.dp), strokeWidth = 2.dp, color = MaterialTheme.colorScheme.error) } else { if (credentialsConfigured) { - Button( - onClick = { onUpload(file) }, - colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.tertiary), - modifier = Modifier.height(32.dp), shape = RoundedCornerShape(8.dp), - contentPadding = PaddingValues(horizontal = 10.dp, vertical = 0.dp) - ) { Text("↑", style = MaterialTheme.typography.bodySmall) } - Spacer(Modifier.width(4.dp)) + IconButton(onClick = { onUpload(file) }) { + Icon(Icons.Filled.CloudUpload, "Upload", tint = MaterialTheme.colorScheme.tertiary) + } + } + IconButton(onClick = { onDelete(file) }) { + Icon(Icons.Filled.Delete, "Delete", tint = MaterialTheme.colorScheme.error) } - Button( - onClick = { onDelete(file) }, - colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.error), - modifier = Modifier.height(32.dp), shape = RoundedCornerShape(8.dp), - contentPadding = PaddingValues(horizontal = 10.dp, vertical = 0.dp) - ) { Text("✕", style = MaterialTheme.typography.bodySmall) } } } } diff --git a/android/app/src/main/java/com/yarisobd/app/SettingsScreen.kt b/android/app/src/main/java/com/yarisobd/app/SettingsScreen.kt index bb5facd..78c83e8 100644 --- a/android/app/src/main/java/com/yarisobd/app/SettingsScreen.kt +++ b/android/app/src/main/java/com/yarisobd/app/SettingsScreen.kt @@ -50,7 +50,7 @@ fun SettingsScreen(client: OkHttpClient) { modifier = Modifier.fillMaxSize().verticalScroll(rememberScrollState()).padding(16.dp) ) { Text("yaris-obd", style = MaterialTheme.typography.headlineLarge, color = MaterialTheme.colorScheme.primary) - Text("Phase 28 — Android Companion", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant) + Text("phase 28 — android companion", style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.onSurfaceVariant) Spacer(Modifier.height(20.dp)) diff --git a/server/templates/base.html b/server/templates/base.html index 0a9fa7f..74f702a 100644 --- a/server/templates/base.html +++ b/server/templates/base.html @@ -27,7 +27,7 @@ {# ── Desktop sidebar ─────────────────────────────────────────────────── #}