Make click area of video/audio player buttons bigger in WebUI (#15049)
This commit is contained in:
		
							parent
							
								
									34c7c51d94
								
							
						
					
					
						commit
						988d029417
					
				
					 3 changed files with 23 additions and 29 deletions
				
			
		|  | @ -438,14 +438,14 @@ class Audio extends React.PureComponent { | ||||||
|         <div className='video-player__controls active'> |         <div className='video-player__controls active'> | ||||||
|           <div className='video-player__buttons-bar'> |           <div className='video-player__buttons-bar'> | ||||||
|             <div className='video-player__buttons left'> |             <div className='video-player__buttons left'> | ||||||
|               <button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} onClick={this.togglePlay}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button> |               <button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} className='player-button' onClick={this.togglePlay}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button> | ||||||
|               <button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button> |               <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={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: `${volume * 100}%`, backgroundColor: this._getAccentColor() }} /> | ||||||
| 
 | 
 | ||||||
|                 <span |                 <span | ||||||
|                   className={classNames('video-player__volume__handle')} |                   className='video-player__volume__handle' | ||||||
|                   tabIndex='0' |                   tabIndex='0' | ||||||
|                   style={{ left: `${volume * 100}%`, backgroundColor: this._getAccentColor() }} |                   style={{ left: `${volume * 100}%`, backgroundColor: this._getAccentColor() }} | ||||||
|                 /> |                 /> | ||||||
|  | @ -459,7 +459,9 @@ class Audio extends React.PureComponent { | ||||||
|             </div> |             </div> | ||||||
| 
 | 
 | ||||||
|             <div className='video-player__buttons right'> |             <div className='video-player__buttons right'> | ||||||
|               <button type='button' title={intl.formatMessage(messages.download)} aria-label={intl.formatMessage(messages.download)} onClick={this.handleDownload}><Icon id='download' fixedWidth /></button> |               <a title={intl.formatMessage(messages.download)} aria-label={intl.formatMessage(messages.download)} className='video-player__download__icon player-button' href={this.props.src} download> | ||||||
|  |                 <Icon id={'download'} fixedWidth /> | ||||||
|  |               </a> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  | @ -534,8 +534,8 @@ class Video extends React.PureComponent { | ||||||
| 
 | 
 | ||||||
|           <div className='video-player__buttons-bar'> |           <div className='video-player__buttons-bar'> | ||||||
|             <div className='video-player__buttons left'> |             <div className='video-player__buttons left'> | ||||||
|               <button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} onClick={this.togglePlay} autoFocus={detailed}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button> |               <button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} className='player-button' onClick={this.togglePlay} autoFocus={detailed}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button> | ||||||
|               <button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button> |               <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={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: `${volume * 100}%` }} /> | ||||||
|  | @ -559,10 +559,10 @@ class Video extends React.PureComponent { | ||||||
|             </div> |             </div> | ||||||
| 
 | 
 | ||||||
|             <div className='video-player__buttons right'> |             <div className='video-player__buttons right'> | ||||||
|               {(!onCloseVideo && !editable && !fullscreen && !this.props.alwaysVisible) && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>} |               {(!onCloseVideo && !editable && !fullscreen && !this.props.alwaysVisible) && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} className='player-button' onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>} | ||||||
|               {(!fullscreen && onOpenVideo) && <button type='button' title={intl.formatMessage(messages.expand)} aria-label={intl.formatMessage(messages.expand)} onClick={this.handleOpenVideo}><Icon id='expand' fixedWidth /></button>} |               {(!fullscreen && onOpenVideo) && <button type='button' title={intl.formatMessage(messages.expand)} aria-label={intl.formatMessage(messages.expand)} className='player-button' onClick={this.handleOpenVideo}><Icon id='expand' fixedWidth /></button>} | ||||||
|               {onCloseVideo && <button type='button' title={intl.formatMessage(messages.close)} aria-label={intl.formatMessage(messages.close)} onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>} |               {onCloseVideo && <button type='button' title={intl.formatMessage(messages.close)} aria-label={intl.formatMessage(messages.close)} className='player-button' onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>} | ||||||
|               <button type='button' title={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button> |               <button type='button' title={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} className='player-button' onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  | @ -5384,7 +5384,6 @@ a.status-card.compact:hover { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   .video-player__controls { |   .video-player__controls { | ||||||
|     padding: 0 15px; |  | ||||||
|     padding-top: 10px; |     padding-top: 10px; | ||||||
|     background: transparent; |     background: transparent; | ||||||
|   } |   } | ||||||
|  | @ -5503,7 +5502,8 @@ a.status-card.compact:hover { | ||||||
|   &__buttons-bar { |   &__buttons-bar { | ||||||
|     display: flex; |     display: flex; | ||||||
|     justify-content: space-between; |     justify-content: space-between; | ||||||
|     padding-bottom: 10px; |     padding-bottom: 8px; | ||||||
|  |     margin: 0 -5px; | ||||||
| 
 | 
 | ||||||
|     .video-player__download__icon { |     .video-player__download__icon { | ||||||
|       color: inherit; |       color: inherit; | ||||||
|  | @ -5520,22 +5520,13 @@ a.status-card.compact:hover { | ||||||
|     overflow: hidden; |     overflow: hidden; | ||||||
|     text-overflow: ellipsis; |     text-overflow: ellipsis; | ||||||
| 
 | 
 | ||||||
|     &.left { |     .player-button { | ||||||
|       button { |       display: inline-block; | ||||||
|         padding-left: 0; |       outline: 0; | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     &.right { |  | ||||||
|       button { |  | ||||||
|         padding-right: 0; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     button { |  | ||||||
|       flex: 0 0 auto; |       flex: 0 0 auto; | ||||||
|       background: transparent; |       background: transparent; | ||||||
|       padding: 2px 10px; |       padding: 5px; | ||||||
|       font-size: 16px; |       font-size: 16px; | ||||||
|       border: 0; |       border: 0; | ||||||
|       color: rgba($white, 0.75); |       color: rgba($white, 0.75); | ||||||
|  | @ -5553,6 +5544,7 @@ a.status-card.compact:hover { | ||||||
|     flex: 0 1 auto; |     flex: 0 1 auto; | ||||||
|     overflow: hidden; |     overflow: hidden; | ||||||
|     text-overflow: ellipsis; |     text-overflow: ellipsis; | ||||||
|  |     margin: 0 5px; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &__time-sep, |   &__time-sep, | ||||||
|  | @ -5672,7 +5664,7 @@ a.status-card.compact:hover { | ||||||
|       display: block; |       display: block; | ||||||
|       position: absolute; |       position: absolute; | ||||||
|       height: 4px; |       height: 4px; | ||||||
|       top: 10px; |       top: 14px; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     &__progress, |     &__progress, | ||||||
|  | @ -5681,7 +5673,7 @@ a.status-card.compact:hover { | ||||||
|       position: absolute; |       position: absolute; | ||||||
|       height: 4px; |       height: 4px; | ||||||
|       border-radius: 4px; |       border-radius: 4px; | ||||||
|       top: 10px; |       top: 14px; | ||||||
|       background: lighten($ui-highlight-color, 8%); |       background: lighten($ui-highlight-color, 8%); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -5696,7 +5688,7 @@ a.status-card.compact:hover { | ||||||
|       border-radius: 50%; |       border-radius: 50%; | ||||||
|       width: 12px; |       width: 12px; | ||||||
|       height: 12px; |       height: 12px; | ||||||
|       top: 6px; |       top: 10px; | ||||||
|       margin-left: -6px; |       margin-left: -6px; | ||||||
|       background: lighten($ui-highlight-color, 8%); |       background: lighten($ui-highlight-color, 8%); | ||||||
|       box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); |       box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); | ||||||
|  | @ -5720,7 +5712,7 @@ a.status-card.compact:hover { | ||||||
|   &.detailed, |   &.detailed, | ||||||
|   &.fullscreen { |   &.fullscreen { | ||||||
|     .video-player__buttons { |     .video-player__buttons { | ||||||
|       button { |       .player-button { | ||||||
|         padding-top: 10px; |         padding-top: 10px; | ||||||
|         padding-bottom: 10px; |         padding-bottom: 10px; | ||||||
|       } |       } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue