From 0050ae74a44c88a9a2be3a1a864423b0da627639 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Fri, 20 Mar 2020 18:35:33 -0400 Subject: Switch to radios for user and inbox pages for clarity. Fixes #608 --- ui/src/components/inbox.tsx | 132 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 103 insertions(+), 29 deletions(-) (limited to 'ui/src/components/inbox.tsx') diff --git a/ui/src/components/inbox.tsx b/ui/src/components/inbox.tsx index fa6bd397..63004c26 100644 --- a/ui/src/components/inbox.tsx +++ b/ui/src/components/inbox.tsx @@ -39,7 +39,7 @@ enum UnreadOrAll { All, } -enum UnreadType { +enum MessageType { All, Replies, Mentions, @@ -50,7 +50,7 @@ type ReplyType = Comment | PrivateMessageI; interface InboxState { unreadOrAll: UnreadOrAll; - unreadType: UnreadType; + messageType: MessageType; replies: Array; mentions: Array; messages: Array; @@ -62,7 +62,7 @@ export class Inbox extends Component { private subscription: Subscription; private emptyState: InboxState = { unreadOrAll: UnreadOrAll.Unread, - unreadType: UnreadType.All, + messageType: MessageType.All, replies: [], mentions: [], messages: [], @@ -130,10 +130,10 @@ export class Inbox extends Component { )} {this.selects()} - {this.state.unreadType == UnreadType.All && this.all()} - {this.state.unreadType == UnreadType.Replies && this.replies()} - {this.state.unreadType == UnreadType.Mentions && this.mentions()} - {this.state.unreadType == UnreadType.Messages && this.messages()} + {this.state.messageType == MessageType.All && this.all()} + {this.state.messageType == MessageType.Replies && this.replies()} + {this.state.messageType == MessageType.Mentions && this.mentions()} + {this.state.messageType == MessageType.Messages && this.messages()} {this.paginator()} @@ -141,29 +141,103 @@ export class Inbox extends Component { ); } - selects() { + unreadOrAllRadios() { return ( -
- + {i18n.t('unread')} + + +
+ ); + } + + messageTypeRadios() { + return ( +
+ + + +
+ ); + } + + selects() { + return ( +
+ {this.unreadOrAllRadios()} + {this.messageTypeRadios()} { i.refetch(); } - handleUnreadTypeChange(i: Inbox, event: any) { - i.state.unreadType = Number(event.target.value); + handleMessageTypeChange(i: Inbox, event: any) { + i.state.messageType = Number(event.target.value); i.state.page = 1; i.setState(i.state); i.refetch(); -- cgit v1.2.3