summaryrefslogtreecommitdiff
path: root/front/src/components/post/wrappers
diff options
context:
space:
mode:
Diffstat (limited to 'front/src/components/post/wrappers')
-rw-r--r--front/src/components/post/wrappers/Nostr.tsx15
-rw-r--r--front/src/components/post/wrappers/NostrIcon.tsx22
2 files changed, 37 insertions, 0 deletions
diff --git a/front/src/components/post/wrappers/Nostr.tsx b/front/src/components/post/wrappers/Nostr.tsx
new file mode 100644
index 0000000..bdc5ba9
--- /dev/null
+++ b/front/src/components/post/wrappers/Nostr.tsx
@@ -0,0 +1,15 @@
+import type { NostrMetadata, NostrPost } from "@/types/nostrill";
+import Post from "../Post";
+import useLocalState from "@/state/state";
+
+export default NostrPost;
+function NostrPost({ data }: { data: NostrPost }) {
+ const { profiles } = useLocalState();
+ const profile = profiles.get(data.event.pubkey);
+
+ return <Post poast={data.post} profile={profile} />;
+}
+
+export function NostrSnippet({ eventId, pubkey, relay }: NostrMetadata) {
+ return <div>wtf</div>;
+}
diff --git a/front/src/components/post/wrappers/NostrIcon.tsx b/front/src/components/post/wrappers/NostrIcon.tsx
new file mode 100644
index 0000000..0c368fb
--- /dev/null
+++ b/front/src/components/post/wrappers/NostrIcon.tsx
@@ -0,0 +1,22 @@
+import nostrIcon from "@/assets/icons/nostr.svg";
+import useLocalState from "@/state/state";
+import toast from "react-hot-toast";
+import type { Poast } from "@/types/trill";
+export default function ({ poast }: { poast: Poast }) {
+ const { relays, api, keys } = useLocalState();
+
+ async function sendToRelay(e: React.MouseEvent) {
+ e.stopPropagation();
+ //
+ const urls = Object.keys(relays);
+ await api!.relayPost(poast.host, poast.id, urls);
+ toast.success("Post relayed");
+ }
+ // TODO round up all helpers
+
+ return (
+ <div className="icon" role="link" onMouseUp={sendToRelay}>
+ <img role="link" src={nostrIcon} title="repost" />
+ </div>
+ );
+}