import React, { useState, useEffect } from 'react'; import { useAuth } from './hooks.tsx'; import { useNavigate } from 'react-router'; import { Role, ClassStatus } from './components/Classroom/useClassroom.ts'; // import { TeacherView } from './components/Classroom/TeacherView.tsx'; // import { StudentView } from './components/Classroom/StudentView.tsx'; import { ClassroomLayout } from './components/Classroom/ClassroomLayout.tsx'; import { AuthLayout } from './components/Classroom/AuthLayout.tsx'; import { ClassroomProvider, useClassroomContext } from "./components/Classroom/ClassroomProvider.tsx"; import { ToastContainer } from 'react-toastify'; const RoleSelection = () => { const { setRole, login } = useClassroomContext(); const chooseRole = (role: Role) => { setRole(role); login(role); } return (

请选择您的角色

); }; const JoinClassSection = () => { const { joinClass } = useClassroomContext(); const [classId, setClassId] = useState(''); const handleJoinClass = async () => { if (!classId.trim()) return; await joinClass(classId); }; return (

加入课堂

setClassId(e.target.value)} placeholder="输入课堂ID" className="flex-1 px-3 py-2 border rounded" />
); }; const CreateClassSection = () => { const { classStatus, createClass, className, setClassName, role } = useClassroomContext(); const navigate = useNavigate(); const handleCreateClass = async () => { if (!className.trim()) return; const classId = await createClass(className); if (classId) { navigate(`/mobile/classroom/${classId}/${role === Role.Teacher ? Role.Teacher : Role.Student}`, { replace: true }); } }; if (classStatus !== ClassStatus.NOT_STARTED) return null; return (

创建新课堂

setClassName(e.target.value)} placeholder="输入课堂名称" className="flex-1 px-3 py-2 border rounded" />
); }; const Classroom = () => { const context = useClassroomContext(); const { role, classStatus, isLoggedIn, login, classId, joinClass } = context; useEffect(() => { if (!isLoggedIn && role && classId) { (async () => { await login(role); await joinClass(classId); })() } }, [isLoggedIn, role , classId]); if (!role) { return ( ); } if (!isLoggedIn) { return (

正在自动登录中...

); } if (role === Role.Teacher && !context.isJoinedClass && !classId) { return ( <> ); } if (role === Role.Student && !context.isJoinedClass && !classId) { return ( <> ); } if (classStatus === ClassStatus.ENDED) { return (

课堂已结束

感谢参与本次课堂

); } return ( {/* {role === Role.Teacher ? : } */} <> ); }; export const ClassroomPage = () => { const { user } = useAuth(); return ( <> ) }