import React, { useState, useRef, useEffect } from 'react'; import './App.css'; import { VideoManagerLocal } from './utils/VideoManagerLocal'; import Home from './components/Home'; import FocusPageLocal from './components/FocusPageLocal'; import Achievement from './components/Achievement'; import Records from './components/Records'; import Customise from './components/Customise'; import Help from './components/Help'; function App() { const [activeTab, setActiveTab] = useState('home'); const videoManagerRef = useRef(null); const [isSessionActive, setIsSessionActive] = useState(false); const [sessionResult, setSessionResult] = useState(null); useEffect(() => { const callbacks = { onSessionStart: () => { setIsSessionActive(true); setSessionResult(null); }, onSessionEnd: (summary) => { setIsSessionActive(false); if (summary) setSessionResult(summary); } }; videoManagerRef.current = new VideoManagerLocal(callbacks); return () => { if (videoManagerRef.current) videoManagerRef.current.stopStreaming(); }; }, []); const renderMenuButton = (tabId, label) => ( ); return (
{activeTab === 'home' && } {activeTab === 'achievement' && } {activeTab === 'records' && } {activeTab === 'customise' && } {activeTab === 'help' && }
); } export default App;