import { useState, useEffect } from 'react'; import useLabStore from '../store/labStore'; import { studentLogin, getRoomClasses } from '../services/labApi'; export default function StudentLoginScreen() { const { serverUrl, roomToken, sessionToken, labInfo, setStudent } = useLabStore(); const [rollNumber, setRollNumber] = useState(''); const [className, setClassName] = useState(''); const [classes, setClasses] = useState([]); const [loadingClasses, setLoadingClasses] = useState(true); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); useEffect(() => { async function fetchClasses() { try { const list = await getRoomClasses(serverUrl, roomToken); setClasses(list); if (list.length === 1) setClassName(list[0]); } catch { } finally { setLoadingClasses(false); } } fetchClasses(); }, [serverUrl, roomToken]); const handleLogin = async (e) => { e.preventDefault(); setLoading(true); setError(''); try { const student = await studentLogin(serverUrl, sessionToken, rollNumber.trim(), className); setStudent(student); } catch (err) { setError(err.message); } finally { setLoading(false); } }; return (
{labInfo?.school_name}
Enter your details to start learning