Add hotkey for toggling content warning composer field (#13987)
This commit is contained in:
		
					parent
					
						
							
								89f40b6c3e
							
						
					
				
			
			
				commit
				
					
						6b6a9d0ea3
					
				
			
		
					 2 changed files with 13 additions and 2 deletions
				
			
		|  | @ -88,6 +88,10 @@ class KeyboardShortcuts extends ImmutablePureComponent { | |||
|                 <td><kbd>alt</kbd>+<kbd>n</kbd></td> | ||||
|                 <td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td><kbd>alt</kbd>+<kbd>x</kbd></td> | ||||
|                 <td><FormattedMessage id='keyboard_shortcuts.spoilers' defaultMessage='to show/hide CW field' /></td> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td><kbd>backspace</kbd></td> | ||||
|                 <td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td> | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ import LoadingBarContainer from './containers/loading_bar_container'; | |||
| import ModalContainer from './containers/modal_container'; | ||||
| import { isMobile } from '../../is_mobile'; | ||||
| import { debounce } from 'lodash'; | ||||
| import { uploadCompose, resetCompose } from '../../actions/compose'; | ||||
| import { uploadCompose, resetCompose, changeComposeSpoilerness } from '../../actions/compose'; | ||||
| import { expandHomeTimeline } from '../../actions/timelines'; | ||||
| import { expandNotifications } from '../../actions/notifications'; | ||||
| import { fetchFilters } from '../../actions/filters'; | ||||
|  | @ -76,6 +76,7 @@ const keyMap = { | |||
|   new: 'n', | ||||
|   search: 's', | ||||
|   forceNew: 'option+n', | ||||
|   toggleComposeSpoilers: 'option+x', | ||||
|   focusColumn: ['1', '2', '3', '4', '5', '6', '7', '8', '9'], | ||||
|   reply: 'r', | ||||
|   favourite: 'f', | ||||
|  | @ -375,7 +376,7 @@ class UI extends React.PureComponent { | |||
| 
 | ||||
|   componentDidMount () { | ||||
|     this.hotkeys.__mousetrap__.stopCallback = (e, element) => { | ||||
|       return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName); | ||||
|       return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName) && !e.altKey; | ||||
|     }; | ||||
|   } | ||||
| 
 | ||||
|  | @ -420,6 +421,11 @@ class UI extends React.PureComponent { | |||
|     this.props.dispatch(resetCompose()); | ||||
|   } | ||||
| 
 | ||||
|   handleHotkeyToggleComposeSpoilers = e => { | ||||
|     e.preventDefault(); | ||||
|     this.props.dispatch(changeComposeSpoilerness()); | ||||
|   } | ||||
| 
 | ||||
|   handleHotkeyFocusColumn = e => { | ||||
|     const index  = (e.key * 1) + 1; // First child is drawer, skip that
 | ||||
|     const column = this.node.querySelector(`.column:nth-child(${index})`); | ||||
|  | @ -515,6 +521,7 @@ class UI extends React.PureComponent { | |||
|       new: this.handleHotkeyNew, | ||||
|       search: this.handleHotkeySearch, | ||||
|       forceNew: this.handleHotkeyForceNew, | ||||
|       toggleComposeSpoilers: this.handleHotkeyToggleComposeSpoilers, | ||||
|       focusColumn: this.handleHotkeyFocusColumn, | ||||
|       back: this.handleHotkeyBack, | ||||
|       goToHome: this.handleHotkeyGoToHome, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue