From 87f714f7c34e4b6dcf9ca1866909bf0c54ab0cfd Mon Sep 17 00:00:00 2001 From: David <33458145+davidmcpowell@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:55:41 +0100 Subject: [PATCH] Merge pull request #21164 from overleaf/dp-add-comment-keyboard-shortcut Add keyboard shortcut (cmd+shift+c) for adding a new comment GitOrigin-RevId: 20359426f45e90b09cbc887bac3096adf1b3141a --- .../components/review-tooltip-menu.tsx | 22 +++++++++++++++---- .../source-editor/extensions/shortcuts.ts | 11 +++++++--- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/services/web/frontend/js/features/review-panel-new/components/review-tooltip-menu.tsx b/services/web/frontend/js/features/review-panel-new/components/review-tooltip-menu.tsx index 6bcd80d0dc..ce34a6f74d 100644 --- a/services/web/frontend/js/features/review-panel-new/components/review-tooltip-menu.tsx +++ b/services/web/frontend/js/features/review-panel-new/components/review-tooltip-menu.tsx @@ -1,4 +1,11 @@ -import { Dispatch, FC, SetStateAction, useEffect, useState } from 'react' +import { + Dispatch, + FC, + SetStateAction, + useCallback, + useEffect, + useState, +} from 'react' import ReactDOM from 'react-dom' import MaterialIcon from '@/shared/components/material-icon' import { useTranslation } from 'react-i18next' @@ -56,7 +63,7 @@ const ReviewTooltipMenuContent: FC<{ const { setReviewPanelOpen } = useLayoutContext() const { setView } = useReviewPanelViewActionsContext() - const handleClick = () => { + const addComment = useCallback(() => { setReviewPanelOpen(true) setView('cur_file') @@ -64,13 +71,20 @@ const ReviewTooltipMenuContent: FC<{ effects: buildAddNewCommentRangeEffect(state.selection.main), }) setShow(false) - } + }, [setReviewPanelOpen, setView, setShow, view, state.selection.main]) + + useEffect(() => { + window.addEventListener('add-new-review-comment', addComment) + return () => { + window.removeEventListener('add-new-review-comment', addComment) + } + }, [addComment]) return (