mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 03:50:08 +02:00
🏗 WIP: Adjust extension manager view
This commit is contained in:
@ -11,6 +11,7 @@ import Foundation
|
|||||||
class BrewTapFormulae {
|
class BrewTapFormulae {
|
||||||
public static func from(tap: String) -> [String: Set<String>] {
|
public static func from(tap: String) -> [String: Set<String>] {
|
||||||
let directory = "\(Paths.tapPath)/\(tap)/Formula"
|
let directory = "\(Paths.tapPath)/\(tap)/Formula"
|
||||||
|
|
||||||
let files = try? FileSystem.getShallowContentsOfDirectory(directory)
|
let files = try? FileSystem.getShallowContentsOfDirectory(directory)
|
||||||
|
|
||||||
var availableExtensions = [String: Set<String>]()
|
var availableExtensions = [String: Set<String>]()
|
||||||
|
@ -17,24 +17,26 @@ struct BrewPhpExtension {
|
|||||||
|
|
||||||
struct PhpExtensionManagerView: View {
|
struct PhpExtensionManagerView: View {
|
||||||
init() {
|
init() {
|
||||||
let available = BrewTapFormulae
|
let formulae = BrewTapFormulae.from(tap: "shivammathur/homebrew-extensions")
|
||||||
.from(tap: "shivammathur/homebrew-extensions")["8.2"]!.sorted()
|
|
||||||
|
|
||||||
print(available)
|
if formulae.keys.contains(self.phpVersion) {
|
||||||
|
let extensions = formulae[self.phpVersion]!
|
||||||
|
.sorted()
|
||||||
|
.map({ name in
|
||||||
|
return BrewPhpExtension(name: name, isInstalled: false)
|
||||||
|
})
|
||||||
|
|
||||||
let extensions = available.map({ name in
|
self.extensions = extensions
|
||||||
return BrewPhpExtension(name: name, isInstalled: false)
|
}
|
||||||
})
|
|
||||||
|
|
||||||
self.extensions = extensions
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@State var searchText: String = ""
|
@State var searchText: String = ""
|
||||||
@State var extensions: [BrewPhpExtension]
|
@State var extensions: [BrewPhpExtension] = []
|
||||||
|
@State var phpVersion: String = ""
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
VStack {
|
||||||
header.padding(20)
|
// header.padding(20)
|
||||||
|
|
||||||
List(Array(extensions.enumerated()), id: \.1.name) { (index, pExtension) in
|
List(Array(extensions.enumerated()), id: \.1.name) { (index, pExtension) in
|
||||||
listContent(for: pExtension)
|
listContent(for: pExtension)
|
||||||
|
Reference in New Issue
Block a user