Fix mute button and volume slider feeling disconnected in web UI (#26827)
This commit is contained in:
		
							parent
							
								
									1f141f656d
								
							
						
					
					
						commit
						f3a2e15f8e
					
				| @ -466,8 +466,9 @@ class Audio extends PureComponent { | ||||
| 
 | ||||
|   render () { | ||||
|     const { src, intl, alt, lang, editable, autoPlay, sensitive, blurhash } = this.props; | ||||
|     const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state; | ||||
|     const { paused, volume, currentTime, duration, buffer, dragging, revealed } = this.state; | ||||
|     const progress = Math.min((currentTime / duration) * 100, 100); | ||||
|     const muted = this.state.muted || volume === 0; | ||||
| 
 | ||||
|     let warning; | ||||
| 
 | ||||
| @ -557,12 +558,12 @@ class Audio extends PureComponent { | ||||
|               <button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} className='player-button' onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button> | ||||
| 
 | ||||
|               <div className={classNames('video-player__volume', { active: this.state.hovered })} ref={this.setVolumeRef} onMouseDown={this.handleVolumeMouseDown}> | ||||
|                 <div className='video-player__volume__current' style={{ width: `${volume * 100}%`, backgroundColor: this._getAccentColor() }} /> | ||||
|                 <div className='video-player__volume__current' style={{ width: `${muted ? 0 : volume * 100}%`, backgroundColor: this._getAccentColor() }} /> | ||||
| 
 | ||||
|                 <span | ||||
|                   className='video-player__volume__handle' | ||||
|                   tabIndex={0} | ||||
|                   style={{ left: `${volume * 100}%`, backgroundColor: this._getAccentColor() }} | ||||
|                   style={{ left: `${muted ? 0 : volume * 100}%`, backgroundColor: this._getAccentColor() }} | ||||
|                 /> | ||||
|               </div> | ||||
| 
 | ||||
|  | ||||
| @ -501,8 +501,9 @@ class Video extends PureComponent { | ||||
| 
 | ||||
|   render () { | ||||
|     const { preview, src, aspectRatio, onOpenVideo, onCloseVideo, intl, alt, lang, detailed, sensitive, editable, blurhash, autoFocus } = this.props; | ||||
|     const { currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state; | ||||
|     const { currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, revealed } = this.state; | ||||
|     const progress = Math.min((currentTime / duration) * 100, 100); | ||||
|     const muted = this.state.muted || volume === 0; | ||||
| 
 | ||||
|     let preload; | ||||
| 
 | ||||
| @ -593,12 +594,12 @@ class Video extends PureComponent { | ||||
|                 <button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} className='player-button' onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button> | ||||
| 
 | ||||
|                 <div className={classNames('video-player__volume', { active: this.state.hovered })} onMouseDown={this.handleVolumeMouseDown} ref={this.setVolumeRef}> | ||||
|                   <div className='video-player__volume__current' style={{ width: `${volume * 100}%` }} /> | ||||
|                   <div className='video-player__volume__current' style={{ width: `${muted ? 0 : volume * 100}%` }} /> | ||||
| 
 | ||||
|                   <span | ||||
|                     className={classNames('video-player__volume__handle')} | ||||
|                     tabIndex={0} | ||||
|                     style={{ left: `${volume * 100}%` }} | ||||
|                     style={{ left: `${muted ? 0 : volume * 100}%` }} | ||||
|                   /> | ||||
|                 </div> | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user