import type { Component } from 'solid-js'; import type { ReactiveComment } from '../controllers/commentListState'; import { deleteComment } from '@waline/api'; import { createMemo, Show } from 'solid-js'; import commentBoxState, { clearReplyState } from '../controllers/commentBoxState'; import { deleteComment as deleteCommentFront } from '../controllers/commentListState'; import configProvider from '../controllers/configProvider'; import likeState, { handleLike } from '../controllers/likeState'; import userInfoState from '../controllers/userInfoState'; import { DeleteIcon, EditIcon, LikeIcon, ReplyIcon } from './Icons'; const CommentCardActions: Component<{ comment: ReactiveComment; rootId: number }> = (props) => { const { locale, config } = configProvider; const { replyId, setReplyId, setReplyUser, setRootId, setContent, setEdit, edit } = commentBoxState; const { likes } = likeState; const liked = createMemo(() => likes()?.includes(props.comment.objectId) || false); const isReplyingCurrent = createMemo(() => replyId() === props.comment.objectId); const { userInfo, isAdmin } = userInfoState; const isOwner = createMemo(() => Boolean(props.comment.user_id && userInfo()?.objectId === props.comment.user_id), ); const editingThis = createMemo(() => edit()?.objectId === props.comment.objectId); return (
); }; export default CommentCardActions;