Browse Source

Add Creator flair for post creator / OPs comments

- Fixes #275
pull/1/head
Dessalines 3 years ago
parent
commit
af98d2e8bb
  1. 9
      src/components/comment-node.tsx
  2. 2
      src/components/comment-nodes.tsx
  3. 2
      src/components/post.tsx
  4. 1
      src/translations/en.ts

9
src/components/comment-node.tsx

@ -33,6 +33,7 @@ interface CommentNodeProps {
markable?: boolean;
moderators: Array<CommunityUser>;
admins: Array<UserView>;
postCreatorId?: number;
}
export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
@ -87,6 +88,9 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
{this.isAdmin &&
<li className="list-inline-item badge badge-light"><T i18nKey="admin">#</T></li>
}
{this.isPostCreator &&
<li className="list-inline-item badge badge-light"><T i18nKey="creator">#</T></li>
}
{(node.comment.banned_from_community || node.comment.banned) &&
<li className="list-inline-item badge badge-danger"><T i18nKey="banned">#</T></li>
}
@ -255,6 +259,7 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
locked={this.props.locked}
moderators={this.props.moderators}
admins={this.props.admins}
postCreatorId={this.props.postCreatorId}
/>
}
{/* A collapsed clearfix */}
@ -275,6 +280,10 @@ export class CommentNode extends Component<CommentNodeProps, CommentNodeState> {
return this.props.admins && isMod(this.props.admins.map(a => a.id), this.props.node.comment.creator_id);
}
get isPostCreator(): boolean {
return this.props.node.comment.creator_id == this.props.postCreatorId;
}
get canMod(): boolean {
if (this.props.admins && this.props.moderators) {

2
src/components/comment-nodes.tsx

@ -9,6 +9,7 @@ interface CommentNodesProps {
nodes: Array<CommentNodeI>;
moderators?: Array<CommunityUser>;
admins?: Array<UserView>;
postCreatorId?: number;
noIndent?: boolean;
viewOnly?: boolean;
locked?: boolean;
@ -31,6 +32,7 @@ export class CommentNodes extends Component<CommentNodesProps, CommentNodesState
locked={this.props.locked}
moderators={this.props.moderators}
admins={this.props.admins}
postCreatorId={this.props.postCreatorId}
markable={this.props.markable}
/>
)}

2
src/components/post.tsx

@ -183,6 +183,7 @@ export class Post extends Component<any, PostState> {
locked={this.state.post.locked}
moderators={this.state.moderators}
admins={this.state.admins}
postCreatorId={this.state.post.creator_id}
/>
)}
</div>
@ -256,6 +257,7 @@ export class Post extends Component<any, PostState> {
locked={this.state.post.locked}
moderators={this.state.moderators}
admins={this.state.admins}
postCreatorId={this.state.post.creator_id}
/>
</div>
);

1
src/translations/en.ts

@ -64,6 +64,7 @@ export const en = {
save: 'save',
unsave: 'unsave',
create: 'create',
creator: 'creator',
username: 'Username',
email_or_username: 'Email or Username',
number_of_users:'{{count}} Users',

Loading…
Cancel
Save