From 15034951fc81d3b0cf173a99d5d119c2c7be8c42 Mon Sep 17 00:00:00 2001 From: maxsoch Date: Mon, 6 Jul 2026 21:38:50 +0200 Subject: [PATCH] hide the Outdated menu item when everything is up to date MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Promote outdatedItem to a property and toggle isHidden from updateOutdatedMenu: hidden at launch and whenever a fetch returns no outdated packages, visible otherwise. The "All up to date" placeholder inside the submenu is dropped — the status line already says it, and the item is invisible when the list is empty. Co-Authored-By: Claude Fable 5 --- BrewBar/BrewBarApp.swift | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/BrewBar/BrewBarApp.swift b/BrewBar/BrewBarApp.swift index 28fa121..efe2a96 100644 --- a/BrewBar/BrewBarApp.swift +++ b/BrewBar/BrewBarApp.swift @@ -14,6 +14,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { var statusItem: NSStatusItem! var statusMenuItem: NSMenuItem! + var outdatedItem: NSMenuItem! var outdatedSubmenu: NSMenu! var versionItem: NSMenuItem! @@ -53,9 +54,10 @@ class AppDelegate: NSObject, NSApplicationDelegate { menu.addItem(NSMenuItem(title: "🔄 Refresh", action: #selector(refreshAction), keyEquivalent: "r")) menu.addItem(NSMenuItem(title: "📦 Upgrade All", action: #selector(upgradeAll), keyEquivalent: "u")) - let outdatedItem = NSMenuItem(title: "📋 Outdated", action: nil, keyEquivalent: "") + outdatedItem = NSMenuItem(title: "📋 Outdated", action: nil, keyEquivalent: "") outdatedSubmenu = NSMenu() outdatedItem.submenu = outdatedSubmenu + outdatedItem.isHidden = true // shown once a fetch finds outdated packages menu.addItem(outdatedItem) menu.addItem(NSMenuItem(title: "📜 Logs", action: #selector(showLogs), keyEquivalent: "l")) @@ -292,11 +294,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { func updateOutdatedMenu(with lines: [String]) { outdatedSubmenu.removeAllItems() - - if lines.isEmpty { - outdatedSubmenu.addItem(NSMenuItem(title: "✅ All up to date", action: nil, keyEquivalent: "")) - return - } + outdatedItem.isHidden = lines.isEmpty for formula in lines { let item = NSMenuItem(title: formula, action: #selector(upgradeSingle(_:)), keyEquivalent: "")