title_bar: Hide plans without a subscription period (#30478)

This PR updates the plan display in the user menu in the title bar to
hide plans that do not have a subscription period.

Release Notes:

- Improved the displaying of the plan in the user menu.
This commit is contained in:
Marshall Bowers 2025-05-10 16:52:38 -04:00 committed by GitHub
parent 172a475515
commit 18a2a50227
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -674,7 +674,11 @@ impl TitleBar {
pub fn render_user_menu_button(&mut self, cx: &mut Context<Self>) -> impl Element { pub fn render_user_menu_button(&mut self, cx: &mut Context<Self>) -> impl Element {
let user_store = self.user_store.read(cx); let user_store = self.user_store.read(cx);
if let Some(user) = user_store.current_user() { if let Some(user) = user_store.current_user() {
let plan = user_store.current_plan(); let has_subscription_period = self.user_store.read(cx).subscription_period().is_some();
let plan = self.user_store.read(cx).current_plan().filter(|_| {
// Since the user might be on the legacy free plan we filter based on whether we have a subscription period.
has_subscription_period
});
PopoverMenu::new("user-menu") PopoverMenu::new("user-menu")
.anchor(Corner::TopRight) .anchor(Corner::TopRight)
.menu(move |window, cx| { .menu(move |window, cx| {
@ -683,10 +687,10 @@ impl TitleBar {
format!( format!(
"Current Plan: {}", "Current Plan: {}",
match plan { match plan {
None => "", None => "None",
Some(proto::Plan::Free) => "Free", Some(proto::Plan::Free) => "Zed Free",
Some(proto::Plan::ZedPro) => "Pro", Some(proto::Plan::ZedPro) => "Zed Pro",
Some(proto::Plan::ZedProTrial) => "Pro (Trial)", Some(proto::Plan::ZedProTrial) => "Zed Pro (Trial)",
} }
), ),
zed_actions::OpenAccountSettings.boxed_clone(), zed_actions::OpenAccountSettings.boxed_clone(),