diff --git a/Shared/Post/PostEditor.swift b/Shared/Post/PostEditor.swift index 2908941..ba197c6 100644 --- a/Shared/Post/PostEditor.swift +++ b/Shared/Post/PostEditor.swift @@ -1,53 +1,55 @@ 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 { - PostStatusBadge(post: post) + ToolbarItem(placement: .status) { + PostStatusBadge(post: post) + } } .onAppear(perform: checkIfNewPost) .onDisappear(perform: addPostToStore) } private func checkIfNewPost() { if !postStore.posts.contains(where: { $0.id == post.id }) { self.isNewPost = true } } private func addPostToStore() { if isNewPost { withAnimation { postStore.add(post) } } } } struct PostEditor_Previews: PreviewProvider { static var previews: some View { PostEditor(post: testPost) } }