+ {/* Header */}
+
+
+
+ Gestão de Cursos e Turmas
+
+
+
+ Cadastre e gerencie os cursos/turmas disponíveis em cada universidade
+
+
+
+ {/* Course Form Modal */}
+ {showCourseForm && (
+
+ {
+ setShowCourseForm(false);
+ setEditingCourse(undefined);
+ }}
+ onSubmit={handleSubmitCourse}
+ initialData={editingCourse}
+ userId={user?.id || ''}
+ institutions={institutions}
+ />
+
+ )}
+
+
+ {/* Left Panel - Institutions Table */}
+
+
+
+
+
+
+ Universidades Cadastradas
+
+
+
+ {institutions.length} {institutions.length === 1 ? 'instituição' : 'instituições'}
+
+
+
+
+
+
+
+
+ |
+ Universidade
+ |
+
+ Tipo
+ |
+
+ Cursos
+ |
+
+ Ação
+ |
+
+
+
+ {institutions.length === 0 ? (
+
+ |
+ Nenhuma universidade cadastrada
+ |
+
+ ) : (
+ institutions.map((institution) => {
+ const coursesCount = getCoursesByInstitutionId(institution.id).length;
+ const isSelected = selectedInstitution === institution.id;
+
+ return (
+ setSelectedInstitution(isSelected ? null : institution.id)}
+ >
+ |
+
+ {institution.name}
+
+
+ {institution.address?.city}, {institution.address?.state}
+
+ |
+
+
+ {institution.type}
+
+ |
+
+ 0
+ ? 'bg-green-100 text-green-700'
+ : 'bg-gray-100 text-gray-500'
+ }`}>
+ {coursesCount}
+
+ |
+
+
+ |
+
+ );
+ })
+ )}
+
+
+
+
+
+ {/* Right Panel - Courses Table */}
+
+
+
+
+
+ {selectedInstitutionData ? (
+ <>Cursos - {selectedInstitutionData.name}>
+ ) : (
+ <>Cursos da Universidade>
+ )}
+
+ {selectedInstitutionData && (
+
+ {institutionCourses.length} {institutionCourses.length === 1 ? 'curso cadastrado' : 'cursos cadastrados'}
+
+ )}
+
+ {selectedInstitution && (
+
+ )}
+
+
+
+
+ {!selectedInstitution ? (
+
+
+
+ Selecione uma universidade para ver seus cursos
+
+
+ ) : institutionCourses.length === 0 ? (
+
+
+
+ Nenhum curso cadastrado nesta universidade
+
+
+
+ ) : (
+
+
+
+ |
+ Curso/Turma
+ |
+
+ Tipo
+ |
+
+ Período
+ |
+
+ Status
+ |
+
+ Ações
+ |
+
+
+
+ {institutionCourses.map((course) => (
+
+ |
+
+ {course.name}
+
+ |
+
+
+ {course.graduationType}
+
+ |
+
+
+ {course.year}/{course.semester}º
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+ ))}
+
+
+ )}
+
+
+
+