mirror of https://github.com/buresdv/Cork
~ Custom Homebrew paths → @Defaults
This commit is contained in:
parent
459e2c6a47
commit
0fbdc8fa72
|
|
@ -24,7 +24,7 @@ struct ContentView: View, Sendable
|
|||
@Default(.discoverabilityDaySpan) var discoverabilityDaySpan: DiscoverabilityDaySpans
|
||||
@Default(.sortTopPackagesBy) var sortTopPackagesBy
|
||||
|
||||
@AppStorage("customHomebrewPath") var customHomebrewPath: String = ""
|
||||
@Default(.customHomebrewPath) var customHomebrewPath: URL?
|
||||
|
||||
@Environment(\.openWindow) var openWindow: OpenWindowAction
|
||||
|
||||
|
|
@ -236,7 +236,7 @@ private extension View
|
|||
{
|
||||
AppConstants.shared.logger.debug("Brew executable path: \(AppConstants.shared.brewExecutablePath, privacy: .public)")
|
||||
|
||||
if !view.customHomebrewPath.isEmpty && !FileManager.default.fileExists(atPath: AppConstants.shared.brewExecutablePath.path)
|
||||
if view.customHomebrewPath != nil && !FileManager.default.fileExists(atPath: AppConstants.shared.brewExecutablePath.path)
|
||||
{
|
||||
view.appState.showAlert(errorToShow: .customBrewExcutableGotDeleted)
|
||||
}
|
||||
|
|
@ -594,7 +594,7 @@ private extension View
|
|||
case .customBrewExcutableGotDeleted:
|
||||
Button
|
||||
{
|
||||
view.customHomebrewPath = ""
|
||||
view.customHomebrewPath = nil
|
||||
} label: {
|
||||
Text("action.reset-custom-brew-executable")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@
|
|||
|
||||
import SwiftUI
|
||||
import CorkShared
|
||||
import Defaults
|
||||
|
||||
struct CustomHomebrewExecutableView: View
|
||||
{
|
||||
@AppStorage("customHomebrewPath") var customHomebrewPath: String = ""
|
||||
@Default(.customHomebrewPath) var customHomebrewPath: URL?
|
||||
@AppStorage("allowAdvancedHomebrewSettings") var allowAdvancedHomebrewSettings: Bool = false
|
||||
|
||||
@EnvironmentObject var settingsState: SettingsState
|
||||
|
|
@ -45,11 +46,11 @@ struct CustomHomebrewExecutableView: View
|
|||
Text("settings.brew.custom-homebrew-path.select")
|
||||
}
|
||||
|
||||
if !customHomebrewPath.isEmpty
|
||||
if customHomebrewPath != nil
|
||||
{
|
||||
Button
|
||||
{
|
||||
customHomebrewPath = ""
|
||||
customHomebrewPath = nil
|
||||
} label: {
|
||||
Text("settings.brew.custom-homebrew-path.reset")
|
||||
}
|
||||
|
|
@ -65,9 +66,9 @@ struct CustomHomebrewExecutableView: View
|
|||
.onChange(of: allowAdvancedHomebrewSettings, perform: { newValue in
|
||||
if newValue == false
|
||||
{
|
||||
if !customHomebrewPath.isEmpty
|
||||
if customHomebrewPath != nil
|
||||
{
|
||||
customHomebrewPath = ""
|
||||
customHomebrewPath = nil
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
@ -82,9 +83,15 @@ struct CustomHomebrewExecutableView: View
|
|||
case .success(let success):
|
||||
if success.first!.lastPathComponent == "brew"
|
||||
{
|
||||
AppConstants.shared.logger.info("Valid brew executable: \(success.first!.path)")
|
||||
guard let selectedCustomHomebrewPath = success.first else
|
||||
{
|
||||
AppConstants.shared.logger.error("Failed while getting selected custom Homebrew executable")
|
||||
return
|
||||
}
|
||||
|
||||
customHomebrewPath = success.first!.path
|
||||
AppConstants.shared.logger.info("Valid brew executable: \(selectedCustomHomebrewPath.path)")
|
||||
|
||||
customHomebrewPath = selectedCustomHomebrewPath
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -13,4 +13,7 @@ public extension Defaults.Keys
|
|||
// MARK: - Analytics
|
||||
/// Whether to allow anonymous Homebrew analytics
|
||||
static let allowBrewAnalytics: Key<Bool> = .init("allowBrewAnalytics", default: true)
|
||||
|
||||
// MARK: - Developer settings
|
||||
static let customHomebrewPath: Key<URL?> = .init("customHomebrewPath", default: nil)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue