diff --git a/management/src/components/ClassWorkspace.tsx b/management/src/components/ClassWorkspace.tsx index 544fc01..b34fc1c 100644 --- a/management/src/components/ClassWorkspace.tsx +++ b/management/src/components/ClassWorkspace.tsx @@ -457,6 +457,10 @@ export const ClassWorkspace: React.FC = ({ classId, sourceT avatar: st.avatar, }))} onlineIds={onlineIds} + onStudentClick={(rkId) => { + const orig = students.find((st) => st.rkId === rkId); + if (orig) setSelectedStudent(orig); + }} /> ) : (
diff --git a/management/src/components/ExamRoomWorkspace.tsx b/management/src/components/ExamRoomWorkspace.tsx index b39b991..88ac911 100644 --- a/management/src/components/ExamRoomWorkspace.tsx +++ b/management/src/components/ExamRoomWorkspace.tsx @@ -926,6 +926,10 @@ export const ExamRoomWorkspace: React.FC = ({ examId, onBack }) => { avatar: s.avatar, }))} onlineIds={onlineIds} + onStudentClick={(rkId) => { + const orig = students.find((s) => s.studentRkId === rkId); + if (orig) setSelectedStudent(toStudentItem(orig)); + }} /> ) : activeSubTab === 'grid' ? ( void; } interface SeatingLayout { @@ -25,6 +26,7 @@ export const WorkspaceSeatingChart: React.FC = ({ workspaceId, students, onlineIds, + onStudentClick, }) => { const [layout, setLayout] = useState(null); const [templates, setTemplates] = useState([]); @@ -329,7 +331,14 @@ export const WorkspaceSeatingChart: React.FC = ({ Khóa
) : student ? ( -
+
{ + if (!isEditingStructure && onStudentClick) { + onStudentClick(student.rkId); + } + }} + > {!isEditingStructure && (