From 30163a3f69b390ad72d4083a0c2a3fe187087d36 Mon Sep 17 00:00:00 2001 From: darken Date: Sat, 11 Apr 2026 16:53:31 +0200 Subject: [PATCH] feat(settings): Add flavor-specific label to upgrade badge Makes the inline upgrade badge a tiny star + short label (Pro on gplay, FOSS on foss) instead of icon-only. Text is flavor-switched via upgrade_badge_label in each flavor's strings.xml, primary color, labelSmall typography, no pill background to keep it lightweight when multiple rows stack it. Accessibility uses the existing common_upgrade_required_label. --- app/src/foss/res/values/strings.xml | 1 + app/src/gplay/res/values/strings.xml | 1 + .../capod/common/settings/UpgradeBadge.kt | 28 +++++++++++++++---- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/foss/res/values/strings.xml b/app/src/foss/res/values/strings.xml index 1f37523e..8da1d42a 100644 --- a/app/src/foss/res/values/strings.xml +++ b/app/src/foss/res/values/strings.xml @@ -7,4 +7,5 @@ Sponsor development No ads. No tracking. No Google Play lock-in. Back already? Your support keeps CAPod alive. + FOSS \ No newline at end of file diff --git a/app/src/gplay/res/values/strings.xml b/app/src/gplay/res/values/strings.xml index 9cc72e70..789335ab 100644 --- a/app/src/gplay/res/values/strings.xml +++ b/app/src/gplay/res/values/strings.xml @@ -7,4 +7,5 @@ Google Play Billing Error There was an error when asking Google Play for your purchase details. Clear Google Play cache and reboot your phone.\n\nError %s Restore purchase + Pro \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/common/settings/UpgradeBadge.kt b/app/src/main/java/eu/darken/capod/common/settings/UpgradeBadge.kt index b6541da4..29a8bbd3 100644 --- a/app/src/main/java/eu/darken/capod/common/settings/UpgradeBadge.kt +++ b/app/src/main/java/eu/darken/capod/common/settings/UpgradeBadge.kt @@ -1,11 +1,16 @@ package eu.darken.capod.common.settings +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.material.icons.Icons import androidx.compose.material.icons.twotone.Stars import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -15,12 +20,23 @@ import eu.darken.capod.common.compose.PreviewWrapper @Composable fun UpgradeBadge(modifier: Modifier = Modifier) { - Icon( - imageVector = Icons.TwoTone.Stars, - contentDescription = stringResource(R.string.common_upgrade_required_label), - tint = MaterialTheme.colorScheme.primary, - modifier = modifier.size(16.dp), - ) + Row( + modifier = modifier, + verticalAlignment = Alignment.CenterVertically, + ) { + Icon( + imageVector = Icons.TwoTone.Stars, + contentDescription = stringResource(R.string.common_upgrade_required_label), + tint = MaterialTheme.colorScheme.primary, + modifier = Modifier.size(16.dp), + ) + Spacer(modifier = Modifier.width(2.dp)) + Text( + text = stringResource(R.string.upgrade_badge_label), + color = MaterialTheme.colorScheme.primary, + style = MaterialTheme.typography.labelSmall, + ) + } } @Preview2