Settings → Team: swap cost banner for seat-cap alert#10272
Settings → Team: swap cost banner for seat-cap alert#10272IsaiahWitzke wants to merge 5 commits intomasterfrom
Conversation
When a team is at or near (cap - 1) its seat cap, replace the per-seat cost callout in the team invitation section with an alert banner that warns the admin/non-admin about the cap and points them at the right remediation: - Non-admins (any plan): muted "contact your admin" body and no CTA. - Admins on Build / Build Max: "Upgrade" CTA opening /upgrade. - Admins on Build Business: "Contact sales" CTA opening mailto:sales@warp.dev. Layout matches the existing cost banner: alert icon + vertical title/body stack on the left and the CTA right-aligned via MainAxisAlignment::SpaceBetween. Title text uses the same subsection header styling as the cost banner. Adds a `contact_sales` helper next to the existing `contact_support` helper in admin_actions and a matching `TeamsPageAction::ContactSales` action. Co-Authored-By: Oz <oz-agent@warp.dev>
Aligns the at/over-cap seat alert with the existing red full-panel treatment in render_cloud_mode_error_screen (10% opacity background, full-opacity red border). Co-Authored-By: Oz <oz-agent@warp.dev>
The Secondary variant's hover state uses surface_3 (grey), which clashed visually with the red-tinted at-cap banner. Outlined keeps a transparent background and only animates its border on hover, letting the red panel tint show through. The almost-full banner stays neutral, so it keeps the Secondary variant. Co-Authored-By: Oz <oz-agent@warp.dev>
Previously the at/over-cap banner used Outlined to avoid the grey hover on the red panel, but Outlined's hover border defaults to the accent color (blue) which still looked off. Switch back to Secondary for both banner states so idle styling is consistent, and override the at-cap button's hovered styles to use ui_error_color (10% bg, full-opacity border) so hovering intensifies the red panel tint instead of fighting it. Co-Authored-By: Oz <oz-agent@warp.dev>
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR replaces the paid-seat pricing banner in Settings → Team with a seat-cap alert and admin CTA when the workspace is full or one seat away from full.
Concerns
- The new CTA sends every non-Business capped team to the upgrade flow, instead of preserving the existing distinction between self-serve upgradeable tiers and capped tiers that need sales/support/admin handling.
- The seat-cap alert is selected before delinquency-specific invite messaging, so full delinquent teams can receive an upgrade/sales CTA that conflicts with the billing-recovery path shown lower in the section.
Verdict
Found: 0 critical, 2 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| } else { | ||
| ( | ||
| "Upgrade", | ||
| TeamsPageAction::GenerateUpgradeLink { team_uid: team.uid }, |
There was a problem hiding this comment.
| && workspace_size_policy.limit >= 1 | ||
| && team_size_i64 == workspace_size_policy.limit - 1; | ||
|
|
||
| if is_full || is_almost_full { |
There was a problem hiding this comment.
delinquency_status or skip the seat-cap CTA for delinquent teams.
implementing the header designs from here... see tech doc here
this pr just replaces the "additional members are billed at ..." UI at the top since if you're at/near your team limit already, you should already know this:
testing
team full (admin)
team full (non-admin)
team almost full (admin)
team almost full (non-admin)
on build plan the cta changes from sales mailto to /upgrade link