From 0d6bef358ecfc9703ebd732e22eaf5ef867a9c08 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Mon, 22 Apr 2024 13:45:53 +0100 Subject: [PATCH] feat(ProposalPage): add share button to copy nostr address, nump or raw event id to clipboard. fulfills: http://gitworkshop.dev/repo/gitworkshop/issue/ 5a3341dd50779f8a7d79ee938c66498332d28a87096cf3a4e2f729e3c2423549 --- src/lib/components/CopyField.svelte | 47 ++++++++++++++++++ src/lib/components/events/EventWrapper.svelte | 49 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 src/lib/components/CopyField.svelte diff --git a/src/lib/components/CopyField.svelte b/src/lib/components/CopyField.svelte new file mode 100644 index 0000000..efb4f94 --- /dev/null +++ b/src/lib/components/CopyField.svelte @@ -0,0 +1,47 @@ + + + + +
{ + try { + await navigator.clipboard.writeText(content) + copied = true + setTimeout(() => { + copied = false + }, 2000) + } catch {} + }} +> + {label} + {#if copied} + (copied to clipboard){/if} +
+
+ {content} +
+ + {#each icons_misc.copy as d} + + {/each} + +
+
diff --git a/src/lib/components/events/EventWrapper.svelte b/src/lib/components/events/EventWrapper.svelte index 5281f31..cc79146 100644 --- a/src/lib/components/events/EventWrapper.svelte +++ b/src/lib/components/events/EventWrapper.svelte @@ -6,6 +6,7 @@ import ComposeReply from '$lib/wrappers/ComposeReply.svelte' import { logged_in_user } from '$lib/stores/users' import type { NDKEvent } from '@nostr-dev-kit/ndk' + import CopyField from '../CopyField.svelte' export let type: 'proposal' | 'issue' = 'proposal' export let author: User = { ...user_defaults } @@ -13,6 +14,7 @@ export let event: NDKEvent let show_compose = false let show_raw_json_modal = false + let show_share_modal = false let created_at_ago = '' $: created_at_ago = created_at ? dayjs(created_at * 1000).fromNow() : '' @@ -62,6 +64,53 @@ {/if} +
+ +
+ {#if show_share_modal} + + {/if} {/if} {#if !show_compose && $logged_in_user}