'use client'; import { GetEventoWithCuestionarios } from '@/types/evento'; import Image from 'next/image'; import Link from 'next/link'; import React, { useState } from 'react'; 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 ?? ''; const limite = 100; const descripcionRecortada = descripcion.length > limite && !verMas ? `${descripcion.slice(0, limite)}...` : descripcion; return (
Banner formulario
{evento.nombre_evento}
{evento.cuestionarios[0]?.cupo_maximo === null ? ( Sin límite ) : ( {evento.cuestionarios[0]?.cupos_disponibles} cupos disponibles )} {descripcion.length > limite && ( )}
{evento.cuestionarios.length > 0 && evento.cuestionarios.map((cuestionario) => (
{user === 'administrador' || user === 'staff' ? ( Ver evento ) : cuestionario.cupos_disponibles === 0 && cuestionario.cupo_maximo !== null ? ( ) : ( Regístrate )}
))}
); }