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 validPhpVersions: [VersionNumber]
|
||||||
|
|
||||||
|
@State var prefersIsolationSuggestions: Bool
|
||||||
|
|
||||||
@State var parent: NSPopover!
|
@State var parent: NSPopover!
|
||||||
|
|
||||||
let rows = [
|
let rows = [
|
||||||
@ -38,7 +40,7 @@ struct VersionPopoverView: View {
|
|||||||
message: "alert.php_suggestions".localized,
|
message: "alert.php_suggestions".localized,
|
||||||
color: Color("AppColor")
|
color: Color("AppColor")
|
||||||
)
|
)
|
||||||
if Valet.enabled(feature: .isolatedSites) {
|
if prefersIsolationSuggestions {
|
||||||
LazyVGrid(columns: self.rows, alignment: .leading, spacing: 5, content: {
|
LazyVGrid(columns: self.rows, alignment: .leading, spacing: 5, content: {
|
||||||
ForEach(validPhpVersions, id: \.self) { version in
|
ForEach(validPhpVersions, id: \.self) { version in
|
||||||
Button("site_link.isolate_php".localized(version.short), action: {
|
Button("site_link.isolate_php".localized(version.short), action: {
|
||||||
@ -162,6 +164,7 @@ struct DisclaimerView: View {
|
|||||||
constraint: ""
|
constraint: ""
|
||||||
),
|
),
|
||||||
validPhpVersions: [],
|
validPhpVersions: [],
|
||||||
|
prefersIsolationSuggestions: false,
|
||||||
parent: nil
|
parent: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -177,6 +180,7 @@ struct DisclaimerView: View {
|
|||||||
constraint: "^8.1"
|
constraint: "^8.1"
|
||||||
),
|
),
|
||||||
validPhpVersions: [],
|
validPhpVersions: [],
|
||||||
|
prefersIsolationSuggestions: false,
|
||||||
parent: nil
|
parent: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -193,6 +197,7 @@ struct DisclaimerView: View {
|
|||||||
isolated: "8.0"
|
isolated: "8.0"
|
||||||
),
|
),
|
||||||
validPhpVersions: [],
|
validPhpVersions: [],
|
||||||
|
prefersIsolationSuggestions: false,
|
||||||
parent: nil
|
parent: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -209,6 +214,7 @@ struct DisclaimerView: View {
|
|||||||
isolated: "7.4"
|
isolated: "7.4"
|
||||||
),
|
),
|
||||||
validPhpVersions: [],
|
validPhpVersions: [],
|
||||||
|
prefersIsolationSuggestions: false,
|
||||||
parent: nil
|
parent: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -230,6 +236,7 @@ struct DisclaimerView: View {
|
|||||||
VersionNumber(major: 8, minor: 3, patch: 0),
|
VersionNumber(major: 8, minor: 3, patch: 0),
|
||||||
VersionNumber(major: 8, minor: 4, patch: 0)
|
VersionNumber(major: 8, minor: 4, patch: 0)
|
||||||
],
|
],
|
||||||
|
prefersIsolationSuggestions: true,
|
||||||
parent: nil
|
parent: nil
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,12 @@ class DomainListPhpCell: NSTableCellView, DomainListCellProtocol {
|
|||||||
let button = self.buttonPhpVersion!
|
let button = self.buttonPhpVersion!
|
||||||
let popover = NSPopover()
|
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.contentViewController = NSHostingController(rootView: view)
|
||||||
popover.behavior = .transient
|
popover.behavior = .transient
|
||||||
|
Reference in New Issue
Block a user