diff --git a/client/coral-admin/src/components/AccountHistory.js b/client/coral-admin/src/components/AccountHistory.js index fd1b034d2..ec3bbca2f 100644 --- a/client/coral-admin/src/components/AccountHistory.js +++ b/client/coral-admin/src/components/AccountHistory.js @@ -13,20 +13,30 @@ const buildUserHistory = (userState = {}) => { .map((k) => userState.status[k].history)), 'created_at', 'desc'); }; -const buildActionResponse = (typename, status) => { - const actionResponses = { - 'UsernameStatusHistory' : `Username Status: ${status}`, - 'BannedStatusHistory': status ? 'User banned' : 'Ban removed', - 'SuspensionStatusHistory': status ? 'Account Suspended' : 'Suspension removed' - }; +const buildActionResponse = (typename, until, status) => { + switch (typename) { + case 'UsernameStatusHistory': + return `Username ${status}`; + case 'BannedStatusHistory': + return status ? 'User banned' : 'Ban removed'; + case 'SuspensionStatusHistory': + return until ? 'Account Suspended' : 'Suspension removed' ; + default: + return '-'; + } +}; - return actionResponses[typename]; +const getModerationValue = (userId, assignedBy = {}) => { + if (assignedBy && userId !== assignedBy.id) { + return assignedBy.username; + } + return 'SYSTEM'; }; class AccountHistory extends React.Component { render() { - const {userState} = this.props; - const userHistory = buildUserHistory(userState); + const {user} = this.props; + const userHistory = buildUserHistory(user.state); return (
@@ -36,16 +46,16 @@ class AccountHistory extends React.Component {
Moderation
{ - userHistory.map((h) => ( -
+ userHistory.map(({__typename, created_at, assigned_by, until, status}) => ( +
- {moment(new Date(h.created_at)).format('MMM DD, YYYY')} + {moment(new Date(created_at)).format('MMM DD, YYYY')}
- {buildActionResponse(h.__typename, h.status)} + {buildActionResponse(__typename, until, status)}
- {h.assigned_by ? h.assigned_by.username : 'SYSTEM'} + {getModerationValue(user.id, assigned_by)}
)) @@ -57,8 +67,7 @@ class AccountHistory extends React.Component { } AccountHistory.propTypes = { - history: PropTypes.array, - userState: PropTypes.object, + user: PropTypes.object.isRequired, }; export default AccountHistory; diff --git a/client/coral-admin/src/components/UserDetail.js b/client/coral-admin/src/components/UserDetail.js index 4b3d4e9bc..309946823 100644 --- a/client/coral-admin/src/components/UserDetail.js +++ b/client/coral-admin/src/components/UserDetail.js @@ -272,9 +272,7 @@ class UserDetail extends React.Component { /> - + diff --git a/client/coral-admin/src/containers/UserDetail.js b/client/coral-admin/src/containers/UserDetail.js index a23ad4c0e..b5173cdc7 100644 --- a/client/coral-admin/src/containers/UserDetail.js +++ b/client/coral-admin/src/containers/UserDetail.js @@ -171,6 +171,7 @@ export const withUserDetailQuery = withQuery(gql` until created_at assigned_by { + id username } } @@ -180,6 +181,7 @@ export const withUserDetailQuery = withQuery(gql` history { status assigned_by { + id username } created_at @@ -190,6 +192,7 @@ export const withUserDetailQuery = withQuery(gql` history { status assigned_by { + id username } created_at