import { useRef, useState } from 'react' import relayAdmin from '@/services/relay-admin.service' import { Button } from '@/components/ui/button' import { toast } from 'sonner' export default function ImportTab() { const [selectedFile, setSelectedFile] = useState(null) const [isImporting, setIsImporting] = useState(false) const fileRef = useRef(null) const handleImport = async () => { if (!selectedFile) return setIsImporting(true) try { const result = await relayAdmin.importEvents(selectedFile) toast.success(`Import complete: ${JSON.stringify(result)}`) setSelectedFile(null) if (fileRef.current) fileRef.current.value = '' } catch (e) { toast.error(`Import failed: ${e instanceof Error ? e.message : String(e)}`) } finally { setIsImporting(false) } } return (

Import Events

Upload a JSONL file to import events into the database.

setSelectedFile(e.target.files?.[0] || null)} className="block w-full text-sm file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-primary file:text-primary-foreground hover:file:bg-primary/80" />
) }