Sfoglia il codice sorgente

[WEB] Add TeXGPT button to the main toolbar (#34219)

* feat: add writefull-toolbar-migration split test and
  sourceEditorToolbarStartButtons slot

* feat: add TeXGPT button to main editor toolbar (writefull-toolbar-migration)

* removing wrapper div

* hide toolbar start buttons from readonly users

GitOrigin-RevId: 6bafe3ad3fade98c318ea0d0b2714957c1d2d9b4
Davinder Singh 1 mese fa
parent
commit
8e8804a318

+ 1 - 0
services/web/config/settings.defaults.js

@@ -1039,6 +1039,7 @@ module.exports = {
     diagnosticActions: [],
     sourceEditorCompletionSources: [],
     sourceEditorSymbolPalette: [],
+    sourceEditorToolbarStartButtons: [],
     sourceEditorToolbarButtonGroups: [],
     sourceEditorToolbarComponents: [],
     sourceEditorToolbarEndButtons: [],

+ 10 - 0
services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx

@@ -38,6 +38,10 @@ import { useLayoutContext } from '@/shared/context/layout-context'
 import ReviewPanelHeaderBuffer from '@/features/review-panel/components/review-panel-header-buffer'
 import { useAreTabsEnabled } from '@/features/ide-react/hooks/use-are-tabs-enabled'
 
+const sourceEditorToolbarStartButtons = importOverleafModules(
+  'sourceEditorToolbarStartButtons'
+) as { import: { default: ElementType }; path: string }[]
+
 const sourceEditorToolbarComponents = importOverleafModules(
   'sourceEditorToolbarComponents'
 ) as { import: { default: ElementType }; path: string }[]
@@ -194,6 +198,12 @@ const Toolbar = memo(function Toolbar() {
           className="ol-cm-toolbar toolbar-editor"
           ref={handleToolbar}
         >
+          {showActions &&
+            sourceEditorToolbarStartButtons.map(
+              ({ import: { default: Component }, path }) => (
+                <Component key={path} />
+              )
+            )}
           {showActions && (
             <ToolbarItems
               state={state}