diff --git a/Views/Library/ZimFileDetail.swift b/Views/Library/ZimFileDetail.swift index 298602a2..a591da51 100644 --- a/Views/Library/ZimFileDetail.swift +++ b/Views/Library/ZimFileDetail.swift @@ -87,13 +87,21 @@ struct ZimFileDetail: View { .modifier(FileLocator(isPresenting: $isPresentingFileLocator)) .navigationTitle(zimFile.name) .navigationBarTitleDisplayMode(.inline) - .task { - if let zimFileName = await ZimFileService.shared.getFileURL(zimFileID: zimFile.fileID)?.lastPathComponent, - let documentDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first, - FileManager.default.fileExists(atPath: documentDirectoryURL.appendingPathComponent(zimFileName).path) { - isInDocumentsDirectory = true - } else { - isInDocumentsDirectory = false + .onReceive(zimFile.publisher(for: \.fileURLBookmark)) { _ in + Task { @MainActor in + if let zimFileName = await ZimFileService.shared.getFileURL( + zimFileID: zimFile.fileID + )?.lastPathComponent, + let documentDirectoryURL = FileManager.default.urls( + for: .documentDirectory, in: .userDomainMask + ).first, + FileManager.default.fileExists( + atPath: documentDirectoryURL.appendingPathComponent(zimFileName).path + ) { + isInDocumentsDirectory = true + } else { + isInDocumentsDirectory = false + } } } #endif