Xenova's picture
Xenova HF Staff
Upload 20 files
be54278 verified
import { useVoxtral } from "./components/VoxtralContext";
import { VoxtralProvider } from "./components/VoxtralProvider";
import { LandingPage } from "./components/LandingPage";
import { LoadingPage } from "./components/LoadingPage";
import { RunningPage } from "./components/RunningPage";
const PAGE_BY_STATUS = {
idle: LandingPage,
loading: LoadingPage,
error: LoadingPage,
ready: RunningPage,
recording: RunningPage,
} as const;
const AppContent = () => {
const { status } = useVoxtral();
const Page = PAGE_BY_STATUS[status];
return <Page />;
};
const App = () => {
return (
<VoxtralProvider>
<AppContent />
</VoxtralProvider>
);
};
export default App;