Ferrite-backup/Ferrite/Views/ComponentViews/Plugin/PluginInfoView.swift
kingbri d918039810 Plugins: Add website and about properties
These will serve as descriptions for a plugin which will be displayed
in the Plugin Info screen.

website has also replaced baseUrl and dynamicWebsite has replaced
dynamicBaseUrl

Signed-off-by: kingbri <bdashore3@proton.me>
2023-04-02 14:53:22 -04:00

44 lines
1.2 KiB
Swift

//
// PluginInfoView.swift
// Ferrite
//
// Created by Brian Dashore on 3/24/23.
//
import SwiftUI
struct PluginInfoView<P: Plugin>: View {
@Environment(\.dismiss) var dismiss
@Binding var selectedPlugin: P?
var body: some View {
NavView {
List {
if let selectedPlugin {
PluginInfoMetaView(selectedPlugin: selectedPlugin)
if selectedPlugin.about != nil || selectedPlugin.website != nil {
PluginInfoAboutView(selectedPlugin: selectedPlugin)
}
if let selectedSource = selectedPlugin as? Source {
SourceSettingsView(selectedSource: selectedSource)
}
}
}
.listStyle(.insetGrouped)
.onDisappear {
PersistenceController.shared.save()
}
.navigationTitle("Plugin Options")
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
Button("Done") {
dismiss()
}
}
}
}
}
}