fix(play): hide Premium badge on Desire Sync/Memory Lane cards when couple has premium (A-003 P3)

Threaded showPremiumBadge=!hasPremium into DesireSyncCard/MemoryLaneCard and gated the
lock badge behind it. The feature was already accessible (A-001) — only the static badge
was misleading. Verified: with couple premium the Play hub shows no Premium badge on them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
null 2026-06-25 10:14:14 -05:00
parent bc8f519778
commit f1fdefb987
1 changed files with 51 additions and 40 deletions

View File

@ -128,6 +128,7 @@ private fun PlayHubContent(
item {
DesireSyncCard(
showPremiumBadge = !hasPremium,
onClick = { onPlay(if (hasPremium) AppRoute.DESIRE_SYNC else AppRoute.PAYWALL) }
)
}
@ -140,6 +141,7 @@ private fun PlayHubContent(
item {
MemoryLaneCard(
showPremiumBadge = !hasPremium,
onClick = { onPlay(if (hasPremium) AppRoute.MEMORY_LANE else AppRoute.PAYWALL) }
)
}
@ -283,6 +285,7 @@ private fun ThisOrThatCard(
@Composable
private fun DesireSyncCard(
showPremiumBadge: Boolean = true,
onClick: () -> Unit
) {
CloserClickableCard(
@ -321,6 +324,9 @@ private fun DesireSyncCard(
maxLines = 1,
overflow = TextOverflow.Ellipsis
)
// Hide the "🔒 Premium" badge once the couple has premium access — the
// feature is unlocked for both, so the lock badge is misleading (A-003).
if (showPremiumBadge) {
Surface(
shape = RoundedCornerShape(CloserRadii.Pill),
color = MaterialTheme.colorScheme.secondaryContainer.copy(alpha = 0.66f)
@ -345,6 +351,7 @@ private fun DesireSyncCard(
}
}
}
}
Text(
text = "Both answer privately. Only shared desires are revealed.",
style = MaterialTheme.typography.bodySmall,
@ -502,6 +509,7 @@ private fun ConnectionChallengesCard(
@Composable
private fun MemoryLaneCard(
showPremiumBadge: Boolean = true,
onClick: () -> Unit
) {
CloserClickableCard(
@ -546,6 +554,8 @@ private fun MemoryLaneCard(
style = MaterialTheme.typography.titleMedium.copy(fontWeight = FontWeight.SemiBold),
color = MaterialTheme.colorScheme.onSurface
)
// Hide the "🔒 Premium" badge once the couple has premium access (A-003).
if (showPremiumBadge) {
Surface(
shape = RoundedCornerShape(CloserRadii.Pill),
color = MaterialTheme.colorScheme.secondaryContainer.copy(alpha = 0.66f)
@ -570,6 +580,7 @@ private fun MemoryLaneCard(
}
}
}
}
Text(
text = "Write a note to your future selves. It stays sealed until the date you choose.",
style = MaterialTheme.typography.bodySmall,