summaryrefslogtreecommitdiff
path: root/front/src/components/composer/Snippets.tsx
blob: 30498d08356cbb7056c89d6d1db50efe4e6f4a39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import Quote from "@/components/post/Quote";
import type { ComposerData, SPID } from "@/types/ui";
import { NostrSnippet } from "../post/wrappers/Nostr";

export default Snippets;
function Snippets({ post }: { post: SPID }) {
  return (
    <ComposerSnippet>
      <PostSnippet post={post} />
    </ComposerSnippet>
  );
}

export function ComposerSnippet({
  onClick,
  children,
}: {
  onClick?: any;
  children: any;
}) {
  function onc(e: React.MouseEvent) {
    e.stopPropagation();
    onClick();
  }
  return (
    <div className="composer-snippet">
      <div className="pop-snippet-icon cp" role="link" onClick={onc}></div>
      {children}
    </div>
  );
}
function PostSnippet({ post }: { post: SPID }) {
  if ("trill" in post) return <Quote data={post.trill} nest={0} />;
  else if ("nostr" in post) return <NostrSnippet {...post.nostr} />;
  // else if ("twatter" in post)
  //   return (
  //     <div id={`composer-${type}`}>
  //       <Tweet tweet={post.post} quote={true} />
  //     </div>
  //   );
  // else if ("rumors" in post)
  //   return (
  //     <div id={`composer-${type}`}>
  //       <div className="rumor-quote f1">
  //         <img src={rumorIcon} alt="" />
  //         <Body poast={post.post} refetch={() => {}} />
  //         <span>{date_diff(post.post.time, "short")}</span>
  //       </div>
  //     </div>
  //   );
  else return <></>;
}

export function ReplySnippet({ post }: { post: SPID }) {
  if ("trill" in post)
    return (
      <div id="reply">
        <Quote data={post.trill} nest={0} />
      </div>
    );
  else return <div />;
}