erp-platform/ui/src/components/classroom/Dashboard.tsx

39 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-08-26 08:39:09 +00:00
import { useEffect } from 'react'
import { useNavigate } from 'react-router-dom'
import { RoleSelector } from './RoleSelector'
import { useClassroomLogic } from '@/utils/hooks/useClassroomLogic'
import { useStoreState } from '@/store/store'
import { ROUTES_ENUM } from '@/routes/route.constant'
import { Room } from './Room'
export function Dashboard() {
const {
appState,
currentClass,
handleRoleSelect,
handleJoinClass,
handleLeaveClass,
handleCreateClass,
handleEditClass,
handleDeleteClass,
} = useClassroomLogic()
const navigate = useNavigate()
const { user } = useStoreState((state) => state.auth)
useEffect(() => {
if (appState === 'dashboard') {
navigate(ROUTES_ENUM.protected.admin.classroom.classes, { replace: true })
}
}, [appState, navigate])
if (appState === 'role-selection') {
return <RoleSelector onRoleSelect={handleRoleSelect} />
} else if (appState === 'dashboard') {
// Yönlendirme yapılacağı için burada içerik render etmiyoruz
return null
} else if (appState === 'classroom' && currentClass) {
return <Room classSession={currentClass} onLeaveClass={handleLeaveClass} />
}
return null
}