diff --git a/src-web/components/ImportDataDialog.tsx b/src-web/components/ImportDataDialog.tsx index 359318436..e0b6adc59 100644 --- a/src-web/components/ImportDataDialog.tsx +++ b/src-web/components/ImportDataDialog.tsx @@ -1,16 +1,23 @@ +import { open } from '@tauri-apps/plugin-dialog'; import { useState } from 'react'; -import { useLocalStorage } from 'react-use'; import { Button } from './core/Button'; import { VStack } from './core/Stacks'; -import { SelectFile } from './SelectFile'; interface Props { - importData: (filePath: string) => Promise; + importData: (filePaths: string[]) => Promise; } export function ImportDataDialog({ importData }: Props) { const [isLoading, setIsLoading] = useState(false); - const [filePath, setFilePath] = useLocalStorage('importFilePath', null); + const [filePaths, setFilePaths] = useState([]); + + const handleSelectFiles = async () => { + const result = await open({ title: 'Select File(s)', multiple: true }); + if (result == null) return; + setFilePaths(Array.isArray(result) ? result : [result]); + }; + + const fileCount = filePaths.length; return ( @@ -26,20 +33,21 @@ export function ImportDataDialog({ importData }: Props) { - setFilePath(filePath)} - /> - {filePath && ( + + {fileCount > 0 && (