Hide copy and share actions for draft posts

This commit is contained in:
Otavio Cordeiro 2026-01-05 12:27:47 -03:00 committed by Otávio
parent 2de32c7160
commit 1a105917b2
2 changed files with 19 additions and 8 deletions

View file

@ -83,13 +83,20 @@ struct WeblogEntryView: View {
@ViewBuilder @ViewBuilder
private func makeContextualMenu() -> some View { private func makeContextualMenu() -> some View {
makeEditEntryMenuItem() makeEditEntryMenuItem()
if !viewModel.isDraft {
Divider() Divider()
makeCopyEntryURLMenuItem() makeCopyEntryURLMenuItem()
makeCopyMarkdownLinkMenuItem() makeCopyMarkdownLinkMenuItem()
}
if !viewModel.isDraft {
Divider() Divider()
makeOpenInBrowserMenuItem() makeOpenInBrowserMenuItem()
makeShareMenuItem() makeShareMenuItem()
makeShareOnStatuslogMenuItem() makeShareOnStatuslogMenuItem()
}
Divider() Divider()
makeDeleteEntryMenuItem() makeDeleteEntryMenuItem()
} }
@ -99,7 +106,7 @@ struct WeblogEntryView: View {
Button { Button {
openEditor() openEditor()
} label: { } label: {
Label("Edit Entry", systemImage: "link") Label("Edit Entry", systemImage: "pencil")
} }
} }

View file

@ -39,6 +39,10 @@ final class WeblogEntryViewModel: Identifiable {
status.lowercased() != "live" status.lowercased() != "live"
} }
var isDraft: Bool {
status.lowercased() == "draft"
}
private let repository: any WeblogRepositoryProtocol private let repository: any WeblogRepositoryProtocol
private let clipboardService: ClipboardServiceProtocol private let clipboardService: ClipboardServiceProtocol