1
0
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:
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 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
) )
} }

View File

@ -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