diff --git a/packages/web/src/javascripts/Components/ContentListView/FileListItemCard.tsx b/packages/web/src/javascripts/Components/ContentListView/FileListItemCard.tsx deleted file mode 100644 index 14205ed93..000000000 --- a/packages/web/src/javascripts/Components/ContentListView/FileListItemCard.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { FileItem, FileBackupRecord } from '@standardnotes/snjs' -import { observer } from 'mobx-react-lite' -import { FunctionComponent, useCallback, useEffect, useRef, useState } from 'react' -import { getFileIconComponent } from '../FilePreview/getFileIconComponent' -import ListItemConflictIndicator from './ListItemConflictIndicator' -import ListItemTags from './ListItemTags' -import ListItemMetadata from './ListItemMetadata' -import { DisplayableListItemProps } from './Types/DisplayableListItemProps' -import { useResponsiveAppPane } from '../Panes/ResponsivePaneProvider' -import { useContextMenuEvent } from '@/Hooks/useContextMenuEvent' -import { classNames } from '@standardnotes/utils' -import { formatSizeToReadableString } from '@standardnotes/filepicker' -import { getIconForFileType } from '@/Utils/Items/Icons/getIconForFileType' -import { useApplication } from '../ApplicationProvider' -import Icon from '../Icon/Icon' -import { PaneLayout } from '@/Controllers/PaneController/PaneLayout' -import ListItemVaultInfo from './ListItemVaultInfo' - -const FileListItemCard: FunctionComponent> = ({ - filesController, - hideDate, - hideIcon, - hideTags, - item: file, - onSelect, - selected, - sortBy, - tags, -}) => { - const { setPaneLayout } = useResponsiveAppPane() - const application = useApplication() - - const [backupInfo, setBackupInfo] = useState(undefined) - - useEffect(() => { - void application.fileBackups?.getFileBackupInfo(file).then(setBackupInfo) - }, [application, file]) - - const listItemRef = useRef(null) - - const openFileContextMenu = useCallback( - (posX: number, posY: number) => { - filesController.setShowFileContextMenu(false) - filesController.setFileContextMenuLocation({ - x: posX, - y: posY, - }) - filesController.setShowFileContextMenu(true) - }, - [filesController], - ) - - const openContextMenu = useCallback( - async (posX: number, posY: number) => { - let shouldOpenContextMenu = selected - - if (!selected) { - const { didSelect } = await onSelect(file) - if (didSelect) { - shouldOpenContextMenu = true - } - } - - if (shouldOpenContextMenu) { - openFileContextMenu(posX, posY) - } - }, - [selected, onSelect, file, openFileContextMenu], - ) - - const onClick = useCallback(async () => { - const { didSelect } = await onSelect(file, true) - if (didSelect) { - setPaneLayout(PaneLayout.Editing) - } - }, [file, onSelect, setPaneLayout]) - - const IconComponent = () => - getFileIconComponent(getIconForFileType((file as FileItem).mimeType), 'w-10 h-10 flex-shrink-0') - - useContextMenuEvent(listItemRef, openContextMenu) - - return ( -
-
-
- {!hideIcon ? ( -
- -
- ) : ( -
- )} -
-
-
{file.title}
-
- - - - -
-
-
-
- {formatSizeToReadableString(file.decryptedSize)} - {backupInfo && ( -
- -
- )} -
-
-
-
- ) -} - -export default observer(FileListItemCard)