Page MenuHomeMusing Studio

No OneTemporary

diff --git a/Shared/Post/PostEditor.swift b/Shared/Post/PostEditor.swift
index aa2568b..57fe7fb 100644
--- a/Shared/Post/PostEditor.swift
+++ b/Shared/Post/PostEditor.swift
@@ -1,64 +1,71 @@
import SwiftUI
struct PostEditor: View {
@EnvironmentObject var postStore: PostStore
@ObservedObject var post: Post
@State private var isNewPost = false
var body: some View {
VStack {
TextEditor(text: $post.title)
.font(.title)
.frame(height: 100)
.onChange(of: post.title) { _ in
if post.status == .published {
post.status = .edited
}
}
TextEditor(text: $post.body)
.font(.body)
.onChange(of: post.body) { _ in
if post.status == .published {
post.status = .edited
}
}
}
.padding()
.toolbar {
ToolbarItem(placement: .status) {
PostStatusBadge(post: post)
}
ToolbarItem(placement: .primaryAction) {
Button(action: {
post.status = .published
}, label: {
Image(systemName: "paperplane")
})
}
}
.onAppear(perform: {
checkIfNewPost()
if self.isNewPost {
addNewPostToStore()
}
})
}
private func checkIfNewPost() {
self.isNewPost = !postStore.posts.contains(where: { $0.id == post.id })
}
private func addNewPostToStore() {
withAnimation {
postStore.add(post)
self.isNewPost = false
}
}
}
+
+struct PostEditor_NewDraftPreviews: PreviewProvider {
+ static var previews: some View {
+ PostEditor(post: Post())
+ .environmentObject(testPostStore)
+ }
}
-struct PostEditor_Previews: PreviewProvider {
+struct PostEditor_ExistingPostPreviews: PreviewProvider {
static var previews: some View {
- PostEditor(post: testPost)
+ PostEditor(post: testPostData[0])
+ .environmentObject(testPostStore)
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, May 17, 4:43 AM (21 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3732333

Event Timeline