From a7b3cb6042147b2edf3692cd3fb34657094c4180 Mon Sep 17 00:00:00 2001 From: Malik Glossop Date: Wed, 18 Feb 2026 13:02:00 +0100 Subject: [PATCH] Merge pull request #31573 from overleaf/mg-context-menu-feedback Add feedback button to context menu GitOrigin-RevId: f7d2b27f7f49a4cd3cbad2e8c6f114967f84ab65 --- .../editor-context-menu-feedback.tsx | 39 +++++++++++++++++++ .../components/editor-context-menu.tsx | 2 + 2 files changed, 41 insertions(+) create mode 100644 services/web/frontend/js/features/source-editor/components/editor-context-menu-feedback.tsx diff --git a/services/web/frontend/js/features/source-editor/components/editor-context-menu-feedback.tsx b/services/web/frontend/js/features/source-editor/components/editor-context-menu-feedback.tsx new file mode 100644 index 0000000000..19882d8f87 --- /dev/null +++ b/services/web/frontend/js/features/source-editor/components/editor-context-menu-feedback.tsx @@ -0,0 +1,39 @@ +import { FC, memo } from 'react' +import { useTranslation } from 'react-i18next' +import { + DropdownItem, + DropdownDivider, +} from '@/shared/components/dropdown/dropdown-menu' +import DropdownListItem from '@/shared/components/dropdown/dropdown-list-item' +import SplitTestBadge from '@/shared/components/split-test-badge' + +const FEEDBACK_FORM_URL = 'https://forms.gle/BsbNQeSwGKEwXpxTA' +const handleClick = () => { + window.open(FEEDBACK_FORM_URL, '_blank', 'noopener,noreferrer') +} + +export const EditorContextMenuFeedback: FC = memo( + function EditorContextMenuFeedback() { + const { t } = useTranslation() + + return ( + <> + + + + } + > + {t('give_feedback')} + + + + ) + } +) diff --git a/services/web/frontend/js/features/source-editor/components/editor-context-menu.tsx b/services/web/frontend/js/features/source-editor/components/editor-context-menu.tsx index ccc061ec9e..9e54f646a6 100644 --- a/services/web/frontend/js/features/source-editor/components/editor-context-menu.tsx +++ b/services/web/frontend/js/features/source-editor/components/editor-context-menu.tsx @@ -15,6 +15,7 @@ import { contextMenuStateField } from '../extensions/context-menu' import { useFeatureFlag } from '@/shared/context/split-test-context' import { useContextMenuItems } from '../hooks/use-context-menu-items' import DropdownListItem from '@/shared/components/dropdown/dropdown-list-item' +import { EditorContextMenuFeedback } from './editor-context-menu-feedback' const EditorContextMenu: FC = () => { const state = useCodeMirrorStateContext() @@ -78,6 +79,7 @@ const EditorContextMenuContent: FC = memo(function EditorContextMenuContent() { ))} + )