Merge pull request #26472 from overleaf/dp-full-project-search-shortcut

Add mod-shift-f shortcut to open full-project-search to new editor

GitOrigin-RevId: a843c408cc8bd30228cbb7bc17309f4f9ff355b3
This commit is contained in:
David
2025-06-18 08:05:48 +00:00
committed by Copybot
parent 30143ead97
commit dc252fe772
2 changed files with 25 additions and 0 deletions
@@ -1,5 +1,7 @@
import { sendSearchEvent } from '@/features/event-tracking/search-events'
import useCollapsiblePanel from '@/features/ide-react/hooks/use-collapsible-panel'
import useEventListener from '@/shared/hooks/use-event-listener'
import { isMac } from '@/shared/utils/os'
import {
createContext,
Dispatch,
@@ -90,6 +92,27 @@ export const RailProvider: FC<React.PropsWithChildren> = ({ children }) => {
}, [handlePaneCollapse, selectedTab, isOpen, openTab])
)
useEventListener(
'keydown',
useCallback(
(event: KeyboardEvent) => {
if (
(isMac ? event.metaKey : event.ctrlKey) &&
event.shiftKey &&
event.code === 'KeyF'
) {
event.preventDefault()
sendSearchEvent('search-open', {
searchType: 'full-project',
method: 'keyboard',
})
openTab('full-project-search')
}
},
[openTab]
)
)
const value = useMemo(
() => ({
selectedTab,
@@ -145,6 +145,7 @@ export const LayoutProvider: FC<React.PropsWithChildren> = ({ children }) => {
)
)
// TODO ide-redesign-cleanup: remove this listener as we have an equivalent in rail-context
useEventListener(
'ui.toggle-review-panel',
useCallback(() => {
@@ -152,6 +153,7 @@ export const LayoutProvider: FC<React.PropsWithChildren> = ({ children }) => {
}, [setReviewPanelOpen])
)
// TODO ide-redesign-cleanup: remove this listener as we have an equivalent in rail-context
useEventListener(
'keydown',
useCallback((event: KeyboardEvent) => {