External files, improve page generation
This commit is contained in:
@ -34,6 +34,7 @@ struct AddFileView: View {
|
||||
HStack {
|
||||
Button("Cancel", role: .cancel) { dismiss() }
|
||||
Button("Select more files", action: openFilePanel)
|
||||
Button("Add placeholder", action: addPlaceholderFile)
|
||||
Button("Add selected", action: importSelectedFiles)
|
||||
.disabled(filesToAdd.isEmpty)
|
||||
}
|
||||
@ -68,6 +69,11 @@ struct AddFileView: View {
|
||||
}
|
||||
}
|
||||
|
||||
private func addPlaceholderFile() {
|
||||
let newFile = FileToAdd(content: content, externalFile: "placeholder")
|
||||
filesToAdd.append(newFile)
|
||||
}
|
||||
|
||||
private func delete(file: FileToAdd) {
|
||||
guard let index = filesToAdd.firstIndex(of: file) else {
|
||||
return
|
||||
@ -85,16 +91,19 @@ struct AddFileView: View {
|
||||
print("Skipping existing file \(file.uniqueId)")
|
||||
continue
|
||||
}
|
||||
do {
|
||||
try content.storage.copyFile(at: file.url, fileId: file.uniqueId)
|
||||
} catch {
|
||||
print("Failed to import file '\(file.uniqueId)' at \(file.url.path()): \(error)")
|
||||
return
|
||||
if let url = file.url {
|
||||
do {
|
||||
try content.storage.copyFile(at: url, fileId: file.uniqueId)
|
||||
} catch {
|
||||
print("Failed to import file '\(file.uniqueId)' at \(url.path()): \(error)")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let resource = FileResource(
|
||||
content: content,
|
||||
id: file.uniqueId,
|
||||
isExternallyStored: file.url == nil,
|
||||
en: "", de: "")
|
||||
// TODO: Insert at correct index?
|
||||
content.files.insert(resource, at: 0)
|
||||
|
Reference in New Issue
Block a user