Spaces:
Paused
Paused
import { IconFileImport } from '@tabler/icons-react'; | |
import { FC } from 'react'; | |
import { useTranslation } from 'next-i18next'; | |
import { SupportedExportFormats } from '@/types/export'; | |
interface Props { | |
onImport: (data: SupportedExportFormats) => void; | |
} | |
export const Import: FC<Props> = ({ onImport }) => { | |
const { t } = useTranslation('sidebar'); | |
return ( | |
<> | |
<input | |
id="import-file" | |
className="sr-only" | |
tabIndex={-1} | |
type="file" | |
accept=".json" | |
onChange={(e) => { | |
if (!e.target.files?.length) return; | |
const file = e.target.files[0]; | |
const reader = new FileReader(); | |
reader.onload = (e) => { | |
let json = JSON.parse(e.target?.result as string); | |
onImport(json); | |
}; | |
reader.readAsText(file); | |
}} | |
/> | |
</> | |
); | |
}; | |