Move stop button to the left of the waveform

Fixes https://github.com/vector-im/element-web/issues/18416
pull/21833/head
Travis Ralston 2021-08-06 09:00:18 -06:00
parent 3153e11761
commit cab4f2e402
2 changed files with 7 additions and 6 deletions

View File

@ -20,7 +20,7 @@ limitations under the License.
height: 28px; height: 28px;
border: 2px solid $voice-record-stop-border-color; border: 2px solid $voice-record-stop-border-color;
border-radius: 32px; border-radius: 32px;
margin-right: 16px; // between us and the send button margin-right: 8px; // between us and the waveform component
position: relative; position: relative;
&::after { &::after {

View File

@ -215,7 +215,7 @@ export default class VoiceRecordComposerTile extends React.PureComponent<IProps,
} }
public render(): ReactNode { public render(): ReactNode {
let recordingInfo; let stopOrRecordBtn;
let deleteButton; let deleteButton;
if (!this.state.recordingPhase || this.state.recordingPhase === RecordingState.Started) { if (!this.state.recordingPhase || this.state.recordingPhase === RecordingState.Started) {
const classes = classNames({ const classes = classNames({
@ -229,7 +229,7 @@ export default class VoiceRecordComposerTile extends React.PureComponent<IProps,
tooltip = _t("Stop recording"); tooltip = _t("Stop recording");
} }
let stopOrRecordBtn = <AccessibleTooltipButton stopOrRecordBtn = <AccessibleTooltipButton
className={classes} className={classes}
onClick={this.onRecordStartEndClick} onClick={this.onRecordStartEndClick}
title={tooltip} title={tooltip}
@ -237,8 +237,6 @@ export default class VoiceRecordComposerTile extends React.PureComponent<IProps,
if (this.state.recorder && !this.state.recorder?.isRecording) { if (this.state.recorder && !this.state.recorder?.isRecording) {
stopOrRecordBtn = null; stopOrRecordBtn = null;
} }
recordingInfo = stopOrRecordBtn;
} }
if (this.state.recorder && this.state.recordingPhase !== RecordingState.Uploading) { if (this.state.recorder && this.state.recordingPhase !== RecordingState.Uploading) {
@ -266,11 +264,14 @@ export default class VoiceRecordComposerTile extends React.PureComponent<IProps,
</span>; </span>;
} }
// The record button (mic icon) is meant to be on the right edge, but we also want the
// stop button to be left of the waveform area. Luckily, none of the surrounding UI is
// rendered when we're not recording, so the record button ends up in the correct spot.
return (<> return (<>
{ uploadIndicator } { uploadIndicator }
{ deleteButton } { deleteButton }
{ stopOrRecordBtn }
{ this.renderWaveformArea() } { this.renderWaveformArea() }
{ recordingInfo }
</>); </>);
} }
} }