mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
Merge pull request #32313 from overleaf/ae-tab-icon
Add icons to file tabs GitOrigin-RevId: 7b032c694c4f81e868e5811673b465179e10bae7
This commit is contained in:
committed by
Copybot
parent
d1ce54b513
commit
3bf3264cfe
@@ -9,6 +9,10 @@ import { debugConsole } from '@/utils/debugging'
|
||||
import { disambiguatePaths } from '../util/disambiguate-paths'
|
||||
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
||||
import { useUserSettingsContext } from '@/shared/context/user-settings-context'
|
||||
import {
|
||||
FileTreeFindResult,
|
||||
isFileRefResult,
|
||||
} from '@/features/ide-react/types/file-tree'
|
||||
|
||||
type PersistedTabInfo = { id: string; lifetime: Lifetime }
|
||||
|
||||
@@ -16,7 +20,9 @@ type Lifetime = 'permanent' | 'temporary'
|
||||
|
||||
export type EditorFileTab = {
|
||||
id: string
|
||||
name: string
|
||||
displayPath: string
|
||||
isLinkedFile: boolean
|
||||
lifetime: Lifetime
|
||||
}
|
||||
|
||||
@@ -64,19 +70,29 @@ export const TabsProvider: FC<React.PropsWithChildren> = ({ children }) => {
|
||||
lifetime: tab.lifetime,
|
||||
result: findInTree(fileTreeData, tab.id),
|
||||
}))
|
||||
.filter(x => !!x.result)
|
||||
.filter(x => !!x.result) as {
|
||||
lifetime: Lifetime
|
||||
result: FileTreeFindResult
|
||||
}[]
|
||||
|
||||
const pathLookup = disambiguatePaths(
|
||||
tabsFileTreeLookup.map(tab => tab.result!),
|
||||
tabsFileTreeLookup.map(tab => tab.result),
|
||||
fileTreeData
|
||||
)
|
||||
|
||||
return tabsFileTreeLookup.map(tab => ({
|
||||
id: tab.result!.entity._id,
|
||||
displayPath:
|
||||
pathLookup.get(tab.result!.entity._id) || tab.result!.entity.name,
|
||||
lifetime: tab.lifetime,
|
||||
}))
|
||||
return tabsFileTreeLookup.map(tab => {
|
||||
const entity = tab.result.entity
|
||||
|
||||
return {
|
||||
id: entity._id,
|
||||
name: entity.name,
|
||||
displayPath: pathLookup.get(entity._id) || entity.name,
|
||||
isLinkedFile:
|
||||
isFileRefResult(tab.result) &&
|
||||
!!tab.result.entity.linkedFileData?.provider,
|
||||
lifetime: tab.lifetime,
|
||||
}
|
||||
})
|
||||
}, [fileTreeData, openTabs, tabsEnabled])
|
||||
|
||||
const openTab = useCallback(
|
||||
|
||||
Reference in New Issue
Block a user