make "Copy Note JSON" a developer mode setting

Signed-off-by: Bryan Montz <bryanmontz@me.com>
This commit is contained in:
Bryan Montz
2023-07-07 07:07:01 -05:00
committed by William Casarin
parent ebcfe3c25f
commit d2efe06610
4 changed files with 14 additions and 9 deletions

View File

@@ -23,7 +23,7 @@ struct DMChatView: View, KeyboardReadable {
LazyVStack(alignment: .leading) { LazyVStack(alignment: .leading) {
ForEach(Array(zip(dms.events, dms.events.indices)), id: \.0.id) { (ev, ind) in ForEach(Array(zip(dms.events, dms.events.indices)), id: \.0.id) { (ev, ind) in
DMView(event: dms.events[ind], damus_state: damus_state) DMView(event: dms.events[ind], damus_state: damus_state)
.contextMenu{MenuItems(event: ev, keypair: damus_state.keypair, target_pubkey: ev.pubkey, bookmarks: damus_state.bookmarks, muted_threads: damus_state.muted_threads)} .contextMenu{MenuItems(event: ev, keypair: damus_state.keypair, target_pubkey: ev.pubkey, bookmarks: damus_state.bookmarks, muted_threads: damus_state.muted_threads, settings: damus_state.settings)}
} }
EndBlock(height: 1) EndBlock(height: 1)
} }

View File

@@ -13,12 +13,13 @@ struct EventMenuContext: View {
let target_pubkey: String let target_pubkey: String
let bookmarks: BookmarksManager let bookmarks: BookmarksManager
let muted_threads: MutedThreadsManager let muted_threads: MutedThreadsManager
@ObservedObject var settings: UserSettingsStore
var body: some View { var body: some View {
HStack { HStack {
Menu { Menu {
MenuItems(event: event, keypair: keypair, target_pubkey: target_pubkey, bookmarks: bookmarks, muted_threads: muted_threads) MenuItems(event: event, keypair: keypair, target_pubkey: target_pubkey, bookmarks: bookmarks, muted_threads: muted_threads, settings: settings)
} label: { } label: {
Label("", systemImage: "ellipsis") Label("", systemImage: "ellipsis")
@@ -36,11 +37,12 @@ struct MenuItems: View {
let target_pubkey: String let target_pubkey: String
let bookmarks: BookmarksManager let bookmarks: BookmarksManager
let muted_threads: MutedThreadsManager let muted_threads: MutedThreadsManager
@ObservedObject var settings: UserSettingsStore
@State private var isBookmarked: Bool = false @State private var isBookmarked: Bool = false
@State private var isMutedThread: Bool = false @State private var isMutedThread: Bool = false
init(event: NostrEvent, keypair: Keypair, target_pubkey: String, bookmarks: BookmarksManager, muted_threads: MutedThreadsManager) { init(event: NostrEvent, keypair: Keypair, target_pubkey: String, bookmarks: BookmarksManager, muted_threads: MutedThreadsManager, settings: UserSettingsStore) {
let bookmarked = bookmarks.isBookmarked(event) let bookmarked = bookmarks.isBookmarked(event)
self._isBookmarked = State(initialValue: bookmarked) self._isBookmarked = State(initialValue: bookmarked)
@@ -52,6 +54,7 @@ struct MenuItems: View {
self.event = event self.event = event
self.keypair = keypair self.keypair = keypair
self.target_pubkey = target_pubkey self.target_pubkey = target_pubkey
self.settings = settings
} }
var body: some View { var body: some View {
@@ -75,10 +78,12 @@ struct MenuItems: View {
Label(NSLocalizedString("Copy note ID", comment: "Context menu option for copying the ID of the note."), image: "note-book") Label(NSLocalizedString("Copy note ID", comment: "Context menu option for copying the ID of the note."), image: "note-book")
} }
Button { if settings.developer_mode {
UIPasteboard.general.string = event_to_json(ev: event) Button {
} label: { UIPasteboard.general.string = event_to_json(ev: event)
Label(NSLocalizedString("Copy note JSON", comment: "Context menu option for copying the JSON text from the note."), image: "code.on.square") } label: {
Label(NSLocalizedString("Copy note JSON", comment: "Context menu option for copying the JSON text from the note."), image: "code.on.square")
}
} }
Button { Button {

View File

@@ -35,7 +35,7 @@ struct SelectedEventView: View {
Spacer() Spacer()
EventMenuContext(event: event, keypair: damus.keypair, target_pubkey: event.pubkey, bookmarks: damus.bookmarks, muted_threads: damus.muted_threads) EventMenuContext(event: event, keypair: damus.keypair, target_pubkey: event.pubkey, bookmarks: damus.bookmarks, muted_threads: damus.muted_threads, settings: damus.settings)
.padding([.bottom], 4) .padding([.bottom], 4)
} }

View File

@@ -126,7 +126,7 @@ struct TextEvent: View {
} }
var ContextButton: some View { var ContextButton: some View {
EventMenuContext(event: event, keypair: damus.keypair, target_pubkey: event.pubkey, bookmarks: damus.bookmarks, muted_threads: damus.muted_threads) EventMenuContext(event: event, keypair: damus.keypair, target_pubkey: event.pubkey, bookmarks: damus.bookmarks, muted_threads: damus.muted_threads, settings: damus.settings)
.padding([.bottom], 4) .padding([.bottom], 4)
} }