···11import { memo } from 'preact/compat';
22import { useEffect, useRef, useState } from 'preact/hooks';
33+import { useHotkeys } from 'react-hotkeys-hook';
3445import { api } from '../utils/api';
56import showToast from '../utils/show-toast';
67import states, { saveStatus } from '../utils/states';
77-import useHotkeys from '../utils/useHotkeys';
88import useInterval from '../utils/useInterval';
99import usePageVisibility from '../utils/usePageVisibility';
1010
+1-1
src/components/columns.jsx
···11+import { useHotkeys } from 'react-hotkeys-hook';
12import { useSnapshot } from 'valtio';
2334import Bookmarks from '../pages/bookmarks';
···1112import Search from '../pages/search';
1213import Trending from '../pages/trending';
1314import states from '../utils/states';
1414-import useHotkeys from '../utils/useHotkeys';
1515import useTitle from '../utils/useTitle';
16161717function Columns() {
+2-1
src/components/compose-button.jsx
···11+import { useHotkeys } from 'react-hotkeys-hook';
22+13import openCompose from '../utils/open-compose';
24import openOSK from '../utils/open-osk';
35import states from '../utils/states';
44-import useHotkeys from '../utils/useHotkeys';
5667import Icon from './icon';
78
+1-1
src/components/compose.jsx
···55import { deepEqual } from 'fast-equals';
66import { forwardRef } from 'preact/compat';
77import { useEffect, useMemo, useRef, useState } from 'preact/hooks';
88+import { useHotkeys } from 'react-hotkeys-hook';
89import stringLength from 'string-length';
910import { uid } from 'uid/single';
1011import { useDebouncedCallback, useThrottledCallback } from 'use-debounce';
···3233} from '../utils/store-utils';
3334import supports from '../utils/supports';
3435import useCloseWatcher from '../utils/useCloseWatcher';
3535-import useHotkeys from '../utils/useHotkeys';
3636import useInterval from '../utils/useInterval';
3737import visibilityIconsMap from '../utils/visibility-icons-map';
3838
+1-1
src/components/keyboard-shortcuts-help.jsx
···11import './keyboard-shortcuts-help.css';
2233import { memo } from 'preact/compat';
44+import { useHotkeys } from 'react-hotkeys-hook';
45import { useSnapshot } from 'valtio';
5667import states from '../utils/states';
77-import useHotkeys from '../utils/useHotkeys';
8899import Icon from './icon';
1010import Modal from './modal';
+1-1
src/components/media-modal.jsx
···77 useRef,
88 useState,
99} from 'preact/hooks';
1010+import { useHotkeys } from 'react-hotkeys-hook';
10111112import { oklab2rgb, rgb2oklab } from '../utils/color-utils';
1213import showToast from '../utils/show-toast';
1314import states from '../utils/states';
1414-import useHotkeys from '../utils/useHotkeys';
15151616import Icon from './icon';
1717import Link from './link';
+1-1
src/components/modal.jsx
···2233import { createPortal } from 'preact/compat';
44import { useEffect, useRef } from 'preact/hooks';
55+import { useHotkeys } from 'react-hotkeys-hook';
5667import useCloseWatcher from '../utils/useCloseWatcher';
77-import useHotkeys from '../utils/useHotkeys';
8899const $modalContainer = document.getElementById('modal-container');
1010
+1-2
src/components/search-command.jsx
···2233import { memo } from 'preact/compat';
44import { useRef, useState } from 'preact/hooks';
55-66-import useHotkeys from '../utils/useHotkeys';
55+import { useHotkeys } from 'react-hotkeys-hook';
7687import SearchForm from './search-form';
98
+1-1
src/components/shortcuts.jsx
···33import { MenuDivider } from '@szhsin/react-menu';
44import { memo } from 'preact/compat';
55import { useRef, useState } from 'preact/hooks';
66+import { useHotkeys } from 'react-hotkeys-hook';
67import { useNavigate } from 'react-router-dom';
78import { useSnapshot } from 'valtio';
89···1011import { api } from '../utils/api';
1112import { getLists } from '../utils/lists';
1213import states from '../utils/states';
1313-import useHotkeys from '../utils/useHotkeys';
14141515import AsyncText from './AsyncText';
1616import Icon from './icon';
+1-1
src/components/status.jsx
···2222 useState,
2323} from 'preact/hooks';
2424import punycode from 'punycode';
2525+import { useHotkeys } from 'react-hotkeys-hook';
2526import { useLongPress } from 'use-long-press';
2627import { useSnapshot } from 'valtio';
2728···5859import { getCurrentAccountID } from '../utils/store-utils';
5960import supports from '../utils/supports';
6061import unfurlMastodonLink from '../utils/unfurl-link';
6161-import useHotkeys from '../utils/useHotkeys';
6262import useTruncated from '../utils/useTruncated';
6363import visibilityIconsMap from '../utils/visibility-icons-map';
6464
+1-1
src/components/timeline.jsx
···66 useRef,
77 useState,
88} from 'preact/hooks';
99+import { useHotkeys } from 'react-hotkeys-hook';
910import { InView } from 'react-intersection-observer';
1011import { useDebouncedCallback } from 'use-debounce';
1112import { useSnapshot } from 'valtio';
···1617import statusPeek from '../utils/status-peek';
1718import { isMediaFirstInstance } from '../utils/store-utils';
1819import { groupBoosts, groupContext } from '../utils/timeline-utils';
1919-import useHotkeys from '../utils/useHotkeys';
2020import useInterval from '../utils/useInterval';
2121import usePageVisibility from '../utils/usePageVisibility';
2222import useScroll from '../utils/useScroll';
+1-1
src/pages/catchup.jsx
···1414 useState,
1515} from 'preact/hooks';
1616import punycode from 'punycode';
1717+import { useHotkeys } from 'react-hotkeys-hook';
1718import { useSearchParams } from 'react-router-dom';
1819import { uid } from 'uid/single';
1920···4142import store from '../utils/store';
4243import { getCurrentAccountID, getCurrentAccountNS } from '../utils/store-utils';
4344import { assignFollowedTags } from '../utils/timeline-utils';
4444-import useHotkeys from '../utils/useHotkeys';
4545import useTitle from '../utils/useTitle';
46464747const FILTER_CONTEXT = 'home';
+1-1
src/pages/notifications.jsx
···33import { Fragment } from 'preact';
44import { memo } from 'preact/compat';
55import { useCallback, useEffect, useRef, useState } from 'preact/hooks';
66+import { useHotkeys } from 'react-hotkeys-hook';
67import { InView } from 'react-intersection-observer';
78import { useSearchParams } from 'react-router-dom';
89import { useSnapshot } from 'valtio';
···2829import states, { saveStatus } from '../utils/states';
2930import { getCurrentInstance } from '../utils/store-utils';
3031import supports from '../utils/supports';
3131-import useHotkeys from '../utils/useHotkeys';
3232import usePageVisibility from '../utils/usePageVisibility';
3333import useScroll from '../utils/useScroll';
3434import useTitle from '../utils/useTitle';
+1-1
src/pages/search.jsx
···2233import { useAutoAnimate } from '@formkit/auto-animate/preact';
44import { useEffect, useLayoutEffect, useRef, useState } from 'preact/hooks';
55+import { useHotkeys } from 'react-hotkeys-hook';
56import { InView } from 'react-intersection-observer';
67import { useParams, useSearchParams } from 'react-router-dom';
78···1516import { api } from '../utils/api';
1617import { fetchRelationships } from '../utils/relationships';
1718import shortenNumber from '../utils/shorten-number';
1818-import useHotkeys from '../utils/useHotkeys';
1919import usePageVisibility from '../utils/usePageVisibility';
2020import useTitle from '../utils/useTitle';
2121
+1-1
src/pages/status.jsx
···1313 useState,
1414} from 'preact/hooks';
1515import punycode from 'punycode';
1616+import { useHotkeys } from 'react-hotkeys-hook';
1617import { InView } from 'react-intersection-observer';
1718import { matchPath, useSearchParams } from 'react-router-dom';
1819import { useSnapshot } from 'valtio';
···3738} from '../utils/states';
3839import statusPeek from '../utils/status-peek';
3940import { getCurrentAccount } from '../utils/store-utils';
4040-import useHotkeys from '../utils/useHotkeys';
4141import useScroll from '../utils/useScroll';
4242import useTitle from '../utils/useTitle';
4343