import { Component } from 'inferno'; import { CommentSortType, CommentNode as CommentNodeI } from '../interfaces'; import { CommunityModeratorView, UserViewSafe, SortType, } from 'lemmy-js-client'; import { commentSort, commentSortSortType } from '../utils'; import { CommentNode } from './comment-node'; interface CommentNodesState {} interface CommentNodesProps { nodes: CommentNodeI[]; moderators?: CommunityModeratorView[]; admins?: UserViewSafe[]; postCreatorId?: number; noBorder?: boolean; noIndent?: boolean; viewOnly?: boolean; locked?: boolean; markable?: boolean; showContext?: boolean; showCommunity?: boolean; sort?: CommentSortType; sortType?: SortType; enableDownvotes: boolean; } export class CommentNodes extends Component< CommentNodesProps, CommentNodesState > { constructor(props: any, context: any) { super(props, context); } render() { return (
{this.sorter().map(node => ( ))}
); } sorter(): CommentNodeI[] { if (this.props.sort !== undefined) { commentSort(this.props.nodes, this.props.sort); } else if (this.props.sortType !== undefined) { commentSortSortType(this.props.nodes, this.props.sortType); } return this.props.nodes; } }