Add button to remove post
This commit is contained in:
20
CHDataManagement/Views/Generic/DeleteButton.swift
Normal file
20
CHDataManagement/Views/Generic/DeleteButton.swift
Normal file
@ -0,0 +1,20 @@
|
||||
import SwiftUI
|
||||
|
||||
struct DeleteButton: View {
|
||||
|
||||
let action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
Button(action: action) {
|
||||
HStack {
|
||||
Spacer()
|
||||
Image(systemSymbol: .trash)
|
||||
Text("Delete")
|
||||
.padding(.vertical, 8)
|
||||
Spacer()
|
||||
}
|
||||
.foregroundStyle(Color.white)
|
||||
.background(RoundedRectangle(cornerRadius: 8).fill(Color.red))
|
||||
}.buttonStyle(.plain)
|
||||
}
|
||||
}
|
@ -76,6 +76,7 @@ struct PostDetailView: View {
|
||||
LocalizedPostDetailView(
|
||||
post: post.localized(in: language),
|
||||
transferImage: transferImage)
|
||||
DeleteButton(action: deletePost)
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
@ -90,6 +91,15 @@ struct PostDetailView: View {
|
||||
selection.tab = .pages
|
||||
}
|
||||
}
|
||||
|
||||
private func deletePost() {
|
||||
guard content.storage.delete(post: post.id) else {
|
||||
print("Post '\(post.id)': Failed to delete file in content folder")
|
||||
return
|
||||
}
|
||||
content.remove(post)
|
||||
selection.remove(post)
|
||||
}
|
||||
}
|
||||
|
||||
extension PostDetailView: MainContentView {
|
||||
|
Reference in New Issue
Block a user