Add images to posts, saving
This commit is contained in:
@@ -17,7 +17,7 @@ final class Content: ObservableObject {
|
||||
var images: [ImageResource] = []
|
||||
|
||||
@Published
|
||||
var files: [FileResources] = []
|
||||
var files: [FileResource] = []
|
||||
|
||||
@AppStorage("contentPath")
|
||||
private var storedContentPath: String = ""
|
||||
@@ -37,7 +37,7 @@ final class Content: ObservableObject {
|
||||
pages: [Page] = [],
|
||||
tags: [Tag] = [],
|
||||
images: [ImageResource] = [],
|
||||
files: [FileResources] = [],
|
||||
files: [FileResource] = [],
|
||||
storedContentPath: String) {
|
||||
self.posts = posts
|
||||
self.pages = pages
|
||||
@@ -209,13 +209,13 @@ final class Content: ObservableObject {
|
||||
dict[file] = ImageResource(uniqueId: file, altText: .init(en: "", de: ""), fileUrl: url)
|
||||
}
|
||||
|
||||
let files: [FileResources] = filesData.compactMap { file, url in
|
||||
let files: [FileResource] = filesData.compactMap { file, url in
|
||||
let ext = file.components(separatedBy: ".").last!.lowercased()
|
||||
let type = FileType(fileExtension: ext)
|
||||
guard type == .file else {
|
||||
return nil
|
||||
}
|
||||
return FileResources(uniqueId: file, description: "")
|
||||
return FileResource(uniqueId: file, description: "")
|
||||
}
|
||||
|
||||
let posts = postsData.map { postId, post in
|
||||
@@ -293,6 +293,27 @@ final class Content: ObservableObject {
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: Saving
|
||||
|
||||
func saveToDisk() {
|
||||
print("Starting save")
|
||||
for page in pages {
|
||||
storage.save(pageMetadata: page.pageFile, for: page.id)
|
||||
}
|
||||
|
||||
for post in posts {
|
||||
storage.save(post: post.postFile, for: post.id)
|
||||
}
|
||||
|
||||
for tag in tags {
|
||||
storage.save(tagMetadata: tag.tagFile, for: tag.id)
|
||||
}
|
||||
// TODO: Remove all files that are no longer in use (they belong to deleted items)
|
||||
print("Finished save")
|
||||
}
|
||||
|
||||
// MARK: Folder access
|
||||
|
||||
static func accessFolderFromBookmark(key: String, operation: (URL) -> Void) {
|
||||
guard let bookmarkData = UserDefaults.standard.data(forKey: key) else {
|
||||
print("No bookmark data to access folder")
|
||||
|
Reference in New Issue
Block a user