<?php /* @var \dokuwiki\plugin\bez\meta\Tpl $tpl */ ?>

<!-- Estilos para Control Administrativo -->
<style>
    /* Barra de progreso */
    .admin-progress-bar-container {
        position: relative;
        height: 20px;
        width: 100%;
        max-width: 200px;
        background: #c8bfbf;
        border-radius: 10px;
        overflow: hidden;
    }

    .admin-progress-bar {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        font-size: 12px;
        transition: width 0.3s ease;
    }

    .admin-progress-blue { background: #2196f3; }
    .admin-progress-green { background: #4caf50; }
    .admin-progress-orange { background: #ff9800; }
    .admin-progress-red { background: #f44336; }

    /* Botones de accion */
    .admin-ctrl-buttons {
        display: flex;
        gap: 10px;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

    .admin-ctrl-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 18px;
        border-radius: 6px;
        font-weight: 600;
        text-decoration: none;
        cursor: pointer;
        border: none;
        transition: all 0.2s ease;
    }

    .admin-ctrl-btn-primary {
        background: #2196f3;
        color: white;
    }

    .admin-ctrl-btn-primary:hover {
        background: #1976d2;
        color: white;
    }

    .admin-ctrl-btn-success {
        background: #4caf50;
        color: white;
    }

    .admin-ctrl-btn-success:hover {
        background: #388e3c;
        color: white;
    }

    .admin-ctrl-btn-warning {
        background: #ff9800;
        color: white;
    }

    .admin-ctrl-btn-warning:hover {
        background: #f57c00;
        color: white;
    }

    /* Tabla de aplicadores */
    .admin-ctrl-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 20px;
    }

    .admin-ctrl-table th,
    .admin-ctrl-table td {
        padding: 12px;
        text-align: left;
        border: 1px solid #ddd;
    }

    .admin-ctrl-table th {
        background: #f5f5f5;
        font-weight: 600;
    }

    .admin-ctrl-table tr:hover {
        background: #f9f9f9;
    }

    .admin-ctrl-table .principal-row {
        background: #e3f2fd;
    }

    .admin-ctrl-table .principal-row:hover {
        background: #bbdefb;
    }

    /* Tarjetas de grupo */
    .admin-ctrl-grupo-card {
        border: 1px solid #ddd;
        border-radius: 8px;
        margin-bottom: 20px;
        overflow: hidden;
    }

    .admin-ctrl-grupo-header {
        background: #3f51b5;
        color: white;
        padding: 15px 20px;
        font-weight: 600;
        font-size: 1.1em;
    }

    .admin-ctrl-grupo-content {
        padding: 20px;
    }

    /* Badge */
    .admin-ctrl-badge {
        display: inline-block;
        padding: 3px 8px;
        border-radius: 12px;
        font-size: 0.85em;
        font-weight: 500;
    }

    .admin-ctrl-badge-firma {
        background: #e3f2fd;
        color: #1565c0;
    }

    .admin-ctrl-badge-trabajador {
        background: #f3e5f5;
        color: #7b1fa2;
    }

    /* Acciones de tabla */
    .admin-ctrl-actions {
        display: flex;
        gap: 8px;
    }

    .admin-ctrl-action-btn {
        padding: 4px 10px;
        border-radius: 4px;
        font-size: 0.85em;
        text-decoration: none;
        cursor: pointer;
        border: none;
    }

    .admin-ctrl-action-edit {
        background: #fff3e0;
        color: #e65100;
    }

    .admin-ctrl-action-edit:hover {
        background: #ffe0b2;
    }

    .admin-ctrl-action-delete {
        background: #ffebee;
        color: #c62828;
    }

    .admin-ctrl-action-delete:hover {
        background: #ffcdd2;
    }

    /* Filtros */
    .admin-ctrl-filters {
        background: #f5f5f5;
        padding: 15px 20px;
        border-radius: 8px;
        margin-bottom: 20px;
    }

    .admin-ctrl-filters label {
        margin-right: 15px;
    }

    .admin-ctrl-filters select {
        padding: 8px 12px;
        border-radius: 4px;
        border: 1px solid #ddd;
    }

    /* Titulo seccion */
    .admin-ctrl-section-title {
        font-size: 1.3em;
        font-weight: 600;
        color: #333;
        margin: 30px 0 15px;
        padding-bottom: 10px;
        border-bottom: 2px solid #3f51b5;
    }
</style>

<h1>Control Administrativo</h1>

<!-- Botones de accion principales -->
<div class="admin-ctrl-buttons">
    <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'aplicador') ?>" class="admin-ctrl-btn admin-ctrl-btn-primary">
        + Nuevo Aplicador
    </a>
    <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'grupo') ?>" class="admin-ctrl-btn admin-ctrl-btn-success">
        + Nuevo Grupo
    </a>
    <a href="<?php echo $tpl->url('admin_control_form', 'tipo', 'item') ?>" class="admin-ctrl-btn admin-ctrl-btn-warning">
        + Nuevo Item
    </a>
</div>

<!-- Filtros -->
<div class="admin-ctrl-filters">
    <form action="<?php echo $tpl->url('admin_controls') ?>" method="post">
        <label>Grupo:
            <select name="grupo">
                <option value="-all" <?php if ($tpl->value('grupo') === '-all') echo 'selected' ?>>
                    --- Todos los grupos ---
                </option>
                <?php foreach ($tpl->get('grupos') as $grupo): ?>
                    <option value="<?php echo $grupo['id'] ?>"
                        <?php if ($tpl->value('grupo') == $grupo['id']) echo 'selected' ?>>
                        <?php echo htmlspecialchars($grupo['nombre']) ?>
                    </option>
                <?php endforeach ?>
            </select>
        </label>
        <input type="submit" value="Filtrar" class="admin-ctrl-btn admin-ctrl-btn-primary" style="padding: 8px 16px;">
    </form>
</div>

<!-- Listado de Aplicadores con Progreso -->
<h2 class="admin-ctrl-section-title">Progreso por Aplicador</h2>

<table class="admin-ctrl-table">
    <thead>
        <tr>
            <th style="width: 25%;">Aplicador</th>
            <th style="width: 10%;">Tipo</th>
            <?php foreach ($tpl->get('grupos') as $grupo): ?>
                <?php
                $grupoActual = $tpl->get('grupoActual');
                if ($grupoActual && $grupoActual != $grupo['id']) continue;
                ?>
                <th><?php echo htmlspecialchars($grupo['nombre']) ?></th>
            <?php endforeach ?>
            <th style="width: 12%;">Acciones</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($tpl->get('datosProgreso') as $aplicador): ?>
            <tr class="<?php echo $aplicador['es_principal'] ? 'principal-row' : '' ?>">
                <td>
                    <strong><?php echo htmlspecialchars($aplicador['nombre']) ?></strong>
                    <?php if ($aplicador['es_principal']): ?>
                        <span style="color: #1565c0; font-size: 0.9em;">(Principal)</span>
                    <?php endif ?>
                </td>
                <td>
                    <span class="admin-ctrl-badge admin-ctrl-badge-<?php echo $aplicador['tipo'] ?>">
                        <?php echo $aplicador['tipo'] === 'firma' ? 'Firma' : 'Trabajador' ?>
                    </span>
                </td>
                <?php foreach ($tpl->get('grupos') as $grupo): ?>
                    <?php
                    $grupoActual = $tpl->get('grupoActual');
                    if ($grupoActual && $grupoActual != $grupo['id']) continue;

                    $grupoData = $aplicador['grupos'][$grupo['id']];
                    $porcentaje = $grupoData['porcentaje'];

                    // Determinar color
                    $colorClass = 'admin-progress-red';
                    if ($porcentaje == 100) {
                        $colorClass = 'admin-progress-green';
                    } elseif ($porcentaje >= 50) {
                        $colorClass = 'admin-progress-blue';
                    } elseif ($porcentaje >= 30) {
                        $colorClass = 'admin-progress-orange';
                    }
                    ?>
                    <td>
                        <div style="display: flex; align-items: center; gap: 10px;">
                            <span style="width: 45px;"><?php echo number_format($porcentaje, 0) ?>%</span>
                            <div class="admin-progress-bar-container">
                                <div class="admin-progress-bar <?php echo $colorClass ?>"
                                     style="width: <?php echo max(1, $porcentaje) ?>%;">
                                </div>
                            </div>
                            <span style="font-size: 0.85em; color: #666;">
                                (<?php echo $grupoData['completados'] ?>/<?php echo $grupoData['total'] ?>)
                            </span>
                        </div>
                    </td>
                <?php endforeach ?>
                <td>
                    <div class="admin-ctrl-actions">
                        <a href="<?php echo $tpl->url('admin_control_form', 'action', 'edit', 'tipo', 'aplicador', 'id', $aplicador['id']) ?>"
                           class="admin-ctrl-action-btn admin-ctrl-action-edit">
                            Editar
                        </a>
                        <?php if (!$aplicador['es_principal']): ?>
                            <a href="<?php echo $tpl->url('admin_control_form', 'action', 'delete', 'tipo', 'aplicador', 'id', $aplicador['id']) ?>"
                               class="admin-ctrl-action-btn admin-ctrl-action-delete"
                               onclick="return confirm('Esta seguro de eliminar este aplicador?');">
                                Eliminar
                            </a>
                        <?php endif ?>
                    </div>
                </td>
            </tr>
        <?php endforeach ?>
    </tbody>
</table>

<!-- Listado de Grupos -->
<h2 class="admin-ctrl-section-title">Grupos de Control</h2>

<?php foreach ($tpl->get('grupos') as $grupo): ?>
    <?php
    $grupoActual = $tpl->get('grupoActual');
    if ($grupoActual && $grupoActual != $grupo['id']) continue;

    // Obtener items del grupo
    $db_helper = plugin_load('helper', 'bez_db');
    $sqlite = $db_helper->getDB();
    require_once(DOKU_PLUGIN . 'bez/mdl/AdminControlHelper.php');
    $adminHelper = new AdminControlHelper($sqlite);
    $items = $adminHelper->getItemsDeGrupo($grupo['id']);
    ?>
    <div class="admin-ctrl-grupo-card">
        <div class="admin-ctrl-grupo-header">
            <?php echo htmlspecialchars($grupo['nombre']) ?>
            <?php if ($grupo['descripcion']): ?>
                <span style="font-weight: normal; font-size: 0.9em; opacity: 0.9;">
                    - <?php echo htmlspecialchars($grupo['descripcion']) ?>
                </span>
            <?php endif ?>
            <div style="float: right;">
                <a href="<?php echo $tpl->url('admin_control_form', 'action', 'edit', 'tipo', 'grupo', 'id', $grupo['id']) ?>"
                   style="color: white; margin-right: 10px; text-decoration: underline;">Editar</a>
            </div>
        </div>
        <div class="admin-ctrl-grupo-content">
            <?php if (empty($items)): ?>
                <p style="color: #666; font-style: italic;">No hay items en este grupo.</p>
            <?php else: ?>
                <table class="admin-ctrl-table" style="margin-top: 0;">
                    <thead>
                        <tr>
                            <th style="width: 5%;">Orden</th>
                            <th style="width: 30%;">Nombre</th>
                            <th style="width: 35%;">Ruta Wiki</th>
                            <th style="width: 12%;">Tipo</th>
                            <th style="width: 18%;">Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($items as $item): ?>
                            <tr>
                                <td><?php echo $item['orden'] ?></td>
                                <td><?php echo htmlspecialchars($item['nombre']) ?></td>
                                <td>
                                    <a href="<?php echo wl($item['ruta_wiki']) ?>" target="_blank">
                                        <?php echo htmlspecialchars($item['ruta_wiki']) ?>
                                    </a>
                                </td>
                                <td>
                                    <span class="admin-ctrl-badge <?php echo $item['tipo'] === 'actividad' ? 'admin-ctrl-badge-firma' : 'admin-ctrl-badge-trabajador' ?>">
                                        <?php echo $item['tipo'] === 'actividad' ? 'Actividad' : 'Registro' ?>
                                    </span>
                                </td>
                                <td>
                                    <div class="admin-ctrl-actions">
                                        <a href="<?php echo $tpl->url('admin_control_form', 'action', 'edit', 'tipo', 'item', 'id', $item['id']) ?>"
                                           class="admin-ctrl-action-btn admin-ctrl-action-edit">
                                            Editar
                                        </a>
                                        <a href="<?php echo $tpl->url('admin_control_form', 'action', 'delete', 'tipo', 'item', 'id', $item['id']) ?>"
                                           class="admin-ctrl-action-btn admin-ctrl-action-delete"
                                           onclick="return confirm('Esta seguro de eliminar este item?');">
                                            Eliminar
                                        </a>
                                    </div>
                                </td>
                            </tr>
                        <?php endforeach ?>
                    </tbody>
                </table>
            <?php endif ?>
        </div>
    </div>
<?php endforeach ?>

<!-- Enlace de regreso -->
<div style="margin-top: 30px;">
    <a href="<?php echo $tpl->url('threads') ?>" class="admin-ctrl-btn admin-ctrl-btn-primary" style="background: #607d8b;">
        Volver a Proyectos
    </a>
</div>
