mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-15 14:43:46 +01:00
Merge pull request #24859 from overleaf/dp-history-file-tree
Always show file tree in history view in new editor GitOrigin-RevId: e993aae4c1625ef7fb0a716ae5bff8edb0e8d0d0
This commit is contained in:
@@ -77,33 +77,33 @@ export const ReactContextRoot: FC<{ providers?: Record<string, FC> }> = ({
|
|||||||
<Providers.DetachProvider>
|
<Providers.DetachProvider>
|
||||||
<Providers.EditorProvider>
|
<Providers.EditorProvider>
|
||||||
<Providers.PermissionsProvider>
|
<Providers.PermissionsProvider>
|
||||||
<Providers.LayoutProvider>
|
<Providers.RailProvider>
|
||||||
<Providers.ProjectSettingsProvider>
|
<Providers.LayoutProvider>
|
||||||
<Providers.EditorManagerProvider>
|
<Providers.ProjectSettingsProvider>
|
||||||
<Providers.LocalCompileProvider>
|
<Providers.EditorManagerProvider>
|
||||||
<Providers.DetachCompileProvider>
|
<Providers.LocalCompileProvider>
|
||||||
<Providers.ChatProvider>
|
<Providers.DetachCompileProvider>
|
||||||
<Providers.FileTreeOpenProvider>
|
<Providers.ChatProvider>
|
||||||
<Providers.OnlineUsersProvider>
|
<Providers.FileTreeOpenProvider>
|
||||||
<Providers.MetadataProvider>
|
<Providers.OnlineUsersProvider>
|
||||||
<Providers.OutlineProvider>
|
<Providers.MetadataProvider>
|
||||||
<Providers.RailProvider>
|
<Providers.OutlineProvider>
|
||||||
<Providers.IdeRedesignSwitcherProvider>
|
<Providers.IdeRedesignSwitcherProvider>
|
||||||
<Providers.CommandRegistryProvider>
|
<Providers.CommandRegistryProvider>
|
||||||
{children}
|
{children}
|
||||||
</Providers.CommandRegistryProvider>
|
</Providers.CommandRegistryProvider>
|
||||||
</Providers.IdeRedesignSwitcherProvider>
|
</Providers.IdeRedesignSwitcherProvider>
|
||||||
</Providers.RailProvider>
|
</Providers.OutlineProvider>
|
||||||
</Providers.OutlineProvider>
|
</Providers.MetadataProvider>
|
||||||
</Providers.MetadataProvider>
|
</Providers.OnlineUsersProvider>
|
||||||
</Providers.OnlineUsersProvider>
|
</Providers.FileTreeOpenProvider>
|
||||||
</Providers.FileTreeOpenProvider>
|
</Providers.ChatProvider>
|
||||||
</Providers.ChatProvider>
|
</Providers.DetachCompileProvider>
|
||||||
</Providers.DetachCompileProvider>
|
</Providers.LocalCompileProvider>
|
||||||
</Providers.LocalCompileProvider>
|
</Providers.EditorManagerProvider>
|
||||||
</Providers.EditorManagerProvider>
|
</Providers.ProjectSettingsProvider>
|
||||||
</Providers.ProjectSettingsProvider>
|
</Providers.LayoutProvider>
|
||||||
</Providers.LayoutProvider>
|
</Providers.RailProvider>
|
||||||
</Providers.PermissionsProvider>
|
</Providers.PermissionsProvider>
|
||||||
</Providers.EditorProvider>
|
</Providers.EditorProvider>
|
||||||
</Providers.DetachProvider>
|
</Providers.DetachProvider>
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import useEventListener from '@/shared/hooks/use-event-listener'
|
|||||||
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
||||||
import { isMac } from '@/shared/utils/os'
|
import { isMac } from '@/shared/utils/os'
|
||||||
import { sendSearchEvent } from '@/features/event-tracking/search-events'
|
import { sendSearchEvent } from '@/features/event-tracking/search-events'
|
||||||
|
import { useRailContext } from '@/features/ide-redesign/contexts/rail-context'
|
||||||
|
|
||||||
export type IdeLayout = 'sideBySide' | 'flat'
|
export type IdeLayout = 'sideBySide' | 'flat'
|
||||||
export type IdeView = 'editor' | 'file' | 'pdf' | 'history'
|
export type IdeView = 'editor' | 'file' | 'pdf' | 'history'
|
||||||
@@ -75,6 +76,8 @@ export const LayoutProvider: FC = ({ children }) => {
|
|||||||
const [view, _setView] = useScopeValue<IdeView | null>('ui.view')
|
const [view, _setView] = useScopeValue<IdeView | null>('ui.view')
|
||||||
const [openFile] = useScopeValue<BinaryFile | null>('openFile')
|
const [openFile] = useScopeValue<BinaryFile | null>('openFile')
|
||||||
const historyToggleEmitter = useScopeEventEmitter('history:toggle', true)
|
const historyToggleEmitter = useScopeEventEmitter('history:toggle', true)
|
||||||
|
const { isOpen: railIsOpen, setIsOpen: setRailIsOpen } = useRailContext()
|
||||||
|
const [prevRailIsOpen, setPrevRailIsOpen] = useState(railIsOpen)
|
||||||
|
|
||||||
const setView = useCallback(
|
const setView = useCallback(
|
||||||
(value: IdeView | null) => {
|
(value: IdeView | null) => {
|
||||||
@@ -84,6 +87,15 @@ export const LayoutProvider: FC = ({ children }) => {
|
|||||||
historyToggleEmitter()
|
historyToggleEmitter()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value === 'history') {
|
||||||
|
setPrevRailIsOpen(railIsOpen)
|
||||||
|
setRailIsOpen(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (oldValue === 'history') {
|
||||||
|
setRailIsOpen(prevRailIsOpen)
|
||||||
|
}
|
||||||
|
|
||||||
if (value === 'editor' && openFile) {
|
if (value === 'editor' && openFile) {
|
||||||
// if a file is currently opened, ensure the view is 'file' instead of
|
// if a file is currently opened, ensure the view is 'file' instead of
|
||||||
// 'editor' when the 'editor' view is requested. This is to ensure
|
// 'editor' when the 'editor' view is requested. This is to ensure
|
||||||
@@ -95,7 +107,15 @@ export const LayoutProvider: FC = ({ children }) => {
|
|||||||
return value
|
return value
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
[_setView, openFile, historyToggleEmitter]
|
[
|
||||||
|
_setView,
|
||||||
|
setRailIsOpen,
|
||||||
|
openFile,
|
||||||
|
historyToggleEmitter,
|
||||||
|
prevRailIsOpen,
|
||||||
|
setPrevRailIsOpen,
|
||||||
|
railIsOpen,
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
// whether the chat pane is open
|
// whether the chat pane is open
|
||||||
|
|||||||
Reference in New Issue
Block a user