import React, { useEffect } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { Container, Typography, Box, Button, Stack, Divider, } from '@mui/material'; import { useAuth } from '../../contexts/AuthContext'; import { EmailSignupForm } from './EmailSignupForm'; import { EmailCredentials } from '../../services/auth/authService'; import { RegistrationService } from '../../services/auth/registrationService'; import { logger } from '../../debugConfig'; import MicrosoftIcon from '@mui/icons-material/Microsoft.js'; const SignupPage: React.FC = () => { const location = useLocation(); const navigate = useNavigate(); const { user } = useAuth(); const registrationService = RegistrationService.getInstance(); // Get role from location state, default to teacher const { role = 'teacher' } = location.state || {}; const roleDisplay = role === 'teacher' ? 'Teacher' : 'Student'; logger.debug('signup-page', '🔍 Signup page loaded', { role, hasUser: !!user, }); useEffect(() => { if (user) { navigate('/dashboard'); } }, [user, navigate]); const handleSignup = async ( credentials: EmailCredentials, displayName: string ) => { try { const result = await registrationService.register( credentials, displayName ); if (result.user) { navigate('/dashboard'); } } catch (error) { logger.error('signup-page', '❌ Registration failed', error); throw error; } }; const switchRole = () => { navigate('/signup', { state: { role: role === 'teacher' ? 'student' : 'teacher' }, }); }; if (user) { return null; } return ( ClassroomCopilot.ai {roleDisplay} Sign Up OR ); }; export default SignupPage;