Skip to content

Commit

Permalink
feat: paginas de listado de alumnos que cursan una materia
Browse files Browse the repository at this point in the history
  • Loading branch information
MirandaAriano committed Sep 23, 2024
1 parent cec7ee5 commit 6808791
Show file tree
Hide file tree
Showing 24 changed files with 798 additions and 108 deletions.
194 changes: 109 additions & 85 deletions FrontAdmin/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion FrontAdmin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@
"eslint-plugin-react-refresh": "^0.4.6",
"prettier": "^3.3.3",
"typescript": "^5.5.4",
"vite": "^5.4.0"
"vite": "^5.4.7"
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useState, ChangeEvent } from 'react';
import { useNavigate, Outlet } from 'react-router-dom';
import { useNavigate, Outlet, useLocation } from 'react-router-dom';
import {
Container,
Box,
Expand Down Expand Up @@ -27,7 +27,7 @@ const materias: Record<Cuatrimestre, string[]> = {
'Organización Empresarial',
'Programación III',
'Base de Datos II',
'Metodología de Sistemas II',
'Metodología de Sistemas I',
'Ingles II',
],
'segundo-cuatrimestre': [
Expand All @@ -52,6 +52,7 @@ interface MateriaLink {
const ListadoMaterias: React.FC = () => {
const [cuatrimestre, setSemester] = useState<Cuatrimestre | ''>('');
const navigate = useNavigate();
const location = useLocation();

const handleSemesterChange = (event: ChangeEvent<HTMLSelectElement>) => {
setSemester(event.target.value as Cuatrimestre);
Expand All @@ -63,30 +64,39 @@ const ListadoMaterias: React.FC = () => {
);

if (materiaLink) {
const url = `${materiaLink.url}`;
navigate(url);
navigate(materiaLink.url);
} else {
console.error('URL de materia no encontrada para:', materia);
}
};

const filteredSubjects = cuatrimestre ? materias[cuatrimestre] : [];

// Extrae los paths de LINK_MATERIAS
const detailPaths = LINK_MATERIAS.map(link => link.url);

// Verifica si la ruta actual incluye alguno de los paths de detalle
const isInDetailView = detailPaths.some(path => location.pathname.includes(path));

return (
<Container maxW="container.md" p={4}>
<VStack spacing={6} align="start">
<Heading as="h1" size="lg">
Listado de Materias
</Heading>
<Box w="full">
<CustomSelect
placeholder="Seleccionar Cuatrimestre"
options={opcionesCuatrimestre}
value={cuatrimestre}
onChange={handleSemesterChange}
/>
</Box>
{cuatrimestre && (
{!isInDetailView && ( // Solo muestra el título si no estamos en una vista de detalle
<Heading as="h1" size="lg">
Listado de Materias
</Heading>
)}
{!isInDetailView && ( // Solo muestra el select si no estamos en una vista de detalle
<Box w="full">
<CustomSelect
placeholder="Seleccionar Cuatrimestre"
options={opcionesCuatrimestre}
value={cuatrimestre}
onChange={handleSemesterChange}
/>
</Box>
)}
{!isInDetailView && cuatrimestre && ( // Solo muestra la lista si no estamos en una vista de detalle
<Box w="full">
<List spacing={3}>
{filteredSubjects.map((materia) => (
Expand All @@ -105,6 +115,7 @@ const ListadoMaterias: React.FC = () => {
</List>
</Box>
)}
<Outlet />
</VStack>
</Container>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const ArquitecturaSO = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default ArquitecturaSO;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const BaseDeDatos = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default BaseDeDatos;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const BaseDeDatosDos = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default BaseDeDatosDos;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const GestionDS = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default GestionDS;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const Ingles = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default Ingles;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const InglesDos = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default InglesDos;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const IntroduccionAnalisisDatos = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default IntroduccionAnalisisDatos;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const Legislacion = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default Legislacion;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const Matematica = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default Matematica;
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from 'react';
import Tabla from './Tabla';

const MetodologiaSistemas = () => {
const headers = ['Nombre', 'Legajo', 'DNI', 'Situación', 'Año Ingreso'];

const data = [
{
Nombre: 'Juan Pérez',
Legajo: '12345',
DNI: '12345678',
Situación: { status: 'Habilitado' },
'Año Ingreso': '2022',
},
{
Nombre: 'María García',
Legajo: '67890',
DNI: '87654321',
Situación: { status: 'Inhabilitado' },
'Año Ingreso': '2021',
},
// Agrega más datos según sea necesario
];

return <Tabla headers={headers} data={data} />;
};

export default MetodologiaSistemas;
Loading

0 comments on commit 6808791

Please sign in to comment.