import { useEffect } from 'react' import { Header } from '@/components/Header' import { UploadPanel } from '@/components/UploadPanel' import { TranscriptPanel } from '@/components/TranscriptPanel' import { SettingsPanel } from '@/components/SettingsPanel' import { Stepper } from '@/components/Stepper' import { ResultsSummary } from '@/components/ResultsSummary' import { ClaimsTable } from '@/components/ClaimsTable' import { EvidenceDrawer } from '@/components/EvidenceDrawer' import { TranscriptViewer } from '@/components/TranscriptViewer' import { RunHistory } from '@/components/RunHistory' import { useAppStore } from '@/store/appStore' export default function App() { const currentRun = useAppStore((s) => s.runs.find((r) => r.id === s.currentRunId)) const loadFromStorage = useAppStore((s) => s.loadFromStorage) useEffect(() => { loadFromStorage() }, [loadFromStorage]) return (
{currentRun?.report ? (
) : ( ) }
) } function SettingsTabs() { // Simple tabs without external lib for accessibility // 0: Upload, 1: Transcript, 2: Settings const tab = useAppStore((s) => s.ui.tab) const setTab = useAppStore((s) => s.setTab) return (
{tab === 0 && } {tab === 1 && } {tab === 2 && }
) } function EmptyState() { return (

Welcome to ClaimCheck.AI

Upload an audio file or paste a transcript to verify claims against your knowledge base. Use the sample data to explore the UI.

) } function SampleDataButton() { const loadSample = useAppStore((s) => s.loadSample) return ( ) }