1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-06 19:40:08 +02:00

👌 Improve removing indirect dependency

Mind you, the interaction with the domain list controller also needs to
be abstracted away, but this is fine, for now.
This commit is contained in:
2024-04-03 14:11:45 +02:00
parent bf728a24f0
commit 06bc4ddb9a
2 changed files with 14 additions and 2 deletions

View File

@ -14,6 +14,8 @@ struct VersionPopoverView: View {
@State var validPhpVersions: [VersionNumber]
@State var prefersIsolationSuggestions: Bool
@State var parent: NSPopover!
let rows = [
@ -38,7 +40,7 @@ struct VersionPopoverView: View {
message: "alert.php_suggestions".localized,
color: Color("AppColor")
)
if Valet.enabled(feature: .isolatedSites) {
if prefersIsolationSuggestions {
LazyVGrid(columns: self.rows, alignment: .leading, spacing: 5, content: {
ForEach(validPhpVersions, id: \.self) { version in
Button("site_link.isolate_php".localized(version.short), action: {
@ -162,6 +164,7 @@ struct DisclaimerView: View {
constraint: ""
),
validPhpVersions: [],
prefersIsolationSuggestions: false,
parent: nil
)
}
@ -177,6 +180,7 @@ struct DisclaimerView: View {
constraint: "^8.1"
),
validPhpVersions: [],
prefersIsolationSuggestions: false,
parent: nil
)
}
@ -193,6 +197,7 @@ struct DisclaimerView: View {
isolated: "8.0"
),
validPhpVersions: [],
prefersIsolationSuggestions: false,
parent: nil
)
}
@ -209,6 +214,7 @@ struct DisclaimerView: View {
isolated: "7.4"
),
validPhpVersions: [],
prefersIsolationSuggestions: false,
parent: nil
)
}
@ -230,6 +236,7 @@ struct DisclaimerView: View {
VersionNumber(major: 8, minor: 3, patch: 0),
VersionNumber(major: 8, minor: 4, patch: 0)
],
prefersIsolationSuggestions: true,
parent: nil
)
}

View File

@ -70,7 +70,12 @@ class DomainListPhpCell: NSTableCellView, DomainListCellProtocol {
let button = self.buttonPhpVersion!
let popover = NSPopover()
let view = VersionPopoverView(site: site, validPhpVersions: validPhpSuggestions, parent: popover)
let view = VersionPopoverView(
site: site,
validPhpVersions: validPhpSuggestions,
prefersIsolationSuggestions: Valet.enabled(feature: .isolatedSites),
parent: popover
)
popover.contentViewController = NSHostingController(rootView: view)
popover.behavior = .transient