feat: Add event management features, including event editing and participant tracking; refactor layout and API integration

This commit is contained in:
miguel
2025-06-18 12:37:47 -06:00
parent f00bd8ac5e
commit b110109cb3
14 changed files with 316 additions and 198 deletions
+16 -2
View File
@@ -6,8 +6,10 @@ import MarkdownRenderer from './markdown-render';
export default function EventoCard({
evento,
user = 'public',
}: {
evento: GetEventoWithCuestionarios;
user?: 'public' | 'administrador' | 'staff';
}) {
const [verMas, setVerMas] = useState(false);
const descripcion = evento.descripcion_evento;
@@ -22,7 +24,15 @@ export default function EventoCard({
<div className="card card-blog d-flex flex-column justify-content-between">
<div>
<div className="card-image scale-hover-1">
<Link href={`/evento/${evento.id_evento}`}>
<Link
href={
user === 'public'
? `/evento/${evento.nombre_evento.split(' ').join('_')}/${
evento.id_evento
}/${evento.cuestionarios[0]?.id_cuestionario}`
: `/${user}/evento/${evento.id_evento}/${evento.cuestionarios[0]?.id_cuestionario}`
}
>
<Image
width={400}
height={300}
@@ -51,7 +61,11 @@ export default function EventoCard({
evento.cuestionarios.map((cuestionario) => (
<div key={cuestionario.id_cuestionario} className="">
<Link
href={`/evento/${evento.nombre_evento.split(' ').join('_')}/${evento.id_evento}/${cuestionario.id_cuestionario}`}
href={
user === 'public'
? `/evento/${evento.nombre_evento.split(' ').join('_')}/${evento.id_evento}/${cuestionario.id_cuestionario}`
: `/${user}/evento/${evento.id_evento}/${cuestionario.id_cuestionario}`
}
className="btn mt-2 w-100 btn-outline-primary"
>
{cuestionario.nombre_form}