import { SmilePlusIcon } from "lucide-react"; import { useState } from "react"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; import { useInstance } from "@/contexts/InstanceContext"; import { cn } from "@/lib/utils"; import type { Memo } from "@/types/proto/api/v1/memo_service_pb"; import { useTranslate } from "@/utils/i18n"; import { useReactionActions } from "./hooks"; interface Props { memo: Memo; className?: string; onOpenChange?: (open: boolean) => void; } const ReactionSelector = (props: Props) => { const { memo, className, onOpenChange } = props; const t = useTranslate(); const [open, setOpen] = useState(false); const { memoRelatedSetting } = useInstance(); const handleOpenChange = (newOpen: boolean) => { setOpen(newOpen); onOpenChange?.(newOpen); }; const { hasReacted, handleReactionClick } = useReactionActions({ memo, onComplete: () => handleOpenChange(false), }); return ( } >
{memoRelatedSetting.reactions.map((reactionType) => ( ))}
); }; export default ReactionSelector;