import React, { useState } from 'react';
import { Collapse } from 'reactstrap';
import { ICommentHasId, ICommentHasIdList } from '../../interfaces/comment';
import { useRendererConfig, useIsAllReplyShown } from '../../stores/context';
import Comment from './Comment';
type ReplaycommentsProps = {
deleteBtnClicked: (comment: ICommentHasId) => void,
isReadOnly: boolean,
replyList: ICommentHasIdList,
onComment: () => void,
}
export const ReplayComments = (props: ReplaycommentsProps): JSX.Element => {
const {
deleteBtnClicked, isReadOnly, replyList, onComment,
} = props;
const { data: rendererConfig } = useRendererConfig();
const { data: isAllReplyShown } = useIsAllReplyShown();
const [isOlderRepliesShown, setIsOlderRepliesShown] = useState(false);
const renderReply = (reply: ICommentHasId) => {
return (
{/* TODO: Update props */}
);
};
if (isAllReplyShown) {
return (
<>
{replyList.map((reply) => {
return renderReply(reply);
})}
>
);
}
const areThereHiddenReplies = (replyList.length > 2);
const toggleButtonIconName = isOlderRepliesShown ? 'icon-arrow-up' : 'icon-options-vertical';
const toggleButtonIcon = ;
const toggleButtonLabel = isOlderRepliesShown ? '' : 'more';
const shownReplies = replyList.slice(replyList.length - 2, replyList.length);
const hiddenReplies = replyList.slice(0, replyList.length - 2);
const hiddenElements = hiddenReplies.map((reply) => {
return renderReply(reply);
});
const shownElements = shownReplies.map((reply) => {
return renderReply(reply);
});
return (
<>
{areThereHiddenReplies && (
{hiddenElements}
)}
{shownElements}
>
);
};