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); | |
| }} | |
| /> | |
| </> | |
| ); | |
| }; | |