import { useEffect } from "react"; import { useMessageStore } from "../stores/message.ts"; interface PinnedMessagesProps { channelId: string; channelName: string; onClose: () => void; onJump?: (messageId: string) => void; } export function PinnedMessages({ channelId, channelName, onClose, onJump }: PinnedMessagesProps) { const pinnedMessages = useMessageStore((s) => s.pinnedMessagesByChannel[channelId] || []); const fetchPinnedMessages = useMessageStore((s) => s.fetchPinnedMessages); const unpinMessage = useMessageStore((s) => s.unpinMessage); useEffect(() => { fetchPinnedMessages(channelId); }, [channelId, fetchPinnedMessages]); useEffect(() => { const handler = (e: KeyboardEvent) => { if (e.key === "Escape") { onClose(); } }; window.addEventListener("keydown", handler); return () => window.removeEventListener("keydown", handler); }, [onClose]); return (