//@ts-nocheck import { Box, Center, Text } from '@mantine/core'; import EventEmitter from 'events'; import { includes, isEmpty, map, not, pipe, sort } from 'ramda'; import { FC, useCallback, useContext } from 'react'; import { EventBusContext } from '../EventBus'; import { useFileListStore } from '../states/files'; export const FileList: FC = () => { const files = useFileListStore.use.files(); const activeFiles = useFileListStore.use.actives(); const ebus = useContext(EventBusContext); const handleFileSelectAction = useCallback( (filename: string) => { ebus.emit('navigate_offset', { filename }); }, [ebus] ); return ( {pipe( sort((fa, fb) => fa.sort - fb.sort), map(item => ( handleFileSelectAction(item.filename)} sx={theme => ({ cursor: 'pointer', '&:hover': { color: not(includes(item.filename, activeFiles)) && theme.colors.red } })} > {item.filename} )) )(files)} {isEmpty(files) && (
请先打开一个文件夹。
)}
); };