diff --git a/src/components/feed/CommentSheet.tsx b/src/components/feed/CommentSheet.tsx index 344c79c..7a28b2e 100644 --- a/src/components/feed/CommentSheet.tsx +++ b/src/components/feed/CommentSheet.tsx @@ -5,8 +5,9 @@ import { Trash2, Loader2 } from "lucide-react"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { toast } from "sonner"; import { useTRPC } from "@/trpc/client"; +import Link from "next/link"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; -import { Textarea } from "@/components/ui/textarea"; +import { MentionTextarea } from "@/components/ui/mention-textarea"; import { Button } from "@/components/ui/button"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Separator } from "@/components/ui/separator"; @@ -17,6 +18,7 @@ import { SheetTitle, } from "@/components/ui/sheet"; import { getAvatarUrl } from "@/lib/avatar-url"; +import { parseCaption } from "@/lib/parse-caption"; import { useTranslations } from "next-intl"; interface CommentSheetProps { @@ -144,7 +146,17 @@ export function CommentSheet({ postId, petId, open, onOpenChange }: CommentSheet {formatRelativeTime(comment.createdAt)} -

{comment.body}

+

+ {parseCaption(comment.body).map((seg, i) => + seg.type === "hashtag" ? ( + #{seg.tag} + ) : seg.type === "mention" ? ( + @{seg.name} + ) : ( + {seg.text} + ) + )} +

{isOwn && (