diff --git a/src/components/ActiveCallButton/index.js b/src/components/ActiveCallButton/index.js index 3b1dfa2e2a..30751aa80f 100644 --- a/src/components/ActiveCallButton/index.js +++ b/src/components/ActiveCallButton/index.js @@ -10,7 +10,8 @@ export default function ActiveCallButton(props) { const buttonClassName = classnames( styles.button, props.buttonClassName, - props.active ? styles.buttonActive : null + props.active ? styles.buttonActive : null, + props.disabled ? styles.buttonDisabled : null, ); return (
diff --git a/src/components/ActiveCallButton/styles.scss b/src/components/ActiveCallButton/styles.scss index e9a6b8cc52..8127572a98 100644 --- a/src/components/ActiveCallButton/styles.scss +++ b/src/components/ActiveCallButton/styles.scss @@ -16,12 +16,37 @@ margin-bottom: 2px; } -.buttonActive { - background: $primary-color; -} - .buttonTitle { @include secondary-font; font-size: 12px; padding: 5px 0; } + +.buttonActive { + circle { + fill: $primary-color; + stroke: $primary-color; + } + path { + fill: #ffffff; + } +} + +.buttonDisabled { + circle { + fill: $lightgray; + stroke: $gray; + } + path { + fill: $primary-color-highlight-solid; + } + g { + cursor: default; + + &:hover { + circle { + stroke: $gray; + } + } + } +} diff --git a/src/components/ActiveCallPad/i18n/en-US.js b/src/components/ActiveCallPad/i18n/en-US.js index 6d13fa2999..c48c0601c4 100644 --- a/src/components/ActiveCallPad/i18n/en-US.js +++ b/src/components/ActiveCallPad/i18n/en-US.js @@ -3,6 +3,7 @@ export default { mute: 'Mute', keypad: 'Keypad', hold: 'Hold', + onHold: 'On Hold', park: 'Park', stopRecord: 'Stop', record: 'Record', diff --git a/src/components/ActiveCallPad/index.js b/src/components/ActiveCallPad/index.js index 336f441e3e..9549ac7528 100644 --- a/src/components/ActiveCallPad/index.js +++ b/src/components/ActiveCallPad/index.js @@ -53,20 +53,25 @@ export default function ActiveCallPad(props) {
null} + onClick={props.isOnHold ? () => {} : () => {}} className={styles.callButton} title={i18n.getString('park', props.currentLocale)} icon={ParkIcon} + disabled={props.isOnHold} /> {} : onRecordClicked} title={ props.isOnRecord ? i18n.getString('stopRecord', props.currentLocale) : @@ -75,6 +80,7 @@ export default function ActiveCallPad(props) { active={props.isOnRecord} className={styles.callButton} icon={RecordIcon} + disabled={props.isOnHold} /> null} + onClick={props.isOnHold ? () => {} : () => {}} title={i18n.getString('flip', props.currentLocale)} icon={FlipIcon} className={styles.callButton} + disabled={props.isOnHold} />
diff --git a/src/components/CircleButton/styles.scss b/src/components/CircleButton/styles.scss index df0d98804a..5c34c2e863 100644 --- a/src/components/CircleButton/styles.scss +++ b/src/components/CircleButton/styles.scss @@ -37,7 +37,7 @@ cursor: pointer; &:hover { - .circle { + circle { stroke: $primary-color-highlight-solid; } .noBorder { diff --git a/src/components/WebphoneAlert/i18n/en-US.js b/src/components/WebphoneAlert/i18n/en-US.js index d00d185f9a..e8e9dba4cb 100644 --- a/src/components/WebphoneAlert/i18n/en-US.js +++ b/src/components/WebphoneAlert/i18n/en-US.js @@ -8,4 +8,5 @@ export default { [webphoneErrors.getSipProvisionError]: 'You have no permission to send message.', [webphoneErrors.toVoiceMailError]: 'Cannot send call to voicemail due to internal error', [webphoneErrors.muteError]: 'Call cannot be muted at the moment.', + [webphoneErrors.holdError]: 'Call cannot be hold at the moment.', }; diff --git a/src/components/WebphoneAlert/index.js b/src/components/WebphoneAlert/index.js index bf2de252f4..c50845e5e8 100644 --- a/src/components/WebphoneAlert/index.js +++ b/src/components/WebphoneAlert/index.js @@ -22,6 +22,7 @@ WebphoneAlert.handleMessage = ({ message }) => ( (message === webphoneErrors.webphoneCountOverLimit) || (message === webphoneErrors.notOutboundCallWithoutDL) || (message === webphoneErrors.toVoiceMailError) || - (message === webphoneErrors.muteError) + (message === webphoneErrors.muteError) || + (message === webphoneErrors.holdError) );