diff --git a/phpmon/Domain/Menu/MainMenu.swift b/phpmon/Domain/Menu/MainMenu.swift index 0dc8fef..cfd8ae8 100644 --- a/phpmon/Domain/Menu/MainMenu.swift +++ b/phpmon/Domain/Menu/MainMenu.swift @@ -109,6 +109,24 @@ class MainMenu: NSObject, NSWindowDelegate, NSMenuDelegate, PhpSwitcherDelegate } } + @objc func showIncompatiblePhpVersionsAlert() { + Task { @MainActor in + BetterAlert().withInformation( + title: "startup.unsupported_versions_explanation.title".localized, + subtitle: "startup.unsupported_versions_explanation.subtitle".localized( + PhpEnv.shared.incompatiblePhpVersions + .map({ version in + return "• PHP \(version)" + }) + .joined(separator: "\n") + ), + description: "startup.unsupported_versions_explanation.desc".localized + ) + .withPrimary(text: "generic.ok".localized) + .show() + } + } + /** Reloads the menu in the background, using `asyncExecution`. */ @objc func reloadPhpMonitorMenuInBackground() { asyncExecution({ diff --git a/phpmon/Domain/Menu/StatusMenu+Items.swift b/phpmon/Domain/Menu/StatusMenu+Items.swift index 0d4c189..88147bc 100644 --- a/phpmon/Domain/Menu/StatusMenu+Items.swift +++ b/phpmon/Domain/Menu/StatusMenu+Items.swift @@ -30,7 +30,7 @@ extension StatusMenu { return } - if PhpEnv.shared.availablePhpVersions.isEmpty { return } + if PhpEnv.shared.availablePhpVersions.isEmpty && PhpEnv.shared.incompatiblePhpVersions.isEmpty { return } addSwitchToPhpMenuItems() self.addItem(NSMenuItem.separator()) @@ -50,7 +50,6 @@ extension StatusMenu { func addSwitchToPhpMenuItems() { var shortcutKey = 1 for index in (0..