refactor: Replace react-hotkeys with custom hook (#35425)

This commit is contained in:
diondiondion 2025-07-21 16:43:38 +02:00 committed by GitHub
commit 4de5cbd6f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 540 additions and 146 deletions

View file

@ -1,9 +1,8 @@
import { useMemo } from 'react';
import { HotKeys } from 'react-hotkeys';
import { navigateToProfile } from 'mastodon/actions/accounts';
import { mentionComposeById } from 'mastodon/actions/compose';
import { Hotkeys } from 'mastodon/components/hotkeys';
import type { NotificationGroup as NotificationGroupModel } from 'mastodon/models/notification_group';
import { useAppSelector, useAppDispatch } from 'mastodon/store';
@ -156,5 +155,5 @@ export const NotificationGroup: React.FC<{
return null;
}
return <HotKeys handlers={handlers}>{content}</HotKeys>;
return <Hotkeys handlers={handlers}>{content}</Hotkeys>;
};

View file

@ -3,12 +3,11 @@ import type { JSX } from 'react';
import classNames from 'classnames';
import { HotKeys } from 'react-hotkeys';
import { replyComposeById } from 'mastodon/actions/compose';
import { navigateToStatus } from 'mastodon/actions/statuses';
import { Avatar } from 'mastodon/components/avatar';
import { AvatarGroup } from 'mastodon/components/avatar_group';
import { Hotkeys } from 'mastodon/components/hotkeys';
import type { IconProp } from 'mastodon/components/icon';
import { Icon } from 'mastodon/components/icon';
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
@ -91,7 +90,7 @@ export const NotificationGroupWithStatus: React.FC<{
);
return (
<HotKeys handlers={handlers}>
<Hotkeys handlers={handlers}>
<div
role='button'
className={classNames(
@ -149,6 +148,6 @@ export const NotificationGroupWithStatus: React.FC<{
)}
</div>
</div>
</HotKeys>
</Hotkeys>
);
};

View file

@ -2,14 +2,13 @@ import { useMemo } from 'react';
import classNames from 'classnames';
import { HotKeys } from 'react-hotkeys';
import { replyComposeById } from 'mastodon/actions/compose';
import { toggleReblog, toggleFavourite } from 'mastodon/actions/interactions';
import {
navigateToStatus,
toggleStatusSpoilers,
} from 'mastodon/actions/statuses';
import { Hotkeys } from 'mastodon/components/hotkeys';
import type { IconProp } from 'mastodon/components/icon';
import { Icon } from 'mastodon/components/icon';
import { StatusQuoteManager } from 'mastodon/components/status_quoted';
@ -83,7 +82,7 @@ export const NotificationWithStatus: React.FC<{
if (!statusId || isFiltered) return null;
return (
<HotKeys handlers={handlers}>
<Hotkeys handlers={handlers}>
<div
role='button'
className={classNames(
@ -111,6 +110,6 @@ export const NotificationWithStatus: React.FC<{
unfocusable
/>
</div>
</HotKeys>
</Hotkeys>
);
};