Skip to content

Commit

Permalink
fix(webchat): mic icon overlaid on button (#5626)
Browse files Browse the repository at this point in the history
  • Loading branch information
spg committed Nov 1, 2021
1 parent a04c5d4 commit b3955fe
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 43 deletions.
34 changes: 22 additions & 12 deletions modules/channel-web/assets/default-emulator.css
Original file line number Diff line number Diff line change
Expand Up @@ -702,7 +702,7 @@
.bpw-composer {
position: relative;
outline: none;
padding: var(--spacing-x-large) 50px var(--spacing-x-large) var(--spacing-large);
padding: var(--spacing-x-large) var(--spacing-large) var(--spacing-x-large) var(--spacing-large);
}

.bpw-send-button:disabled {
Expand All @@ -713,6 +713,14 @@
.bpw-composer-inner {
line-height: 0;
position: relative;

display: flex;
flex-direction: row;
justify-content: space-between;
}

.bpw-composer-textarea {
flex-grow: 2;
}

.bpw-composer textarea {
Expand Down Expand Up @@ -745,15 +753,16 @@
padding: 2px 5px 2px 0;
}

.bpw-send-buttons {
display: flex;
flex-direction: row;
align-items: center;
}

.bpw-send-button {
position: absolute;
right: -45px;
top: 50%;
transform: translate(0, -50%);
border: none;
border-radius: 5px;
background: #fff;
padding: 5px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
Expand All @@ -769,6 +778,12 @@
fill: var(--ocean);
}

.bpw-voice-recorder {
display: flex;
flex-direction: row;
align-items: center;
}

/** HEADER STUFF */

.bpw-header-container {
Expand Down Expand Up @@ -1196,22 +1211,17 @@
direction: rtl;
}
.bpw-rtl .bpw-composer {
padding: var(--spacing-x-large) var(--spacing-large) var(--spacing-x-large) 50px;
padding: var(--spacing-x-large) var(--spacing-large) var(--spacing-x-large) var(--spacing-large);
}

.bpw-rtl .bpw-composer textarea {
direction: rtl;
}

.bpw-rtl .bpw-send-button {
position: absolute;
left: -45px;
top: 50%;
transform: translate(0, -50%);
border: none;
border-radius: 5px;
background: #fff;
padding: 5px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
Expand Down
6 changes: 5 additions & 1 deletion modules/channel-web/assets/default.css
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,10 @@ body {
padding: 5px;
}

.bpw-composer-textarea {
flex-grow: 2;
}

.bpw-composer textarea {
font: inherit;
background-color: transparent;
Expand All @@ -660,7 +664,7 @@ body {

.bpw-send-buttons {
display: flex;
align-items: center;
flex-direction: row;
}

.bpw-send-button {
Expand Down
53 changes: 28 additions & 25 deletions modules/channel-web/src/views/lite/components/Composer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -96,32 +96,28 @@ class Composer extends React.Component<ComposerProps, { isRecording: boolean }>
return (
<div role="region" className={'bpw-composer'}>
<div className={'bpw-composer-inner'}>
<textarea
ref={this.textInput}
id="input-message"
onFocus={this.props.setFocus.bind(this, 'input')}
placeholder={placeholder}
onChange={this.handleMessageChanged}
value={this.props.message}
onKeyPress={this.handleKeyPress}
onKeyDown={this.handleKeyDown}
aria-label={this.props.intl.formatMessage({
id: 'composer.message',
defaultMessage: 'Message to send'
})}
disabled={this.props.composerLocked}
/>
<label htmlFor="input-message" style={{ display: 'none' }}>
{placeholder}
</label>
<div className={'bpw-composer-textarea'}>
<textarea
ref={this.textInput}
id="input-message"
onFocus={this.props.setFocus.bind(this, 'input')}
placeholder={placeholder}
onChange={this.handleMessageChanged}
value={this.props.message}
onKeyPress={this.handleKeyPress}
onKeyDown={this.handleKeyDown}
aria-label={this.props.intl.formatMessage({
id: 'composer.message',
defaultMessage: 'Message to send'
})}
disabled={this.props.composerLocked}
/>
<label htmlFor="input-message" style={{ display: 'none' }}>
{placeholder}
</label>
</div>

<div className={'bpw-send-buttons'}>
{this.props.enableVoiceComposer && (
<VoiceRecorder
onStart={this.onVoiceStart}
onDone={this.onVoiceEnd}
onNotAvailable={this.onVoiceNotAvailable}
/>
)}
<ToolTip
childId="btn-send"
content={
Expand Down Expand Up @@ -149,6 +145,13 @@ class Composer extends React.Component<ComposerProps, { isRecording: boolean }>
<FormattedMessage id={'composer.send'} />
</button>
</ToolTip>
{this.props.enableVoiceComposer && (
<VoiceRecorder
onStart={this.onVoiceStart}
onDone={this.onVoiceEnd}
onNotAvailable={this.onVoiceNotAvailable}
/>
)}
</div>
</div>
</div>
Expand Down
10 changes: 5 additions & 5 deletions modules/channel-web/src/views/lite/components/VoiceRecorder.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -120,16 +120,16 @@ const VoiceRecorder: FC<Props> = (props: Props) => {
}

return (
<Fragment>
<div className={'bpw-voice-recorder'}>
<button className={cx('bpw-send-button', props.className)} onClick={isRecording ? stopRecording : startRecording}>
<Microphone fill={isRecording ? '#f1f1f1' : 'black'} />
</button>
{isRecording && (
<button className={cx('bpw-send-button', props.className)} onClick={cancelRecording}>
<Cancel fill="#ff0000" />
</button>
)}
<button className={cx('bpw-send-button', props.className)} onClick={isRecording ? stopRecording : startRecording}>
<Microphone fill={isRecording ? '#f1f1f1' : 'black'} />
</button>
</Fragment>
</div>
)
}

Expand Down

0 comments on commit b3955fe

Please sign in to comment.