28 lines
763 B
Swift
28 lines
763 B
Swift
import CodexBarCore
|
|
import Foundation
|
|
|
|
struct VeniceProviderImplementation: ProviderImplementation {
|
|
let id: UsageProvider = .venice
|
|
|
|
@MainActor
|
|
func presentation(context _: ProviderPresentationContext) -> ProviderPresentation {
|
|
ProviderPresentation { _ in "api" }
|
|
}
|
|
|
|
@MainActor
|
|
func observeSettings(_: SettingsStore) {}
|
|
|
|
@MainActor
|
|
func isAvailable(context: ProviderAvailabilityContext) -> Bool {
|
|
if VeniceSettingsReader.apiKey(environment: context.environment) != nil {
|
|
return true
|
|
}
|
|
return !context.settings.tokenAccounts(for: .venice).isEmpty
|
|
}
|
|
|
|
@MainActor
|
|
func settingsFields(context _: ProviderSettingsContext) -> [ProviderSettingsFieldDescriptor] {
|
|
[]
|
|
}
|
|
}
|