/** * @author Timur Kuzhagaliyev * @copyright 2020 * @license MIT */ import React from 'react'; import { Nullable } from 'tsdef'; import { FileData } from '../../types/file.types'; import { makeLocalChonkyStyles } from '../../util/styles'; import { useFileNameComponent, useModifierIconComponents } from './FileEntry-hooks'; export interface FileEntryNameProps { file: Nullable; className?: string; } export const FileEntryName: React.FC = React.memo(({ file, className }) => { const modifierIconComponents = useModifierIconComponents(file); const fileNameComponent = useFileNameComponent(file); const classes = useStyles(); return ( {modifierIconComponents.length > 0 && {modifierIconComponents}} {fileNameComponent} ); }); FileEntryName.displayName = 'FileEntryName'; const useStyles = makeLocalChonkyStyles((theme) => ({ modifierIcons: { color: theme.palette.text.primary, position: 'relative', fontSize: '0.775em', paddingRight: 5, }, }));