From 7bac4927e8895719a91011da9a2b997579238145 Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 18 Sep 2025 08:26:30 +0700 Subject: damn my trill codebase was really something --- front/src/components/composer/Snippets.tsx | 82 +++++++++++++++++++----------- 1 file changed, 53 insertions(+), 29 deletions(-) (limited to 'front/src/components/composer/Snippets.tsx') diff --git a/front/src/components/composer/Snippets.tsx b/front/src/components/composer/Snippets.tsx index 30498d0..49d9b88 100644 --- a/front/src/components/composer/Snippets.tsx +++ b/front/src/components/composer/Snippets.tsx @@ -1,5 +1,5 @@ import Quote from "@/components/post/Quote"; -import type { ComposerData, SPID } from "@/types/ui"; +import type { SPID } from "@/types/ui"; import { NostrSnippet } from "../post/wrappers/Nostr"; export default Snippets; @@ -20,43 +20,67 @@ export function ComposerSnippet({ }) { function onc(e: React.MouseEvent) { e.stopPropagation(); - onClick(); + if (onClick) onClick(); } return (
-
+ {onClick && ( +
+ × +
+ )} {children}
); } function PostSnippet({ post }: { post: SPID }) { - if ("trill" in post) return ; - else if ("nostr" in post) return ; - // else if ("twatter" in post) - // return ( - //
- // - //
- // ); - // else if ("rumors" in post) - // return ( - //
- //
- // - // {}} /> - // {date_diff(post.post.time, "short")} - //
- //
- // ); - else return <>; + if (!post) return
No post data
; + + try { + if ("trill" in post) return ; + else if ("nostr" in post) return ; + // else if ("twatter" in post) + // return ( + //
+ // + //
+ // ); + // else if ("rumors" in post) + // return ( + //
+ //
+ // + // {}} /> + // {date_diff(post.post.time, "short")} + //
+ //
+ // ); + else return
Unsupported post type
; + } catch (error) { + console.error("Error rendering post snippet:", error); + return
Failed to load post
; + } } export function ReplySnippet({ post }: { post: SPID }) { - if ("trill" in post) - return ( -
- -
- ); - else return
; + if (!post) return
No post to reply to
; + + try { + if ("trill" in post) + return ( +
+ +
+ ); + else if ("nostr" in post) + return ( +
+ +
+ ); + else return
Cannot reply to this post type
; + } catch (error) { + console.error("Error rendering reply snippet:", error); + return
Failed to load reply context
; + } } -- cgit v1.2.3