From be4a11484fb1654d9be161dee99ddd18f5e2802b Mon Sep 17 00:00:00 2001 From: David <33458145+davidmcpowell@users.noreply.github.com> Date: Thu, 17 Jul 2025 10:34:15 +0100 Subject: [PATCH] Merge pull request #27172 from overleaf/dp-file-menu-settings Add settings option to file menu GitOrigin-RevId: a5ad0cecad5b7896185a8b9c91364c7904961438 --- .../js/features/ide-redesign/components/rail.tsx | 14 ++++++++++++++ .../ide-redesign/components/toolbar/menu-bar.tsx | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/services/web/frontend/js/features/ide-redesign/components/rail.tsx b/services/web/frontend/js/features/ide-redesign/components/rail.tsx index 0c8d49202d..1f9bb0b0aa 100644 --- a/services/web/frontend/js/features/ide-redesign/components/rail.tsx +++ b/services/web/frontend/js/features/ide-redesign/components/rail.tsx @@ -45,6 +45,7 @@ import { useFeatureFlag } from '@/shared/context/split-test-context' import { useSurveyUrl } from '../hooks/use-survey-url' import { useProjectContext } from '@/shared/context/project-context' import usePreviousValue from '@/shared/hooks/use-previous-value' +import { useCommandProvider } from '@/features/ide-react/hooks/use-command-provider' type RailElement = { icon: AvailableUnfilledIcon @@ -185,6 +186,19 @@ export const RailLayout = () => { [setLeftMenuShown, t, sendEvent] ) + useCommandProvider( + () => [ + { + id: 'open-settings', + handler: () => { + setLeftMenuShown(true) + }, + label: t('settings'), + }, + ], + [t, setLeftMenuShown] + ) + const onTabSelect = useCallback( (key: string | null) => { if (key === selectedTab) { diff --git a/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx b/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx index d2593d7d07..acb737b33b 100644 --- a/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx +++ b/services/web/frontend/js/features/ide-redesign/components/toolbar/menu-bar.tsx @@ -72,6 +72,10 @@ export const ToolbarMenuBar = () => { id: 'file-download', children: ['download-as-source-zip', 'download-pdf'], }, + { + id: 'settings', + children: ['open-settings'], + }, ], [] )