Files
front-AT/app/Components/ProgramSelector/ProgramSelector.tsx
T

113 lines
3.3 KiB
TypeScript
Raw Normal View History

2025-09-10 13:09:26 -06:00
// 1. Definimos la interfaz que describe las props del componente
export interface DatosEquipo {
titulo: string; // El título que aparecerá como label
opcion: string[]; // Lista de opciones para el select
}
// 2. Ya no necesitas tener "DatosOpciones" dentro de este archivo
// porque el componente debe ser reutilizable, no fijo.
2025-09-10 13:09:26 -06:00
// 3. Recibimos las props como un objeto con estructura DatosEquipo
function ProgramSelector({ titulo, opcion }: DatosEquipo) {
return (
<div>
<form className="form-container">
{/* Label dinámico con el título que recibimos */}
<label htmlFor="equipo">{titulo}</label>
2025-09-10 13:09:26 -06:00
{/* Renderizamos UN solo <select> con varias <option> */}
<select id="equipo">
{opcion.map((op, index) => (
<option key={index} value={op}>
{op}
</option>
))}
</select>
2025-09-10 13:09:26 -06:00
{/* Aquí puedes poner más <option> fijas si quieres */}
<option value="">Buscar</option>
2025-09-10 13:09:26 -06:00
{/* Lista de checkboxes (esto lo podrías optimizar igual con .map) */}
<div className="checkbox-grid">
<label>
<input type="checkbox" /> 3D MAX STUDIO 2014
</label>
<label>
<input type="checkbox" /> ADOBE CREATIVE SUITE
</label>
<label>
<input type="checkbox" /> ARCHICAD 20
</label>
<label>
<input type="checkbox" /> AUDACITY -win - 2.0
</label>
<label>
<input type="checkbox" /> AUTOCAD
</label>
<label>
<input type="checkbox" /> CODE-BLOCKS
</label>
<label>
<input type="checkbox" /> COREL DRAW
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> DEV-C++
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> EVIEWS Enterprise
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> Google Earth
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> INTERNERT
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> MAPLE
</label>
<label>
<input type="checkbox" /> MATHEMATICA
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> MATLAB
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> Maxima
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> miktex
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> NETBEANS
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> OFFICE 2016
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> PSeint
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> R 3.0.1
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> R Studio
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> SPPS Statiscs
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> STATA 13
2025-09-10 21:00:00 -04:00
</label>
2025-09-10 13:09:26 -06:00
<label>
<input type="checkbox" /> STATGRAOHICS Centurion XVI
</label>
</div>
2025-09-10 13:09:26 -06:00
<button className="button buttonSearch">Guardar cambios</button>
</form>
</div>
);
}
2025-09-10 13:09:26 -06:00
export default ProgramSelector;