mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #32655 from overleaf/mj-preview-tabs-setting
[web] Add setting for temporary tab behaviour GitOrigin-RevId: efef9e1db55d4498daadf13efad7fe12578cec21
This commit is contained in:
committed by
Copybot
parent
77952e5d21
commit
2d9fc99274
@@ -8,6 +8,7 @@ import { useEditorManagerContext } from './editor-manager-context'
|
||||
import { debugConsole } from '@/utils/debugging'
|
||||
import { disambiguatePaths } from '../util/disambiguate-paths'
|
||||
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
||||
import { useUserSettingsContext } from '@/shared/context/user-settings-context'
|
||||
|
||||
type PersistedTabInfo = { id: string; lifetime: Lifetime }
|
||||
|
||||
@@ -43,6 +44,8 @@ export const TabsProvider: FC<React.PropsWithChildren> = ({ children }) => {
|
||||
const { openEntity } = useFileTreeOpenContext()
|
||||
const { openDocWithId, openFileWithId } = useEditorManagerContext()
|
||||
const tabsEnabled = isSplitTestEnabled('editor-tabs')
|
||||
const { userSettings } = useUserSettingsContext()
|
||||
const { previewTabs } = userSettings
|
||||
|
||||
const [openTabs, setOpenTabs] = usePersistedState<PersistedTabInfo[]>(
|
||||
`open-tabs:${projectId}`,
|
||||
@@ -183,10 +186,13 @@ export const TabsProvider: FC<React.PropsWithChildren> = ({ children }) => {
|
||||
}
|
||||
return [
|
||||
...current.filter(tab => tab.lifetime !== 'temporary'),
|
||||
{ id: openEntity.entity._id, lifetime: 'temporary' },
|
||||
{
|
||||
id: openEntity.entity._id,
|
||||
lifetime: previewTabs ? 'temporary' : 'permanent',
|
||||
},
|
||||
]
|
||||
})
|
||||
}, [openEntity, setOpenTabs, tabsEnabled])
|
||||
}, [openEntity, previewTabs, setOpenTabs, tabsEnabled])
|
||||
|
||||
const value = useMemo(
|
||||
() => ({ tabs, openTab, closeTab, moveTab, makeTabPermanent }),
|
||||
|
||||
Reference in New Issue
Block a user