fedibird-fe/app/javascript/mastodon
Eugen Rochko 7db0f8dcb2 Implement hotkeys for web UI (#5164)
* Fix #2102 - Implement hotkeys

Hotkeys on status list:

- r to reply
- m to mention author
- f to favourite
- b to boost
- enter to open status
- p to open author's profile
- up or k to move up in the list
- down or j to move down in the list
- 1-9 to focus a status in one of the columns
- n to focus the compose textarea
- alt+n to start a brand new toot
- backspace to navigate back

* Add navigational hotkeys

The key g followed by:

- s: start
- h: home
- n: notifications
- l: local timeline
- t: federated timeline
- f: favourites
- u: own profile
- p: pinned toots
- b: blocked users
- m: muted users

* Add hotkey for focusing search, make escape un-focus compose/search

* Fix focusing notifications column, fix hotkeys in compose textarea
2017-10-06 01:07:59 +02:00
..
actions Implement hotkeys for web UI (#5164) 2017-10-06 01:07:59 +02:00
components Implement hotkeys for web UI (#5164) 2017-10-06 01:07:59 +02:00
containers Upgrade to React 16 (#5119) 2017-09-30 04:29:56 +02:00
features Implement hotkeys for web UI (#5164) 2017-10-06 01:07:59 +02:00
locales i18n: Update Polish translation (#5202) 2017-10-03 21:15:41 +02:00
middleware Remove unused variables (#3906) 2017-06-23 16:05:04 +02:00
reducers Implement hotkeys for web UI (#5164) 2017-10-06 01:07:59 +02:00
selectors refactor: Rewrite immutablejs import statements using destructuring (#4147) 2017-07-11 01:00:14 +02:00
service_worker Refactor Web::PushSubscription, remove welcome message (#4524) 2017-09-01 13:35:23 +02:00
store refactor: Make all reducers sync (#4125) 2017-07-09 12:16:08 +02:00
.gitkeep Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00
api.js Improve eslint rules (#3147) 2017-05-20 17:31:47 +02:00
base_polyfills.js Lazy load toots using IntersectionObserver (#3191) 2017-05-24 17:55:00 +02:00
emoji.js When processing custom emoji, ensure a non-animated version exists (#5230) 2017-10-05 23:41:47 +02:00
emoji_data_compressed.js Compress emoji_data_light.js (#5201) 2017-10-03 20:43:57 +02:00
emoji_data_light.js Compress emoji_data_light.js (#5201) 2017-10-03 20:43:57 +02:00
emoji_index_light.js Code-split emoji-mart picker and data (#5175) 2017-10-02 07:22:24 +02:00
emoji_map.json Fix emojify() by generating a mapping to existing Twemoji files (#5080) 2017-09-25 18:36:33 +02:00
emoji_utils.js Code-split emoji-mart picker and data (#5175) 2017-10-02 07:22:24 +02:00
emojione_light.js Fix emojify() by generating a mapping to existing Twemoji files (#5080) 2017-09-25 18:36:33 +02:00
extra_polyfills.js Add object-fit polyfill for Edge (#4182) 2017-07-14 01:59:34 +02:00
is_mobile.js Change mobile layout breakpoint from 1024px to 630px (#5063) 2017-09-24 01:25:07 +02:00
link_header.js Improve eslint rules (#3147) 2017-05-20 17:31:47 +02:00
load_polyfills.js Load extra polyfills when isIntersecting is undefined (#4469) 2017-07-31 19:40:20 +02:00
main.js Require any modules after loading polyfill in entry points (#4231) 2017-07-18 00:19:02 +02:00
performance.js Upgrade to React 16 (#5119) 2017-09-30 04:29:56 +02:00
ready.js Do not load unnecessary script files (#4193) 2017-07-14 11:08:56 +02:00
rtl.js Improve RTL detection (#3682) 2017-06-10 15:06:50 +02:00
scroll.js Scroll smoothly to the right (#4735) 2017-08-29 17:06:19 +02:00
stream.js Use ws protocol in streaming API base URL (#2606) 2017-05-04 15:55:13 +02:00
uuid.js Replace sprockets/browserify with Webpack (#2617) 2017-05-03 02:04:16 +02:00
web_push_subscription.js Remove eslint-disable comments (#4681) 2017-08-24 12:15:36 +02:00