update DictionaryResultScreen and EtymologyResultScreen top bars, refactor CategoryDetailScreen to use AppCard, and rename chart legend components

This commit is contained in:
jonasgaudian
2026-02-18 01:10:25 +01:00
parent c81e0886b8
commit 9600ef84ae
5 changed files with 18 additions and 20 deletions

View File

@@ -342,11 +342,13 @@ fun DictionarySimpleTopBar(
languageName: String?, languageName: String?,
onNavigateBack: () -> Unit onNavigateBack: () -> Unit
) { ) {
word?.let {
AppTopAppBar( AppTopAppBar(
title = "TODO", title = it,
onNavigateBack = onNavigateBack onNavigateBack = onNavigateBack
) )
} }
}
@Composable @Composable
fun DefinitionBody( fun DefinitionBody(

View File

@@ -93,7 +93,7 @@ fun EtymologyResultScreen(
AppScaffold( AppScaffold(
topBar = { topBar = {
AppTopAppBar( AppTopAppBar(
title = "TODO", title = "Result",
onNavigateBack = { navController.popBackStack() }, onNavigateBack = { navController.popBackStack() },
actions = { actions = {
etymologyData?.let { data -> etymologyData?.let { data ->

View File

@@ -3,7 +3,6 @@
package eu.gaudian.translator.view.vocabulary package eu.gaudian.translator.view.vocabulary
import android.annotation.SuppressLint import android.annotation.SuppressLint
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -14,9 +13,6 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.DropdownMenuItem
@@ -50,6 +46,7 @@ import eu.gaudian.translator.model.TagCategory
import eu.gaudian.translator.model.VocabularyFilter import eu.gaudian.translator.model.VocabularyFilter
import eu.gaudian.translator.model.VocabularyItem import eu.gaudian.translator.model.VocabularyItem
import eu.gaudian.translator.utils.findActivity import eu.gaudian.translator.utils.findActivity
import eu.gaudian.translator.view.composable.AppCard
import eu.gaudian.translator.view.composable.AppIcons import eu.gaudian.translator.view.composable.AppIcons
import eu.gaudian.translator.view.composable.AppScaffold import eu.gaudian.translator.view.composable.AppScaffold
import eu.gaudian.translator.view.composable.AppTopAppBar import eu.gaudian.translator.view.composable.AppTopAppBar
@@ -58,6 +55,7 @@ import eu.gaudian.translator.view.dialogs.DeleteCategoryDialog
import eu.gaudian.translator.view.dialogs.DeleteItemsDialog import eu.gaudian.translator.view.dialogs.DeleteItemsDialog
import eu.gaudian.translator.view.dialogs.EditCategoryDialog import eu.gaudian.translator.view.dialogs.EditCategoryDialog
import eu.gaudian.translator.view.vocabulary.widgets.CategoryProgressCircle import eu.gaudian.translator.view.vocabulary.widgets.CategoryProgressCircle
import eu.gaudian.translator.view.vocabulary.widgets.ChartLegend
import eu.gaudian.translator.viewmodel.CategoryProgress import eu.gaudian.translator.viewmodel.CategoryProgress
import eu.gaudian.translator.viewmodel.CategoryViewModel import eu.gaudian.translator.viewmodel.CategoryViewModel
import eu.gaudian.translator.viewmodel.ExportImportViewModel import eu.gaudian.translator.viewmodel.ExportImportViewModel
@@ -313,16 +311,10 @@ fun CategoryHeaderCard(
onDeleteClick: () -> Unit, onDeleteClick: () -> Unit,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
Card( AppCard(
modifier = modifier modifier = modifier
.fillMaxWidth() .fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 16.dp), .padding(horizontal = 16.dp, vertical = 16.dp),
shape = RoundedCornerShape(20.dp),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.2f)
),
border = BorderStroke(1.dp, MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.4f)),
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) { ) {
Column( Column(
modifier = Modifier modifier = Modifier
@@ -343,6 +335,8 @@ fun CategoryHeaderCard(
// Progress Circle - smaller size // Progress Circle - smaller size
if (categoryProgress != null) { if (categoryProgress != null) {
CategoryProgressCircle( CategoryProgressCircle(
totalItems = categoryProgress.totalItems, totalItems = categoryProgress.totalItems,
itemsCompleted = categoryProgress.itemsCompleted, itemsCompleted = categoryProgress.itemsCompleted,
@@ -350,7 +344,9 @@ fun CategoryHeaderCard(
newItems = categoryProgress.newItems, newItems = categoryProgress.newItems,
circleSize = 100.dp, circleSize = 100.dp,
) )
Spacer(modifier = Modifier.height(20.dp)) Spacer(modifier = Modifier.height(4.dp))
ChartLegend()
Spacer(modifier = Modifier.height(16.dp))
} }
// Action Buttons // Action Buttons

View File

@@ -290,7 +290,7 @@ fun CategoryProgressCircle(
} }
} }
@Composable @Composable
private fun ChartLegend() { fun ChartLegend() {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()

View File

@@ -79,7 +79,7 @@ fun WeeklyActivityChartWidget(
.fillMaxWidth() .fillMaxWidth()
.padding(8.dp) .padding(8.dp)
) { ) {
ChartLegend() WeeklyChartLegend()
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))
Row( Row(
@@ -164,7 +164,7 @@ private fun RowScope.Bar(value: Int, maxValue: Int, color: Color) {
} }
@Composable @Composable
private fun ChartLegend() { private fun WeeklyChartLegend() {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()