mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 03:50: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:
@ -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
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user