import { MessageHideButton } from "@app/channel/components/messages/hideButton"; import { MessageMuteButton } from "@app/channel/components/messages/muteButton"; import { MessageReplyButton } from "@app/channel/components/messages/replyButton"; import { ChannelMessageUser } from "@app/channel/components/messages/user"; import { ChannelMessageUserMute } from "@app/channel/components/messages/userMute"; import { MentionNote } from "@shared/notes/mentions/note"; import { ImagePreview } from "@shared/notes/preview/image"; import { VideoPreview } from "@shared/notes/preview/video"; import { parser } from "@utils/parser"; import { useMemo, useState } from "react"; export function ChannelMessageItem({ data }: { data: any }) { const content = useMemo(() => parser(data), [data]); const [hide, setHide] = useState(data.hide); const toggleHide = () => { setHide((prev) => !prev); }; if (data.mute) return (
); return (
{hide ? ( <>

[hided message]

) : ( <>

{content.parsed}

{Array.isArray(content.images) && content.images.length ? ( ) : ( <> )} {Array.isArray(content.videos) && content.videos.length ? ( ) : ( <> )} {Array.isArray(content.notes) && content.notes.length ? ( content.notes.map((note: string) => ( )) ) : ( <> )} )}
); }