Revert "Writefull refactor bootstrapping (#29306)" (#29542)

This reverts commit 6de05eb695579dc08cb5ee6ddf30c243cc2ff86a.

GitOrigin-RevId: 1fe00bd95b2ce437f91b38667e4d787d49c36902
This commit is contained in:
Borja
2025-11-06 09:07:14 +00:00
committed by Copybot
parent f5eb8e9ba4
commit 7f96e9504e
4 changed files with 3 additions and 33 deletions
-2
View File
@@ -996,8 +996,6 @@ module.exports = {
sourceEditorCompletionSources: [], sourceEditorCompletionSources: [],
sourceEditorSymbolPalette: [], sourceEditorSymbolPalette: [],
sourceEditorToolbarComponents: [], sourceEditorToolbarComponents: [],
sourceEditorToolbarEndButtons: [],
rootContextProviders: [],
mainEditorLayoutModals: [], mainEditorLayoutModals: [],
langFeedbackLinkingWidgets: [], langFeedbackLinkingWidgets: [],
labsExperiments: [], labsExperiments: [],
@@ -1,4 +1,4 @@
import React, { ElementType, FC, PropsWithChildren } from 'react' import React, { FC, PropsWithChildren } from 'react'
import { ChatProvider } from '@/features/chat/context/chat-context' import { ChatProvider } from '@/features/chat/context/chat-context'
import { ConnectionProvider } from './connection-context' import { ConnectionProvider } from './connection-context'
import { DetachCompileProvider } from '@/shared/context/detach-compile-context' import { DetachCompileProvider } from '@/shared/context/detach-compile-context'
@@ -30,12 +30,6 @@ import { UserFeaturesProvider } from '@/shared/context/user-features-context'
import { UserSettingsProvider } from '@/shared/context/user-settings-context' import { UserSettingsProvider } from '@/shared/context/user-settings-context'
import { IdeRedesignSwitcherProvider } from './ide-redesign-switcher-context' import { IdeRedesignSwitcherProvider } from './ide-redesign-switcher-context'
import { CommandRegistryProvider } from './command-registry-context' import { CommandRegistryProvider } from './command-registry-context'
import importOverleafModules from '../../../../macros/import-overleaf-module.macro'
const rootContextProviders = importOverleafModules('rootContextProviders') as {
import: { default: ElementType }
path: string
}[]
export const ReactContextRoot: FC< export const ReactContextRoot: FC<
React.PropsWithChildren<{ React.PropsWithChildren<{
@@ -77,18 +71,6 @@ export const ReactContextRoot: FC<
...providers, ...providers,
} }
// Extract dynamic providers from modules
const dynamicProviders = rootContextProviders.map(
module => module.import.default
)
// Wrap children with all dynamic providers from outside to inside
const childrenWrappedWithDynamicProviders =
dynamicProviders.reduceRight<React.ReactElement>(
(acc, Provider) => <Provider>{acc}</Provider>,
<>{children}</>
)
return ( return (
<Providers.SplitTestProvider> <Providers.SplitTestProvider>
<Providers.ModalsContextProvider> <Providers.ModalsContextProvider>
@@ -121,9 +103,7 @@ export const ReactContextRoot: FC<
<Providers.OutlineProvider> <Providers.OutlineProvider>
<Providers.IdeRedesignSwitcherProvider> <Providers.IdeRedesignSwitcherProvider>
<Providers.CommandRegistryProvider> <Providers.CommandRegistryProvider>
{ {children}
childrenWrappedWithDynamicProviders
}
</Providers.CommandRegistryProvider> </Providers.CommandRegistryProvider>
</Providers.IdeRedesignSwitcherProvider> </Providers.IdeRedesignSwitcherProvider>
</Providers.OutlineProvider> </Providers.OutlineProvider>
@@ -40,10 +40,6 @@ const sourceEditorToolbarComponents = importOverleafModules(
'sourceEditorToolbarComponents' 'sourceEditorToolbarComponents'
) as { import: { default: ElementType }; path: string }[] ) as { import: { default: ElementType }; path: string }[]
const sourceEditorToolbarEndButtons = importOverleafModules(
'sourceEditorToolbarEndButtons'
) as { import: { default: ElementType }; path: string }[]
export const CodeMirrorToolbar = () => { export const CodeMirrorToolbar = () => {
const view = useCodeMirrorViewContext() const view = useCodeMirrorViewContext()
const panel = getPanel(view, createToolbarPanel) const panel = getPanel(view, createToolbarPanel)
@@ -208,11 +204,6 @@ const Toolbar = memo(function Toolbar() {
className="ol-cm-toolbar-button-group ol-cm-toolbar-end" className="ol-cm-toolbar-button-group ol-cm-toolbar-end"
ref={handleButtons} ref={handleButtons}
> >
{sourceEditorToolbarEndButtons.map(
({ import: { default: Component }, path }) => (
<Component key={path} />
)
)}
<ToggleSearchButton state={state} /> <ToggleSearchButton state={state} />
<SwitchToPDFButton /> <SwitchToPDFButton />
<DetacherSynctexControl /> <DetacherSynctexControl />
@@ -7,6 +7,7 @@ export interface WritefullEvents {
} }
export interface WritefullAPI { export interface WritefullAPI {
init(): void
addEventListener<eventName extends keyof WritefullEvents>( addEventListener<eventName extends keyof WritefullEvents>(
name: eventName, name: eventName,
callback: (detail: WritefullEvents[eventName]) => void callback: (detail: WritefullEvents[eventName]) => void