TelegramPWA/src/hooks/useNativeCopySelectedMessages.ts
2024-09-19 20:43:30 +02:00

23 lines
698 B
TypeScript

import { useMemo } from '../lib/teact/teact';
import getMessageIdsForSelectedText from '../util/getMessageIdsForSelectedText';
import { useHotkeys } from './useHotkeys';
import useLastCallback from './useLastCallback';
const useNativeCopySelectedMessages = (copyMessagesByIds: ({ messageIds }: { messageIds?: number[] }) => void) => {
const handleCopy = useLastCallback((e: KeyboardEvent) => {
const messageIds = getMessageIdsForSelectedText();
if (messageIds && messageIds.length > 1) {
e.preventDefault();
copyMessagesByIds({ messageIds });
}
});
useHotkeys(useMemo(() => ({
'Mod+C': handleCopy,
}), []));
};
export default useNativeCopySelectedMessages;