feat: empty provider

This commit is contained in:
mrFq1
2023-05-29 23:19:11 +08:00
parent 94b6a3fe45
commit 4fed8c6812

View File

@@ -16,25 +16,7 @@ struct ProvidersView: View {
var body: some View { var body: some View {
NavigationView { NavigationView {
List { listView
Section("Providers") {
ProxyProvidersRowView(providerStorage: providerStorage)
RuleProvidersRowView(providerStorage: providerStorage)
}
Text("")
Section("Proxy Provider") {
ForEach(providerStorage.proxyProviders,id: \.id) {
ProviderRowView(proxyProvider: $0)
}
}
}
.introspectTableView {
$0.refusesFirstResponder = true
$0.doubleAction = nil
}
.listStyle(.plain)
EmptyView() EmptyView()
} }
.searchable(text: $searchString.string) .searchable(text: $searchString.string)
@@ -54,6 +36,40 @@ struct ProvidersView: View {
} }
} }
var listView: some View {
List {
if providerStorage.proxyProviders.isEmpty,
providerStorage.ruleProviders.isEmpty {
Text("Empty")
.padding()
} else {
Section("Providers") {
if !providerStorage.proxyProviders.isEmpty {
ProxyProvidersRowView(providerStorage: providerStorage)
}
if !providerStorage.ruleProviders.isEmpty {
RuleProvidersRowView(providerStorage: providerStorage)
}
}
}
if !providerStorage.proxyProviders.isEmpty {
Text("")
Section("Proxy Provider") {
ForEach(providerStorage.proxyProviders,id: \.id) {
ProviderRowView(proxyProvider: $0)
}
}
}
}
.introspectTableView {
$0.refusesFirstResponder = true
$0.doubleAction = nil
}
.listStyle(.plain)
}
func loadProviders() { func loadProviders() {
ApiRequest.requestProxyProviderList { resp in ApiRequest.requestProxyProviderList { resp in
providerStorage.proxyProviders = resp.allProviders.values.filter { providerStorage.proxyProviders = resp.allProviders.values.filter {