{% extends 'base.html.twig' %}
{% block body %}
{% if pendienteActualizacion %}
<div class="alert alert-warning alert-dismissible fade show mx-3 mt-3" role="alert">
<div class="d-flex align-items-start">
<i class="la la-exclamation-triangle mr-2 mt-1" style="font-size:1.3rem;color:#f4a900;flex-shrink:0"></i>
<div style="flex:1">
<strong>Actualización de datos pendiente</strong><br>
<small class="text-muted">El equipo UC solicita que actualices tu información personal antes de continuar.</small>
<div class="mt-2">
<a href="{{ path('app_embajadores_actualiza', {'id': embajador.id}) }}" class="btn btn-warning btn-sm">
<i class="la la-edit"></i> Actualizar mis datos
</a>
</div>
</div>
<button type="button" class="close ml-2 mt-0" data-dismiss="alert"><span>×</span></button>
</div>
</div>
{% endif %}
<div class="m-content emb-content">
<div class="m-portlet m-portlet--full-height">
<div class="m-portlet__head">
<div class="m-portlet__head-caption">
<div class="m-portlet__head-title">
<h3 class="m-portlet__head-text">Actividades disponibles</h3>
</div>
</div>
</div>
<div class="m-portlet__body px-2 py-3">
{% set activo = 1 %}
{% if embajador.tags %}
{% for tag in embajador.tags %}
{% if tag.nombre == "temporal" %}{% set activo = 0 %}{% endif %}
{% endfor %}
{% endif %}
{% set hay_eventos = false %}
{% for agenda in agendas|sort((b, a) => a.fecha <=> b.fecha) %}
{% if agenda.archivada != 1 and (activo == 1 or agenda.temporales == 1) %}
{% set hay_eventos = true %}
{% set estado_post = agenda.postulado(iduser) %}
{% set card_id = 'ev' ~ loop.index %}
<div class="emb-card{% if estado_post != 0 %} emb-card--activo{% endif %}">
<div class="emb-card__date">
<span class="emb-card__day">{{ agenda.fecha ? agenda.fecha|date('d') : '?' }}</span>
<span class="emb-card__month">{{ agenda.fecha ? agenda.fecha|date('M')|upper : '' }}</span>
</div>
<div class="emb-card__body">
<div class="emb-card__meta">
{% if agenda.tipoagenda %}<span class="badge badge-primary emb-badge">{{ agenda.tipoagenda.nombre }}</span>{% endif %}
{% if agenda.roles %}<span class="badge badge-warning emb-badge">Con roles</span>{% endif %}
</div>
<div class="emb-card__time">
{{ agenda.fecha ? agenda.fecha|date('H:i') : '' }}{% if agenda.hasta %} – {{ agenda.hasta|date('H:i') }}{% endif %}
</div>
<div class="emb-card__place">{{ agenda.lugar ?: 'Sin lugar asignado' }}</div>
<div class="mt-2">
{% if estado_post == 0 %}
{% if agenda.roles %}
<a href="{{ path('app_embajador_participante_newrol', {'id': agenda.id}) }}" class="btn btn-primary btn-sm emb-btn">
<i class="la la-check"></i> Postular
</a>
{% else %}
<a href="{{ path('app_embajador_participante_postular', {'id': agenda.id}) }}" class="btn btn-primary btn-sm emb-btn">
<i class="la la-check"></i> Postular
</a>
{% endif %}
{% elseif estado_post == "pendiente seleccion" %}
<a href="{{ path('app_embajador_participante_delete_byuser', {'id': agenda.postuladoid(iduser)}) }}"
class="btn btn-outline-danger btn-sm emb-btn">
<i class="la la-times"></i> Cancelar postulación
</a>
{% elseif estado_post == "no seleccionado" %}
<span class="badge badge-secondary py-1 px-2">No seleccionado</span>
{% else %}
<span class="badge badge-success py-1 px-2"><i class="la la-check"></i> {{ estado_post }}</span>
{% endif %}
</div>
<a class="emb-toggle" href="#" onclick="embToggle('{{ card_id }}',this);return false;" aria-expanded="false">
<i class="la la-angle-down emb-toggle__icon"></i> Ver detalles
</a>
</div>
</div>
<div class="emb-collapse" id="{{ card_id }}" style="display:none">
<div class="emb-details">
<div class="row no-gutters">
{% if agenda.monto %}
<div class="col-6 emb-detail-item">
<span class="emb-detail-label">Monto</span>
<strong class="emb-detail-value" style="color:#5867dd">{{ agenda.monto }}</strong>
</div>
{% endif %}
{% if agenda.encargado %}
<div class="col-6 emb-detail-item">
<span class="emb-detail-label">Encargado</span>
<strong class="emb-detail-value">{{ agenda.encargado }}</strong>
</div>
{% endif %}
{% if agenda.taxi %}
<div class="col-6 emb-detail-item">
<span class="emb-detail-label">Taxi</span>
<strong class="emb-detail-value">{{ agenda.horariotaxi ?: 'Por confirmar' }}</strong>
</div>
{% endif %}
{% if agenda.bus %}
<div class="col-6 emb-detail-item">
<span class="emb-detail-label">Bus</span>
<strong class="emb-detail-value">{{ agenda.bus }}</strong>
</div>
{% endif %}
{% if agenda.nAlumnos %}
<div class="col-6 emb-detail-item">
<span class="emb-detail-label">Alumnos</span>
<strong class="emb-detail-value">{{ agenda.nAlumnos }}</strong>
</div>
{% endif %}
{% if agenda.direccion %}
<div class="col-12 emb-detail-item">
<span class="emb-detail-label">Dirección</span>
<strong class="emb-detail-value">
{{ agenda.direccion }}{% if agenda.tipoAgenda and agenda.tipoAgenda.nombre != "Charla Zoom" %}, {{ agenda.comuna }}{% endif %}
</strong>
</div>
{% endif %}
{% if agenda.colegioParticipantes|length > 0 %}
<div class="col-12 emb-detail-item">
<span class="emb-detail-label">Colegios</span>
<div style="display:flex;flex-direction:column;gap:4px;margin-top:4px">
{% for cp in agenda.colegioParticipantes %}
{% if cp.colegio %}
<div style="display:flex;justify-content:space-between;align-items:center;background:#f8f9fc;border-radius:6px;padding:5px 10px;gap:8px">
<span style="font-size:11px;font-weight:600;color:#1a1a2e">{{ cp.colegio.nombre }}</span>
<span style="font-size:10px;font-weight:600;color:#6b7280;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1px 8px;white-space:nowrap;flex-shrink:0">
{{ cp.colegio.dependencia ? cp.colegio.dependencia.nombre : 'Por confirmar' }}
</span>
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
</div>
</div>
</div>
{% endif %}
{% endfor %}
{% if not hay_eventos %}
<div class="text-center py-5 text-muted">
<i class="la la-calendar-o" style="font-size:3rem;display:block;margin-bottom:12px;opacity:.4"></i>
No hay actividades abiertas por ahora
</div>
{% endif %}
</div>
</div>
</div>
<nav class="emb-bottom-nav">
<a href="{{ path('agenda_index_estudiante') }}" class="emb-bottom-nav__item emb-bottom-nav__item--active">
<i class="la la-calendar"></i>
<span>Disponibles</span>
</a>
<a href="{{ path('agenda_index_estudiante_confirmadas') }}" class="emb-bottom-nav__item">
<i class="la la-check-circle"></i>
<span>Confirmadas</span>
</a>
<a href="{{ path('agenda_index_estudiante_historicas') }}" class="emb-bottom-nav__item">
<i class="la la-history"></i>
<span>Historial</span>
</a>
</nav>
<style>
.emb-content { padding-bottom: 80px !important; }
.emb-card {
display: flex; gap: 12px;
background: #fff;
border: 1px solid #e8ecf0;
border-radius: 8px;
padding: 14px 12px;
margin-bottom: 6px;
}
.emb-card__date {
display: flex; flex-direction: column; align-items: center;
justify-content: flex-start; min-width: 38px; padding-top: 2px;
}
.emb-card__day { font-size: 1.45rem; font-weight: 700; color: #1a1a2e; line-height: 1; }
.emb-card__month { font-size: 0.62rem; font-weight: 700; text-transform: uppercase; color: #74788d; letter-spacing: .5px; }
.emb-card__body { flex: 1; min-width: 0; }
.emb-card__meta { margin-bottom: 3px; }
.emb-badge { font-size: 10px; margin-right: 3px; }
.emb-card__time { font-size: 0.78rem; color: #5867dd; font-weight: 600; }
.emb-card__place { font-size: 0.85rem; color: #333; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.emb-btn { font-size: 0.78rem; padding: 3px 10px; }
.emb-toggle { font-size: 0.75rem; color: #74788d; display: inline-block; margin-top: 6px; cursor: pointer; text-decoration: none; }
.emb-toggle:hover { text-decoration: none; color: #5867dd; }
.emb-toggle__icon { transition: transform .2s; display: inline-block; }
.emb-toggle--open .emb-toggle__icon { transform: rotate(180deg); }
.emb-collapse {
background: #f8f9fc; border: 1px solid #e8ecf0; border-top: 0;
border-radius: 0 0 8px 8px; margin-top: -6px; margin-bottom: 6px;
}
.emb-details { padding: 10px 12px; }
.emb-detail-item { padding: 5px 6px; }
.emb-detail-label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .5px; color: #74788d; font-weight: 600; }
.emb-detail-value { display: block; font-size: 0.85rem; color: #1a1a2e; }
.emb-bottom-nav {
position: fixed; bottom: 0; left: 0; right: 0; height: 62px;
background: #fff; border-top: 1px solid #e2e5ec;
display: flex; z-index: 1050;
box-shadow: 0 -2px 12px rgba(0,0,0,.08);
}
.emb-bottom-nav__item {
flex: 1; display: flex; flex-direction: column;
align-items: center; justify-content: center;
font-size: 0.62rem; font-weight: 600; color: #74788d;
text-decoration: none; gap: 2px; transition: color .15s;
}
.emb-bottom-nav__item i { font-size: 1.25rem; }
.emb-bottom-nav__item--active { color: #5867dd; border-top: 2px solid #5867dd; }
.emb-bottom-nav__item:hover { color: #5867dd; text-decoration: none; }
</style>
<script>
function embToggle(id, btn) {
var panel = document.getElementById(id);
var open = panel.style.display !== 'none';
panel.style.display = open ? 'none' : 'block';
btn.classList.toggle('emb-toggle--open', !open);
}
</script>
{% endblock %}