[PM-37992] fix: Show subscription attention card in empty vault and suppress conflicting CTAs#2867
[PM-37992] fix: Show subscription attention card in empty vault and suppress conflicting CTAs#2867KatherineInCode wants to merge 17 commits into
Conversation
…tView to #Preview macros
…conflicting CTAs - Add subscriptionNeedsAttentionActionCard to emptyVault so past-due users with 0-4 vault items see the card - Suppress importLoginsActionCard and archiveOnboardingActionCard when subscription attention card is showing (priority suppression, not dismissal) - Add ViewInspector tests for all new states - Replace deleted _allPreviews snapshot catch-all with individual disabled snapshot tests for each uncovered state
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2867 +/- ##
==========================================
+ Coverage 81.28% 81.70% +0.41%
==========================================
Files 1028 1028
Lines 66213 65920 -293
==========================================
+ Hits 53822 53858 +36
+ Misses 12391 12062 -329 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
… priority cascade Add VaultListActionCard enum and activeActionCard computed property to VaultListState, implementing an explicit priority ordering (upgradedToPremium > upgradeNeeded > subscriptionNeedsAttention > introducingArchive > importItems). Replace the five individual @ViewBuilder card properties with a single actionCard view that switches on activeActionCard, so only one card is ever rendered at a time.
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE Reviewed the QA follow-up to #2823, which refactors the scattered per-card Code Review DetailsNo new findings. The empty-vault card exposure concern was already raised inline ( |
fedemkr
left a comment
There was a problem hiding this comment.
Looks good, just put 2 really minor ⛏️ but approved 🚀
🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-37992
📔 Objective
QA follow-up on #2823. Two failures were found:
Card missing for empty/near-empty vaults —
subscriptionNeedsAttentionActionCardwas only rendered insidevaultContents(with:), which only displays when the vault has items. Users with 0–4 vault items sawemptyVaultinstead, where the card was absent. Fixed by adding the card toemptyVault.Subscription attention card and archive onboarding card appear simultaneously — When a past-due user had an undismissed archive onboarding CTA, both cards showed at once. Fixed by suppressing
archiveOnboardingActionCard(andimportLoginsActionCardin the empty vault) when the subscription attention card is visible.Also converts
VaultListViewpreviews fromPreviewProviderto#Previewmacros, and adds previews for the two failing states.📸 Screenshots