<?php
/**
 * @var \App\View\AppView $this
 * @var iterable<\App\Model\Entity\Producto> $productos
 */
?>

<?php $this->assign('title', 'Productos'); ?>

<div class="productos index content">
    <!-- Botón Agregar (solo si tiene permiso) -->
    <?php if ($this->Permisos->tiene('Productos', 'add')): ?>
        <?= $this->Html->link(__('Añadir Producto'), ['action' => 'add'], ['class' => 'button float-right btn btn-info openModal']) ?>
    <?php endif; ?>

    <div class="contenedor principal">
        <div class="table-responsive">
            <table class="table table-striped mt-3">
                <thead class="bg-info text-white">
                    <tr>
                        <th><?= $this->Paginator->sort('id', 'ID') ?></th>
                        <th><?= $this->Paginator->sort('categoria_producto_id', 'Categoría') ?></th>
                        <th><?= $this->Paginator->sort('nombre', 'Nombre') ?></th>
                        <th><?= $this->Paginator->sort('codigo', 'Código') ?></th>
                        <th><?= $this->Paginator->sort('precio', 'Precio') ?></th>
                        <th><?= $this->Paginator->sort('stock', 'Stock') ?></th>
                        <th><?= $this->Paginator->sort('estado', 'Estado') ?></th>
                        <th class="actions text-dark"><?= __('Acciones') ?></th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($productos as $producto): ?>
                    <tr>
                        <td><?= $this->Number->format($producto->id) ?></td>
                        <td><?= h($producto->categorias_producto->nombre ?? '-') ?></td>
                        <td><?= h($producto->nombre) ?></td>
                        <td><?= h($producto->codigo ?: '-') ?></td>
                        <td>S/ <?= number_format((float)$producto->precio, 2) ?></td>
                        <td><?= number_format((float)$producto->stock, 2) ?></td>
                        <td>
                            <?php
                                $activo = (int)$producto->estado === 1;
                                $badge  = $activo ? 'badge-success' : 'badge-danger';
                                $label  = $activo ? 'Activo' : 'Inactivo';
                                echo '<span class="badge ' . $badge . '">' . h($label) . '</span>';
                            ?>
                        </td>

                        <td class="actions text-center">

                            <!-- Editar (solo si tiene permiso) -->
                            <?php if ($this->Permisos->tiene('Productos', 'edit')): ?>
                                <?= $this->Html->link(
                                    '<i class="fas fa-edit"></i>',
                                    ['action' => 'edit', $producto->id],
                                    ['escape' => false, 'title' => 'Editar', 'class' => 'btn btn-warning btn-sm openModal']
                                ) ?>
                            <?php endif; ?>

                            <!-- Activar/Inactivar (solo si tiene permiso) -->
                            <?php if ($this->Permisos->tiene('Productos', 'toggleStatus')): ?>
                                <?php
                                    $activo      = (int)$producto->estado === 1;
                                    $buttonText  = $activo ? '<i class="fas fa-times"></i>' : '<i class="fas fa-check"></i>';
                                    $buttonClass = $activo ? 'btn btn-danger' : 'btn btn-success';
                                    $buttonTitle = $activo ? 'Inactivar' : 'Activar';
                                    $confirmMsg  = '¿Estás seguro? El producto será ' . ($activo ? 'inactivado' : 'activado');
                                ?>
                                <?= $this->Html->link(
                                    $buttonText,
                                    ['action' => 'toggleStatus', $producto->id],
                                    ['escape' => false, 'title' => $buttonTitle, 'class' => $buttonClass . ' btn-sm', 'confirm' => $confirmMsg]
                                ) ?>
                            <?php endif; ?>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>

    <!-- Paginación -->
    <div class="paginator">
        <ul class="pagination">
            <?= $this->Paginator->first('<< ' . __('Primero')) ?>
            <?= $this->Paginator->prev('< ' . __('Anterior')) ?>
            <?= $this->Paginator->numbers() ?>
            <?= $this->Paginator->next(__('Siguiente') . ' >') ?>
            <?= $this->Paginator->last(__('Último') . ' >>') ?>
        </ul>
        <p><?= $this->Paginator->counter(__('Página {{page}} de {{pages}}, mostrando {{current}} registro(s) de un total de {{count}}')) ?></p>
    </div>
</div>