Files
bee-dashboard/src/react-fs/CafeReactFsItem.tsx
T
Cafe137 d0c94b7316 feat: add experimental fdp (#681)
* feat: add experimental fdp

* ci: update swarm-actions to v1

* fix: fix eslint violations

* refactor: decaf
2024-11-21 12:43:30 +01:00

49 lines
1.1 KiB
TypeScript

import { CafeReactFsDirectory } from './CafeReactFsDirectory'
import { CafeReactFsFile } from './CafeReactFsFile'
import { FsItem, isVirtualDirectory, isVirtualFile } from './CafeReactType'
interface Props {
path: string
item: FsItem
download: (path: string) => Promise<void>
enterDirectory: (name: string) => void
onDeleteFile: (path: string) => Promise<void>
onDeleteDirectory: (path: string) => Promise<void>
backgroundColor: string
}
export function CafeReactFsItem({
path,
item,
download,
enterDirectory,
onDeleteFile,
onDeleteDirectory,
backgroundColor,
}: Props) {
if (isVirtualFile(item)) {
return (
<CafeReactFsFile
path={path}
file={item}
download={download}
deleteFile={onDeleteFile}
backgroundColor={backgroundColor}
/>
)
}
if (isVirtualDirectory(item)) {
return (
<CafeReactFsDirectory
directory={item}
enterDirectory={enterDirectory}
deleteDirectory={onDeleteDirectory}
backgroundColor={backgroundColor}
/>
)
}
return null
}