diff options
author | Arnout Engelen <arnout@bzzt.net> | 2022-12-15 17:37:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-15 17:37:05 +0100 |
commit | 9f63c428e188a11f85741aac72a62ef2f7b5421b (patch) | |
tree | ca9a172939cb5da92853cafde1d1e7d0547b16c9 /app/javascript/mastodon/features/compose/index.js | |
parent | 3656a6b9cc353f7f08a2d8f00c1b3f2fd8e3fb21 (diff) |
Don't autofocus the compose form (#16517)
When opening a page such as /web/timelines/home in a desktop browser, the cursor was automatically placed in the textarea of the compose form. When using the keyboard for navigation (using a browser plugin like vimium or vim vixen, or just to hit 'space' to scroll down a page), you have remember to leave the field before using that. Since you only visit the page to write a new post some of the time, this PR attempts to have nothing focused initially (and require the user to click or e.g. use 'tab' to focus the textarea). Tested: * /web/timeslines/home no longer autofocuses the compose box * pressing the 'n' hotkey still focuses the compose box * clicking 'reply' for a post still focuses the compose box * replying to a CW'ed post still focuses the compose box * introducing the CW field still focuses the CW field * introducing the CW field for a reply still focuses the CW field * removing the CW field still focuses the compose box * /web/statuses/new still autofocuses the compose box fixes #15862
Diffstat (limited to 'app/javascript/mastodon/features/compose/index.js')
-rw-r--r-- | app/javascript/mastodon/features/compose/index.js | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/app/javascript/mastodon/features/compose/index.js b/app/javascript/mastodon/features/compose/index.js index f744fc611..aead7776a 100644 --- a/app/javascript/mastodon/features/compose/index.js +++ b/app/javascript/mastodon/features/compose/index.js @@ -18,6 +18,7 @@ import Icon from 'mastodon/components/icon'; import { logOut } from 'mastodon/utils/log_out'; import Column from 'mastodon/components/column'; import { Helmet } from 'react-helmet'; +import { isMobile } from '../../is_mobile'; const messages = defineMessages({ start: { id: 'getting_started.heading', defaultMessage: 'Getting started' }, @@ -115,7 +116,7 @@ class Compose extends React.PureComponent { <div className='drawer__inner' onFocus={this.onFocus}> <NavigationContainer onClose={this.onBlur} /> - <ComposeFormContainer /> + <ComposeFormContainer autoFocus={!isMobile(window.innerWidth)} /> <div className='drawer__inner__mastodon'> <img alt='' draggable='false' src={mascot || elephantUIPlane} /> |