enhance(open):删除原有的打开文件夹功能。
This commit is contained in:
		| @@ -7,7 +7,6 @@ import { FC, useMemo } from 'react'; | |||||||
| import { useMount } from 'react-use'; | import { useMount } from 'react-use'; | ||||||
| import { DirTree } from './components/DirTree'; | import { DirTree } from './components/DirTree'; | ||||||
| import { FileList } from './components/FileList'; | import { FileList } from './components/FileList'; | ||||||
| import { FileToolbar } from './components/FileTools'; |  | ||||||
| import { loadDrives } from './queries/directories'; | import { loadDrives } from './queries/directories'; | ||||||
|  |  | ||||||
| const bgSelectFn = ifElse( | const bgSelectFn = ifElse( | ||||||
| @@ -59,7 +58,6 @@ export const NavMenu: FC = () => { | |||||||
|         </Tabs.Panel> |         </Tabs.Panel> | ||||||
|         <Tabs.Panel value="files" h="100%"> |         <Tabs.Panel value="files" h="100%"> | ||||||
|           <Stack spacing={8} py={4} w="100%" h="100%" align="center"> |           <Stack spacing={8} py={4} w="100%" h="100%" align="center"> | ||||||
|             <FileToolbar /> |  | ||||||
|             <FileList /> |             <FileList /> | ||||||
|           </Stack> |           </Stack> | ||||||
|         </Tabs.Panel> |         </Tabs.Panel> | ||||||
|   | |||||||
| @@ -1,48 +0,0 @@ | |||||||
| //@ts-nocheck |  | ||||||
| import { Button, Group, Tooltip } from '@mantine/core'; |  | ||||||
| import { notifications } from '@mantine/notifications'; |  | ||||||
| import { IconFolder } from '@tabler/icons-react'; |  | ||||||
| import { invoke } from '@tauri-apps/api'; |  | ||||||
| import { open } from '@tauri-apps/api/dialog'; |  | ||||||
| import EventEmitter from 'events'; |  | ||||||
| import { length } from 'ramda'; |  | ||||||
| import { FC, useCallback, useContext } from 'react'; |  | ||||||
| import { EventBusContext } from '../EventBus'; |  | ||||||
| import { useFileListStore } from '../states/files'; |  | ||||||
|  |  | ||||||
| export const FileToolbar: FC = () => { |  | ||||||
|   const storeFiles = useFileListStore.use.updateFiles(); |  | ||||||
|   const ebus = useContext<EventEmitter>(EventBusContext); |  | ||||||
|   const handleOpenAction = useCallback(async () => { |  | ||||||
|     try { |  | ||||||
|       const directory = await open({ |  | ||||||
|         title: '打开要浏览的漫画所在的文件夹', |  | ||||||
|         directory: true, |  | ||||||
|         multiple: false |  | ||||||
|       }); |  | ||||||
|       const files = await invoke('scan_directory', { target: directory }); |  | ||||||
|       console.log('[debug]获取到文件个数:', length(files)); |  | ||||||
|       storeFiles(files); |  | ||||||
|       ebus.emit('reset_views'); |  | ||||||
|     } catch (e) { |  | ||||||
|       console.error('[error]打开文件夹', e); |  | ||||||
|       notifications.show({ title: '未能成功打开指定文件夹,请重试。', color: 'red' }); |  | ||||||
|     } |  | ||||||
|   }, [storeFiles]); |  | ||||||
|  |  | ||||||
|   return ( |  | ||||||
|     <Group align="start" w="100%" spacing={4}> |  | ||||||
|       <Tooltip label="打开漫画所在文件夹"> |  | ||||||
|         <Button |  | ||||||
|           size="xs" |  | ||||||
|           variant="subtle" |  | ||||||
|           fullWidth |  | ||||||
|           leftIcon={<IconFolder stroke={1.5} size={14} />} |  | ||||||
|           onClick={handleOpenAction} |  | ||||||
|         > |  | ||||||
|           打开文件夹 |  | ||||||
|         </Button> |  | ||||||
|       </Tooltip> |  | ||||||
|     </Group> |  | ||||||
|   ); |  | ||||||
| }; |  | ||||||
		Reference in New Issue
	
	Block a user