|
|
@@ -1,28 +1,24 @@
|
|
|
import _ from 'lodash'
|
|
|
-import FileTreeContext from '../../file-tree/components/file-tree-context'
|
|
|
-import FileTreeFolderList from '../../file-tree/components/file-tree-folder-list'
|
|
|
+import { useCallback } from 'react'
|
|
|
import { useHistoryContext } from '../context/history-context'
|
|
|
+import { HistoryFileTreeSelectableProvider } from '../context/history-file-tree-selectable'
|
|
|
import {
|
|
|
fileTreeDiffToFileTreeData,
|
|
|
reducePathsToTree,
|
|
|
} from '../utils/file-tree'
|
|
|
+import HistoryFileTreeFolderList from './file-tree/history-file-tree-folder-list'
|
|
|
|
|
|
-type HistoryFileTreeProps = {
|
|
|
- setRefProviderEnabled: any
|
|
|
- setStartedFreeTrial: any
|
|
|
- reindexReferences: any
|
|
|
- onSelect: any
|
|
|
- refProviders: any
|
|
|
-}
|
|
|
+export default function HistoryFileTree() {
|
|
|
+ const { fileSelection, setFileSelection } = useHistoryContext()
|
|
|
|
|
|
-export default function HistoryFileTree({
|
|
|
- setRefProviderEnabled,
|
|
|
- setStartedFreeTrial,
|
|
|
- reindexReferences,
|
|
|
- onSelect,
|
|
|
- refProviders,
|
|
|
-}: HistoryFileTreeProps) {
|
|
|
- const { fileSelection } = useHistoryContext()
|
|
|
+ const handleSelectFile = useCallback(
|
|
|
+ (pathname: string) => {
|
|
|
+ if (fileSelection) {
|
|
|
+ setFileSelection({ files: fileSelection.files, pathname })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ [fileSelection, setFileSelection]
|
|
|
+ )
|
|
|
|
|
|
if (!fileSelection) {
|
|
|
return null
|
|
|
@@ -33,21 +29,14 @@ export default function HistoryFileTree({
|
|
|
const mappedFileTree = fileTreeDiffToFileTreeData(fileTree)
|
|
|
|
|
|
return (
|
|
|
- <FileTreeContext
|
|
|
- refProviders={refProviders}
|
|
|
- setRefProviderEnabled={setRefProviderEnabled}
|
|
|
- setStartedFreeTrial={setStartedFreeTrial}
|
|
|
- reindexReferences={reindexReferences}
|
|
|
- onSelect={onSelect}
|
|
|
- >
|
|
|
- <FileTreeFolderList
|
|
|
+ <HistoryFileTreeSelectableProvider onSelectFile={handleSelectFile}>
|
|
|
+ <HistoryFileTreeFolderList
|
|
|
folders={mappedFileTree.folders}
|
|
|
docs={mappedFileTree.docs ?? []}
|
|
|
- files={[]}
|
|
|
- classes={{ root: 'file-tree-list' }}
|
|
|
+ rootClassName="file-tree-list"
|
|
|
>
|
|
|
<li className="bottom-buffer" />
|
|
|
- </FileTreeFolderList>
|
|
|
- </FileTreeContext>
|
|
|
+ </HistoryFileTreeFolderList>
|
|
|
+ </HistoryFileTreeSelectableProvider>
|
|
|
)
|
|
|
}
|