2021-02-22 02:39:04 +00:00
|
|
|
import { Component } from "inferno";
|
2021-03-15 18:09:31 +00:00
|
|
|
import { CommunityModeratorView, PersonViewSafe } from "lemmy-js-client";
|
2021-07-17 20:42:55 +00:00
|
|
|
import { CommentNode as CommentNodeI } from "../../interfaces";
|
2021-02-22 02:39:04 +00:00
|
|
|
import { CommentNode } from "./comment-node";
|
2020-09-06 16:15:25 +00:00
|
|
|
|
|
|
|
interface CommentNodesProps {
|
|
|
|
nodes: CommentNodeI[];
|
2020-12-24 01:58:27 +00:00
|
|
|
moderators?: CommunityModeratorView[];
|
2021-03-15 18:09:31 +00:00
|
|
|
admins?: PersonViewSafe[];
|
2020-09-06 16:15:25 +00:00
|
|
|
postCreatorId?: number;
|
|
|
|
noBorder?: boolean;
|
|
|
|
noIndent?: boolean;
|
|
|
|
viewOnly?: boolean;
|
|
|
|
locked?: boolean;
|
|
|
|
markable?: boolean;
|
|
|
|
showContext?: boolean;
|
|
|
|
showCommunity?: boolean;
|
|
|
|
enableDownvotes: boolean;
|
|
|
|
}
|
|
|
|
|
2021-02-22 02:39:04 +00:00
|
|
|
export class CommentNodes extends Component<CommentNodesProps, any> {
|
2020-09-06 16:15:25 +00:00
|
|
|
constructor(props: any, context: any) {
|
|
|
|
super(props, context);
|
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<div className="comments">
|
2021-02-08 04:23:31 +00:00
|
|
|
{this.props.nodes.map(node => (
|
2020-09-06 16:15:25 +00:00
|
|
|
<CommentNode
|
2020-12-24 01:58:27 +00:00
|
|
|
key={node.comment_view.comment.id}
|
2020-09-06 16:15:25 +00:00
|
|
|
node={node}
|
|
|
|
noBorder={this.props.noBorder}
|
|
|
|
noIndent={this.props.noIndent}
|
|
|
|
viewOnly={this.props.viewOnly}
|
|
|
|
locked={this.props.locked}
|
|
|
|
moderators={this.props.moderators}
|
|
|
|
admins={this.props.admins}
|
|
|
|
postCreatorId={this.props.postCreatorId}
|
|
|
|
markable={this.props.markable}
|
|
|
|
showContext={this.props.showContext}
|
|
|
|
showCommunity={this.props.showCommunity}
|
|
|
|
enableDownvotes={this.props.enableDownvotes}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|