diff options
author | Dessalines <tyhou13@gmx.com> | 2019-10-18 17:20:27 -0700 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2019-10-18 17:20:27 -0700 |
commit | 4e5561283392d2ab1545cabb4455a8ffc490f86b (patch) | |
tree | a4ee9cc096826dc32faf3675212c7f95f1b3ea5e /ui/src/components/inbox.tsx | |
parent | 82ea5ae9186e5a8e631c87a61077e16713eb87a4 (diff) |
Running prettier on code.
- #305 , #309
Diffstat (limited to 'ui/src/components/inbox.tsx')
-rw-r--r-- | ui/src/components/inbox.tsx | 172 |
1 files changed, 120 insertions, 52 deletions
diff --git a/ui/src/components/inbox.tsx b/ui/src/components/inbox.tsx index c9f46b36..9d548f8d 100644 --- a/ui/src/components/inbox.tsx +++ b/ui/src/components/inbox.tsx @@ -1,8 +1,15 @@ import { Component, linkEvent } from 'inferno'; import { Link } from 'inferno-router'; -import { Subscription } from "rxjs"; +import { Subscription } from 'rxjs'; import { retryWhen, delay, take } from 'rxjs/operators'; -import { UserOperation, Comment, SortType, GetRepliesForm, GetRepliesResponse, CommentResponse } from '../interfaces'; +import { + UserOperation, + Comment, + SortType, + GetRepliesForm, + GetRepliesResponse, + CommentResponse, +} from '../interfaces'; import { WebSocketService, UserService } from '../services'; import { msgOp } from '../utils'; import { CommentNodes } from './comment-nodes'; @@ -10,7 +17,8 @@ import { i18n } from '../i18next'; import { T } from 'inferno-i18next'; enum UnreadType { - Unread, All + Unread, + All, } interface InboxState { @@ -21,14 +29,13 @@ interface InboxState { } export class Inbox extends Component<any, InboxState> { - private subscription: Subscription; private emptyState: InboxState = { unreadType: UnreadType.Unread, replies: [], sort: SortType.New, page: 1, - } + }; constructor(props: any, context: any) { super(props, context); @@ -36,12 +43,19 @@ export class Inbox extends Component<any, InboxState> { this.state = this.emptyState; this.subscription = WebSocketService.Instance.subject - .pipe(retryWhen(errors => errors.pipe(delay(3000), take(10)))) - .subscribe( - (msg) => this.parseMessage(msg), - (err) => console.error(err), + .pipe( + retryWhen(errors => + errors.pipe( + delay(3000), + take(10) + ) + ) + ) + .subscribe( + msg => this.parseMessage(msg), + err => console.error(err), () => console.log('complete') - ); + ); this.refetch(); } @@ -51,7 +65,9 @@ export class Inbox extends Component<any, InboxState> { } componentDidMount() { - document.title = `/u/${UserService.Instance.user.username} ${i18n.t('inbox')} - ${WebSocketService.Instance.site.name}`; + document.title = `/u/${UserService.Instance.user.username} ${i18n.t( + 'inbox' + )} - ${WebSocketService.Instance.site.name}`; } render() { @@ -61,52 +77,86 @@ export class Inbox extends Component<any, InboxState> { <div class="row"> <div class="col-12"> <h5 class="mb-0"> - <span><T i18nKey="inbox_for" interpolation={{user: user.username}}>#<Link to={`/u/${user.username}`}>#</Link></T></span> + <span> + <T i18nKey="inbox_for" interpolation={{ user: user.username }}> + #<Link to={`/u/${user.username}`}>#</Link> + </T> + </span> </h5> - {this.state.replies.length > 0 && this.state.unreadType == UnreadType.Unread && - <ul class="list-inline mb-1 text-muted small font-weight-bold"> - <li className="list-inline-item"> - <span class="pointer" onClick={this.markAllAsRead}><T i18nKey="mark_all_as_read">#</T></span> - </li> - </ul> - } + {this.state.replies.length > 0 && + this.state.unreadType == UnreadType.Unread && ( + <ul class="list-inline mb-1 text-muted small font-weight-bold"> + <li className="list-inline-item"> + <span class="pointer" onClick={this.markAllAsRead}> + <T i18nKey="mark_all_as_read">#</T> + </span> + </li> + </ul> + )} {this.selects()} {this.replies()} {this.paginator()} </div> </div> </div> - ) + ); } selects() { return ( <div className="mb-2"> - <select value={this.state.unreadType} onChange={linkEvent(this, this.handleUnreadTypeChange)} class="custom-select custom-select-sm w-auto"> - <option disabled><T i18nKey="type">#</T></option> - <option value={UnreadType.Unread}><T i18nKey="unread">#</T></option> - <option value={UnreadType.All}><T i18nKey="all">#</T></option> + <select + value={this.state.unreadType} + onChange={linkEvent(this, this.handleUnreadTypeChange)} + class="custom-select custom-select-sm w-auto" + > + <option disabled> + <T i18nKey="type">#</T> + </option> + <option value={UnreadType.Unread}> + <T i18nKey="unread">#</T> + </option> + <option value={UnreadType.All}> + <T i18nKey="all">#</T> + </option> </select> - <select value={this.state.sort} onChange={linkEvent(this, this.handleSortChange)} class="custom-select custom-select-sm w-auto ml-2"> - <option disabled><T i18nKey="sort_type">#</T></option> - <option value={SortType.New}><T i18nKey="new">#</T></option> - <option value={SortType.TopDay}><T i18nKey="top_day">#</T></option> - <option value={SortType.TopWeek}><T i18nKey="week">#</T></option> - <option value={SortType.TopMonth}><T i18nKey="month">#</T></option> - <option value={SortType.TopYear}><T i18nKey="year">#</T></option> - <option value={SortType.TopAll}><T i18nKey="all">#</T></option> + <select + value={this.state.sort} + onChange={linkEvent(this, this.handleSortChange)} + class="custom-select custom-select-sm w-auto ml-2" + > + <option disabled> + <T i18nKey="sort_type">#</T> + </option> + <option value={SortType.New}> + <T i18nKey="new">#</T> + </option> + <option value={SortType.TopDay}> + <T i18nKey="top_day">#</T> + </option> + <option value={SortType.TopWeek}> + <T i18nKey="week">#</T> + </option> + <option value={SortType.TopMonth}> + <T i18nKey="month">#</T> + </option> + <option value={SortType.TopYear}> + <T i18nKey="year">#</T> + </option> + <option value={SortType.TopAll}> + <T i18nKey="all">#</T> + </option> </select> </div> - ) - + ); } replies() { return ( <div> - {this.state.replies.map(reply => - <CommentNodes nodes={[{comment: reply}]} noIndent markable /> - )} + {this.state.replies.map(reply => ( + <CommentNodes nodes={[{ comment: reply }]} noIndent markable /> + ))} </div> ); } @@ -114,21 +164,31 @@ export class Inbox extends Component<any, InboxState> { paginator() { return ( <div class="mt-2"> - {this.state.page > 1 && - <button class="btn btn-sm btn-secondary mr-1" onClick={linkEvent(this, this.prevPage)}><T i18nKey="prev">#</T></button> - } - <button class="btn btn-sm btn-secondary" onClick={linkEvent(this, this.nextPage)}><T i18nKey="next">#</T></button> + {this.state.page > 1 && ( + <button + class="btn btn-sm btn-secondary mr-1" + onClick={linkEvent(this, this.prevPage)} + > + <T i18nKey="prev">#</T> + </button> + )} + <button + class="btn btn-sm btn-secondary" + onClick={linkEvent(this, this.nextPage)} + > + <T i18nKey="next">#</T> + </button> </div> ); } - nextPage(i: Inbox) { + nextPage(i: Inbox) { i.state.page++; i.setState(i.state); i.refetch(); } - prevPage(i: Inbox) { + prevPage(i: Inbox) { i.state.page--; i.setState(i.state); i.refetch(); @@ -144,7 +204,7 @@ export class Inbox extends Component<any, InboxState> { refetch() { let form: GetRepliesForm = { sort: SortType[this.state.sort], - unread_only: (this.state.unreadType == UnreadType.Unread), + unread_only: this.state.unreadType == UnreadType.Unread, page: this.state.page, limit: 9999, }; @@ -168,11 +228,14 @@ export class Inbox extends Component<any, InboxState> { if (msg.error) { alert(i18n.t(msg.error)); return; - } else if (op == UserOperation.GetReplies || op == UserOperation.MarkAllAsRead) { + } else if ( + op == UserOperation.GetReplies || + op == UserOperation.MarkAllAsRead + ) { let res: GetRepliesResponse = msg; this.state.replies = res.replies; this.sendRepliesCount(); - window.scrollTo(0,0); + window.scrollTo(0, 0); this.setState(this.state); } else if (op == UserOperation.EditComment) { let res: CommentResponse = msg; @@ -188,7 +251,9 @@ export class Inbox extends Component<any, InboxState> { // If youre in the unread view, just remove it from the list if (this.state.unreadType == UnreadType.Unread && res.comment.read) { - this.state.replies = this.state.replies.filter(r => r.id !== res.comment.id); + this.state.replies = this.state.replies.filter( + r => r.id !== res.comment.id + ); } else { let found = this.state.replies.find(c => c.id == res.comment.id); found.read = res.comment.read; @@ -208,18 +273,21 @@ export class Inbox extends Component<any, InboxState> { this.setState(this.state); } else if (op == UserOperation.CreateCommentLike) { let res: CommentResponse = msg; - let found: Comment = this.state.replies.find(c => c.id === res.comment.id); + let found: Comment = this.state.replies.find( + c => c.id === res.comment.id + ); found.score = res.comment.score; found.upvotes = res.comment.upvotes; found.downvotes = res.comment.downvotes; - if (res.comment.my_vote !== null) - found.my_vote = res.comment.my_vote; + if (res.comment.my_vote !== null) found.my_vote = res.comment.my_vote; this.setState(this.state); } } sendRepliesCount() { - UserService.Instance.sub.next({user: UserService.Instance.user, unreadCount: this.state.replies.filter(r => !r.read).length}); + UserService.Instance.sub.next({ + user: UserService.Instance.user, + unreadCount: this.state.replies.filter(r => !r.read).length, + }); } } - |