import { ChatFolder, Conversation } from "@/types"; import { cleanConversationHistory } from "@/utils/app/clean"; import { IconFileImport } from "@tabler/icons-react"; import { FC } from "react"; import { SidebarButton } from "./SidebarButton"; import { useTranslation } from "next-i18next"; interface Props { onImport: (data: { conversations: Conversation[]; folders: ChatFolder[] }) => void; } export const Import: FC = ({ onImport }) => { const { t} = useTranslation('sidebar') return ( <> { 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); if (!json.folders) { json = { history: cleanConversationHistory(json), folders: [] }; } onImport({ conversations: json.history, folders: json.folders }); }; reader.readAsText(file); }} /> } onClick={() => { const importFile = document.querySelector("#import-file") as HTMLInputElement; if (importFile) { importFile.click(); } }} /> ); };