Skip to content

[PM-37916] chore: Align Premium subscription card line items with Web#6961

Merged
SaintPatrck merged 4 commits into
mainfrom
premium-upgrade/align-subscription-card-with-web
May 22, 2026
Merged

[PM-37916] chore: Align Premium subscription card line items with Web#6961
SaintPatrck merged 4 commits into
mainfrom
premium-upgrade/align-subscription-card-with-web

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

@SaintPatrck SaintPatrck commented May 21, 2026

🎟️ Tracking

PM-37916

📔 Objective

Align the Premium plan screen's subscription card with the canonical Web cart-summary contract: hide Discount and Storage rows when zero/absent (instead of rendering --), always render Estimated Tax ($0.00 when zero), and add a discrete Total row below Tax that carries the cadence suffix.

The header sentence summarizing the next charge is unchanged. The previous -- defaults are never user-visible — a DialogState.Loading overlay covers the screen during the subscription fetch.

📸 Screenshots

Figma Actual

Mirror the canonical Web cart-summary visibility contract on the
Premium plan screen: hide Discount and Storage rows (and their
leading dividers) when null or zero, always render Estimated Tax —
formatted as $0.00 when zero — and add a new Total row below Tax
that carries the cadence suffix.

Drops the "--" placeholder from the four premium line-item fields.
The Loading dialog overlay covers the screen during the initial
fetch, so removing the placeholder defaults does not regress any
user-facing affordance. The free-tier rate defaults continue to
use the existing PLACEHOLDER_TEXT constant.
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:feature Change Type - Feature Development labels May 21, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

❌ Patch coverage is 97.91667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 86.45%. Comparing base (afe296c) to head (690cb3f).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
.../ui/platform/feature/premium/plan/PlanViewModel.kt 91.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6961      +/-   ##
==========================================
- Coverage   87.04%   86.45%   -0.59%     
==========================================
  Files         855      869      +14     
  Lines       62970    63422     +452     
  Branches     9184     9189       +5     
==========================================
+ Hits        54814    54834      +20     
- Misses       4997     5428     +431     
- Partials     3159     3160       +1     
Flag Coverage Δ
app-data 17.04% <0.00%> (-0.01%) ⬇️
app-ui-auth-tools 19.06% <0.00%> (-0.01%) ⬇️
app-ui-platform 16.50% <97.91%> (+0.02%) ⬆️
app-ui-vault 27.90% <0.00%> (-0.01%) ⬇️
authenticator 6.24% <0.00%> (-0.05%) ⬇️
lib-core-network-bridge 4.07% <0.00%> (-0.02%) ⬇️
lib-data-ui 1.15% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Apply the bodyLargeEmphasis token (newly added to BitwardenTypography)
and textSecondary color to the Premium subscription card's Total row,
per design feedback on PR #6961.
Narrow the Total row's bodyLargeEmphasis treatment to the label
only — the value reverts to bodyLarge/text.primary so it matches
the four rows above it. Override the subscription description's
emphasis span to use text.secondary so the bolded charge amount
and date sit in the same color as the surrounding copy instead
of jumping to primary.
@SaintPatrck SaintPatrck added the ai-review-vnext Request a Claude code review using the vNext workflow label May 21, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR aligns the Premium subscription card line items with the canonical Web cart-summary contract: Discount and Storage rows hide when zero/absent (instead of rendering --), Estimated Tax always renders ($0.00 when zero), and a new Total row with a cadence suffix is added below Tax. Supporting changes include a new bodyLargeEmphasis typography style, an emphasized variant for the subscription description text, and refactored toRequiredMoneyText/toOptionalMoneyText helpers with clear documentation of the required-vs-optional visibility contract. Test coverage was updated to validate the new hide/show behavior, the $0.00 always-render path, and the cadence-suffixed Total row across annual and monthly cadences.

Set the common-case label/value typography and colors as defaults on
SubscriptionLineItem so each call site only has to spell out its
overrides. Modifier stays as the first defaulted parameter per the
codebase convention. Net effect: Billing, Storage, and Tax rows drop
to four args each, Discount keeps its valueColor override, Total
keeps its labelStyle override.
@SaintPatrck SaintPatrck marked this pull request as ready for review May 21, 2026 21:53
@SaintPatrck SaintPatrck requested review from a team and david-livefront as code owners May 21, 2026 21:53
@SaintPatrck SaintPatrck added t:tech-debt Change Type - Tech debt and removed t:feature Change Type - Feature Development labels May 22, 2026
@SaintPatrck SaintPatrck changed the title [PM-37916] feat: Align Premium subscription card line items with Web [PM-37916] chore: Align Premium subscription card line items with Web May 22, 2026
@SaintPatrck SaintPatrck added this pull request to the merge queue May 22, 2026
Merged via the queue into main with commit a5f7288 May 22, 2026
28 checks passed
@SaintPatrck SaintPatrck deleted the premium-upgrade/align-subscription-card-with-web branch May 22, 2026 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review-vnext Request a Claude code review using the vNext workflow app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:tech-debt Change Type - Tech debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants