mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-02 02:29:59 +00:00
3526baf465
* feat: Add multiple image upload * refactor: Slight cleanup * feat: Add progress bar for multi-image upload * fix: Fix progress bar * fix: Messed up fix last time * refactor: Use await where possible * Add query params to search page * Update translation logic * Did suggested PR changes * Updating translations * Fix i18 issue * Make prettier actually check src in hopes it will fix CI issue * Make home page use query params in URL * Remove unnecessary part of private message url * Make communities page use query params * Make community page use query params * Make user profile use query params * Make modlog use query params * Replace choices.js searchable select entirely * Make 404 screen show up when expected * Refactor query params code * Remove unnecessary boolean literal * Fix query param bug * Address bug with searchable select and initial fetch * Only import what is needed from bootstrap * Undo change to comment nodes component * Convert closure style functions to normal functions * Updated translations * Use translation for loading * Fix create post select community bug * Fix community query params bug
63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
import { Component } from "inferno";
|
|
import {
|
|
CommentNode as CommentNodeI,
|
|
CommunityModeratorView,
|
|
Language,
|
|
PersonViewSafe,
|
|
} from "lemmy-js-client";
|
|
import { CommentViewType } from "../../interfaces";
|
|
import { CommentNode } from "./comment-node";
|
|
|
|
interface CommentNodesProps {
|
|
nodes: CommentNodeI[];
|
|
moderators?: CommunityModeratorView[];
|
|
admins?: PersonViewSafe[];
|
|
maxCommentsShown?: number;
|
|
noBorder?: boolean;
|
|
noIndent?: boolean;
|
|
viewOnly?: boolean;
|
|
locked?: boolean;
|
|
markable?: boolean;
|
|
showContext?: boolean;
|
|
showCommunity?: boolean;
|
|
enableDownvotes?: boolean;
|
|
viewType: CommentViewType;
|
|
allLanguages: Language[];
|
|
siteLanguages: number[];
|
|
hideImages?: boolean;
|
|
}
|
|
|
|
export class CommentNodes extends Component<CommentNodesProps, any> {
|
|
constructor(props: CommentNodesProps, context: any) {
|
|
super(props, context);
|
|
}
|
|
|
|
render() {
|
|
let maxComments = this.props.maxCommentsShown ?? this.props.nodes.length;
|
|
|
|
return (
|
|
<div className="comments">
|
|
{this.props.nodes.slice(0, maxComments).map(node => (
|
|
<CommentNode
|
|
key={node.comment_view.comment.id}
|
|
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}
|
|
markable={this.props.markable}
|
|
showContext={this.props.showContext}
|
|
showCommunity={this.props.showCommunity}
|
|
enableDownvotes={this.props.enableDownvotes}
|
|
viewType={this.props.viewType}
|
|
allLanguages={this.props.allLanguages}
|
|
siteLanguages={this.props.siteLanguages}
|
|
hideImages={this.props.hideImages}
|
|
/>
|
|
))}
|
|
</div>
|
|
);
|
|
}
|
|
}
|