diff --git a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/CardAndChipConten.kt b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/CardAndChipConten.kt index c140cb8b..379d6f03 100644 --- a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/CardAndChipConten.kt +++ b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/CardAndChipConten.kt @@ -43,7 +43,7 @@ internal fun ColumnScope.ChipContent( Text( text = cardHeading, color = gradient.onStartColor, - style = MaterialTheme.typography.titleLarge, + style = statValueTextStyle, modifier = Modifier .removeFontPadding(statValueTextStyle) .graphicsLayer { @@ -76,15 +76,16 @@ internal fun BoxScope.CardContent( Text( text = cardHeading, textAlign = TextAlign.End, - style = MaterialTheme.typography.displayLarge, + style = MaterialTheme.typography.displaySmall, color = gradient.onEndColor, - modifier = Modifier.removeFontPadding(MaterialTheme.typography.displayLarge), + modifier = Modifier.removeFontPadding(MaterialTheme.typography.displaySmall), ) Text( text = cardSubHeading, style = MaterialTheme.typography.cardContent, color = gradient.onStartColor, ) + } } diff --git a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/ProjectStreakChips.kt b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/ProjectStreakChips.kt index ad658191..1495ed48 100644 --- a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/ProjectStreakChips.kt +++ b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/ProjectStreakChips.kt @@ -8,6 +8,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp import com.jacob.wakatimeapp.core.models.Streak import com.jacob.wakatimeapp.core.ui.components.cards.FlippableStatsChip import com.jacob.wakatimeapp.core.ui.theme.assets @@ -31,7 +32,7 @@ internal fun ProjectStreakChips(detailsPageData: DetailsPageViewState.Loaded, mo cardHeading = "${detailsPageData.longestStreakInProject.days} Days", cardSubHeading = "Longest Streak", gradient = MaterialTheme.gradients.shifter, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.headlineSmall, ) }, backContent = { @@ -51,7 +52,7 @@ internal fun ProjectStreakChips(detailsPageData: DetailsPageViewState.Loaded, mo cardHeading = "${detailsPageData.currentStreakInProject.days} Days", cardSubHeading = "Current Streak", gradient = MaterialTheme.gradients.reef, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.headlineSmall, ) }, backContent = { StreakRangeDisplay(detailsPageData.currentStreakInProject, MaterialTheme.gradients.reef) }, @@ -64,7 +65,9 @@ private fun StreakRangeDisplay(streak: Streak, gradient: Gradient) { Text( text = streak.formattedPrintRange(), color = gradient.onStartColor, - style = MaterialTheme.typography.bodyLarge, + style = MaterialTheme.typography.titleSmall.copy( + fontSize = 18.sp + ), ) Text( text = "Streak Range", diff --git a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/QuickStatsCards.kt b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/QuickStatsCards.kt index 7b8c65d8..50d91bd4 100644 --- a/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/QuickStatsCards.kt +++ b/details/src/main/java/com/jacob/wakatimeapp/details/ui/components/QuickStatsCards.kt @@ -77,12 +77,13 @@ internal fun QuickStatsCards(detailsPageData: DetailsPageViewState.Loaded) { FlippableStatsChip( modifier = Modifier.weight(1f), gradient = MaterialTheme.gradients.quepal, + iconId = MaterialTheme.assets.icons.calendar, frontContent = { ChipContent( cardSubHeading = "Start date", cardHeading = detailsPageData.startDate.format(format), gradient = MaterialTheme.gradients.quepal, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.titleLarge, ) }, backContent = { @@ -90,19 +91,20 @@ internal fun QuickStatsCards(detailsPageData: DetailsPageViewState.Loaded) { cardSubHeading = "No. of days worked", cardHeading = detailsPageData.numberOfDaysWorked.toString(), gradient = MaterialTheme.gradients.quepal, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.headlineSmall, ) }, ) FlippableStatsChip( modifier = Modifier.weight(1f), gradient = MaterialTheme.gradients.flare, + iconId = MaterialTheme.assets.icons.calendar, frontContent = { ChipContent( cardHeading = detailsPageData.dayMostWorked.format(format), cardSubHeading = "Day Most Worked", gradient = MaterialTheme.gradients.flare, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.titleLarge, ) }, backContent = { @@ -110,7 +112,7 @@ internal fun QuickStatsCards(detailsPageData: DetailsPageViewState.Loaded) { cardHeading = detailsPageData.maxTimeWorkedInDay.formattedPrint(), cardSubHeading = "Most Time in 1 Day", gradient = MaterialTheme.gradients.flare, - statValueTextStyle = MaterialTheme.typography.titleMedium, + statValueTextStyle = MaterialTheme.typography.headlineSmall, ) }, ) diff --git a/home/src/main/java/com/jacob/wakatimeapp/home/data/mappers/Last7DaysStatsMapper.kt b/home/src/main/java/com/jacob/wakatimeapp/home/data/mappers/Last7DaysStatsMapper.kt index 66c573f7..55875704 100644 --- a/home/src/main/java/com/jacob/wakatimeapp/home/data/mappers/Last7DaysStatsMapper.kt +++ b/home/src/main/java/com/jacob/wakatimeapp/home/data/mappers/Last7DaysStatsMapper.kt @@ -41,22 +41,24 @@ fun List.toModel(): ImmutableList { fun List.toLast7RangeDaysStats(): Last7DaysStats { val mostUsedLanguage = flatMap { - it.projectsForDay - .flatMap { projectPerDay -> projectPerDay.languages.values } - }.maxByOrNull { it.time.totalSeconds } + it.projectsForDay.map { projectPerDay -> projectPerDay.languages.mostUsed } + }.filterNotNull() + .maxByOrNull { it.time.totalSeconds } val mostUsedEditor = flatMap { - it.projectsForDay - .flatMap { projectPerDay -> projectPerDay.editors.values } - }.maxByOrNull { it.time.totalSeconds } + it.projectsForDay.map { projectPerDay -> projectPerDay.editors.mostUsed } + }.filterNotNull() + .maxByOrNull { it.time.totalSeconds } val mostUsedOperatingSystem = flatMap { - it.projectsForDay - .flatMap { projectPerDay -> projectPerDay.operatingSystems.values } - }.maxByOrNull { it.time.totalSeconds } + it.projectsForDay.map { projectPerDay -> projectPerDay.operatingSystems.mostUsed } + }.filterNotNull() + .maxByOrNull { it.time.totalSeconds } val todaysStats = maxByOrNull { it.day.date } - val projectWorkedOnToday = (todaysStats?.projectsForDay ?: emptyList()).toModel() + val projectWorkedOnToday = (todaysStats?.projectsForDay ?: emptyList()) + .filter { it.grandTotal != Time.ZERO } + .toModel() return Last7DaysStats( timeSpentToday = todaysStats?.day?.grandTotal ?: Time.ZERO, projectsWorkedOn = projectWorkedOnToday,