From 12497a1331cacf25367bbd5e4197f17213834307 Mon Sep 17 00:00:00 2001 From: okbel Date: Mon, 19 Feb 2018 12:07:57 -0300 Subject: [PATCH] Adding duration asHours and asDays --- .../src/components/AccountHistory.js | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/client/coral-admin/src/components/AccountHistory.js b/client/coral-admin/src/components/AccountHistory.js index 04df552be..73add8120 100644 --- a/client/coral-admin/src/components/AccountHistory.js +++ b/client/coral-admin/src/components/AccountHistory.js @@ -19,14 +19,30 @@ const buildUserHistory = (userState = {}) => { ); }; -const buildActionResponse = (typename, until, status) => { +/** readaebleDuration returns a readaeble duration of the suspension/ban in hours or days + * @param {} startDate + * @param {} endDate + */ +const readaebleDuration = (startDate, endDate) => { + const dur = moment.duration(moment(endDate).diff(moment(startDate))); + const durAsDays = dur.asDays().toFixed(0); + const durAsHours = dur.asHours().toFixed(0); + + return durAsHours > 23 + ? `${durAsDays} ${durAsDays > 1 ? 'days' : 'day'}` + : `${durAsHours} ${durAsHours > 1 ? 'hours' : 'hour'}`; +}; + +const buildActionResponse = (typename, created_at, 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'; + return until + ? `Suspended, ${readaebleDuration(created_at, until)}` + : 'Suspension removed'; default: return '-'; } @@ -77,7 +93,7 @@ class AccountHistory extends React.Component { 'talk-admin-account-history-row-status' )} > - {buildActionResponse(__typename, until, status)} + {buildActionResponse(__typename, created_at, until, status)}