import { FC } from 'react'; import { LocalizeText } from '../../../api'; import { Button, Column, Grid, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../common'; import { useHelp } from '../../../hooks'; export const SanctionSatusView: FC<{}> = props => { const { sanctionInfo = null, setSanctionInfo = null } = useHelp(); const sanctionLocalization = (param: string, sanctionName: string, length?: number) => { let localizationName = `help.sanction.${ param }`; switch(sanctionName) { case 'ALERT': localizationName = (localizationName + '.alert'); break; case 'MUTE': localizationName = (localizationName + '.mute'); break; case 'BAN_PERMANENT': localizationName = (localizationName + '.permban'); break; default: localizationName = (localizationName + '.ban'); if(length > 24) { localizationName = (localizationName + '.days'); return LocalizeText(localizationName, [ 'days' ], [ (length / 24).toString() ]); } } return LocalizeText(localizationName, [ 'hours' ], [ length.toString() ]); }; if(!sanctionInfo) return null; return ( setSanctionInfo(null) } />
{ (sanctionInfo.sanctionReason === 'cfh.reason.EMPTY') ?
{ LocalizeText('help.sanction.current.none') }
: <> { ((sanctionInfo.probationHoursLeft > 0) || (sanctionInfo.isSanctionActive)) &&
{ LocalizeText('help.sanction.probation.reminder') }
}
{ LocalizeText('help.sanction.last.sanction') } { sanctionLocalization('current', sanctionInfo.sanctionName, sanctionInfo.sanctionLengthHours) }
{ LocalizeText('generic.start.time') } { sanctionInfo.sanctionCreationTime }
{ LocalizeText('generic.reason') } { sanctionInfo.sanctionReason }
{ LocalizeText('help.sanction.probation.days.left') } { Math.trunc((sanctionInfo.probationHoursLeft / 24)) + 1 }
} { ((sanctionInfo.hasCustomMute) && (!(sanctionInfo.isSanctionActive))) &&
{ LocalizeText('help.sanction.custom.mute') }
} { (sanctionInfo.tradeLockExpiryTime && sanctionInfo.tradeLockExpiryTime.length > 0) &&
{ LocalizeText('trade.locked.until') } { sanctionInfo.tradeLockExpiryTime }
}
{ sanctionLocalization('next', sanctionInfo.nextSanctionName, sanctionInfo.nextSanctionLengthHours) }
); };