Reset selected file on delete

This commit is contained in:
Christoph Hagen 2025-01-07 14:30:46 +01:00
parent e670cefb34
commit 7b723add3e
3 changed files with 10 additions and 14 deletions

View File

@ -60,9 +60,6 @@ struct MainView: App {
@State @State
private var selectedTag: Tag? private var selectedTag: Tag?
@State
private var selectedFile: FileResource?
@State @State
private var selectedSection: SettingsSection = .folders private var selectedSection: SettingsSection = .folders
@ -82,7 +79,7 @@ struct MainView: App {
case .tags: case .tags:
TagListView(selectedTag: $selectedTag) TagListView(selectedTag: $selectedTag)
case .files: case .files:
FileListView(selectedFile: $selectedFile) FileListView(selectedFile: $content.selectedFile)
case .generation: case .generation:
SettingsListView(selectedSection: $selectedSection) SettingsListView(selectedSection: $selectedSection)
} }
@ -98,7 +95,7 @@ struct MainView: App {
case .tags: case .tags:
SelectedContentView<TagContentView>(selected: $selectedTag) SelectedContentView<TagContentView>(selected: $selectedTag)
case .files: case .files:
SelectedContentView<FileContentView>(selected: $selectedFile) SelectedContentView<FileContentView>(selected: $content.selectedFile)
case .generation: case .generation:
GenerationContentView(selected: $selectedSection) GenerationContentView(selected: $selectedSection)
} }
@ -114,7 +111,7 @@ struct MainView: App {
case .tags: case .tags:
SelectedDetailView<TagDetailView>(selected: $selectedTag) SelectedDetailView<TagDetailView>(selected: $selectedTag)
case .files: case .files:
SelectedDetailView<FileDetailView>(selected: $selectedFile) SelectedDetailView<FileDetailView>(selected: $content.selectedFile)
case .generation: case .generation:
GenerationDetailView(section: selectedSection) GenerationDetailView(section: selectedSection)
} }
@ -130,7 +127,7 @@ struct MainView: App {
case .tags: case .tags:
AddTagView(selected: $selectedTag) AddTagView(selected: $selectedTag)
case .files: case .files:
AddFileView(selectedFile: $selectedFile) AddFileView(selectedFile: $content.selectedFile)
case .generation: case .generation:
Text("Not implemented") Text("Not implemented")
} }

View File

@ -37,6 +37,9 @@ final class Content: ObservableObject {
@Published @Published
private(set) var shouldGenerateWebsite = false private(set) var shouldGenerateWebsite = false
@State
var selectedFile: FileResource?
let imageGenerator: ImageGenerator let imageGenerator: ImageGenerator
init(settings: Settings, init(settings: Settings,
@ -135,7 +138,9 @@ final class Content: ObservableObject {
tag.remove(file) tag.remove(file)
} }
settings.remove(file) settings.remove(file)
#warning("Remove MainView.selectedFile when deleting file") if selectedFile == file {
selectedFile = nil
}
} }
func file(withOutputPath: String) -> FileResource? { func file(withOutputPath: String) -> FileResource? {

View File

@ -40,12 +40,6 @@ struct FileDetailView: View {
@ObservedObject @ObservedObject
var file: FileResource var file: FileResource
@State
private var showFileSelection = false
@State
private var selectedFile: FileResource?
var body: some View { var body: some View {
ScrollView { ScrollView {
VStack(alignment: .leading) { VStack(alignment: .leading) {