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,10 +342,12 @@ fun DictionarySimpleTopBar(
languageName: String?,
onNavigateBack: () -> Unit
) {
word?.let {
AppTopAppBar(
title = "TODO",
title = it,
onNavigateBack = onNavigateBack
)
}
}
@Composable

View File

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

View File

@@ -3,7 +3,6 @@
package eu.gaudian.translator.view.vocabulary
import android.annotation.SuppressLint
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
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.width
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.DropdownMenu
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.VocabularyItem
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.AppScaffold
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.EditCategoryDialog
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.CategoryViewModel
import eu.gaudian.translator.viewmodel.ExportImportViewModel
@@ -313,16 +311,10 @@ fun CategoryHeaderCard(
onDeleteClick: () -> Unit,
modifier: Modifier = Modifier
) {
Card(
AppCard(
modifier = modifier
.fillMaxWidth()
.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(
modifier = Modifier
@@ -343,6 +335,8 @@ fun CategoryHeaderCard(
// Progress Circle - smaller size
if (categoryProgress != null) {
CategoryProgressCircle(
totalItems = categoryProgress.totalItems,
itemsCompleted = categoryProgress.itemsCompleted,
@@ -350,7 +344,9 @@ fun CategoryHeaderCard(
newItems = categoryProgress.newItems,
circleSize = 100.dp,
)
Spacer(modifier = Modifier.height(20.dp))
Spacer(modifier = Modifier.height(4.dp))
ChartLegend()
Spacer(modifier = Modifier.height(16.dp))
}
// Action Buttons

View File

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

View File

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