<?= $this->extend('layouts/enterprise') ?>

<?= $this->section('content') ?>

<?php
$statusPill = static function (string $status): string {
    $class = $status === 'active' ? 'active' : 'inactive';
    return '<span class="enterprise-status-pill enterprise-status-pill--' . esc($class) . '">' . esc(ucfirst($status)) . '</span>';
};
$typeLabel = static function (?string $type): string {
    return match ($type) {
        'product' => 'Product',
        'service' => 'Service',
        'project' => 'Project',
        default   => '—',
    };
};
?>

<?= view('partials/workspace_hero', [
    'workspaceCrumbPill'    => 'Contracts',
    'workspaceCrumbCurrent' => 'Customers',
    'workspaceTitle'        => 'Customers',
    'workspaceDesc'         => 'Product, service, and project customers for commercial contracts.',
    'workspaceAction'       => [
        'href'  => base_url('contracts/customers/create'),
        'label' => 'Add Customer',
        'icon'  => 'fa-solid fa-plus',
    ],
]) ?>

<div class="enterprise-data-panel">
    <div class="enterprise-data-panel__head">
        <h2 class="enterprise-data-panel__title">Customers</h2>
        <p class="enterprise-data-panel__subtitle">Customer accounts managed in the Contracts workspace.</p>
    </div>

    <div class="enterprise-data-panel__toolbar">
        <form action="<?= base_url('contracts/customers') ?>" method="get">
            <div class="enterprise-filter-grid">
                <div>
                    <label class="enterprise-field-label">Search</label>
                    <input type="text" name="q" class="form-control form-control-sm" placeholder="Name, code, email"
                           value="<?= esc($filters['search']) ?>">
                </div>
                <div>
                    <label class="enterprise-field-label">Type</label>
                    <select name="customer_type" class="form-select form-select-sm">
                        <option value="">Any</option>
                        <?php foreach (['product' => 'Product', 'service' => 'Service', 'project' => 'Project'] as $v => $l): ?>
                            <option value="<?= $v ?>" <?= $filters['customerType'] === $v ? 'selected' : '' ?>><?= esc($l) ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div>
                    <label class="enterprise-field-label">One-time</label>
                    <select name="is_one_time" class="form-select form-select-sm">
                        <option value="">Any</option>
                        <option value="1" <?= $filters['isOneTime'] === '1' ? 'selected' : '' ?>>Yes</option>
                        <option value="0" <?= $filters['isOneTime'] === '0' ? 'selected' : '' ?>>No</option>
                    </select>
                </div>
                <div>
                    <label class="enterprise-field-label">Status</label>
                    <select name="status" class="form-select form-select-sm">
                        <option value="">Any</option>
                        <?php foreach (['active', 'inactive'] as $s): ?>
                            <option value="<?= $s ?>" <?= $filters['status'] === $s ? 'selected' : '' ?>><?= ucfirst($s) ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div>
                    <label class="enterprise-field-label">Group</label>
                    <select name="group_id" class="form-select form-select-sm">
                        <option value="">Any</option>
                        <?php foreach ($groups as $g): ?>
                            <option value="<?= $g['id'] ?>" <?= (string) $filters['groupId'] === (string) $g['id'] ? 'selected' : '' ?>><?= esc($g['name']) ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div>
                    <label class="enterprise-field-label">Site</label>
                    <select name="site_id" class="form-select form-select-sm">
                        <option value="">Any</option>
                        <?php foreach ($sites as $s): ?>
                            <option value="<?= $s['id'] ?>" <?= (string) $filters['siteId'] === (string) $s['id'] ? 'selected' : '' ?>><?= esc($s['name']) ?></option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="enterprise-filter-actions">
                    <button type="submit" class="btn btn-sm btn-primary">Apply Filters</button>
                </div>
            </div>
        </form>
    </div>

    <div class="enterprise-data-panel__body">
        <div class="table-responsive">
            <table class="enterprise-data-table">
                <thead>
                    <tr>
                        <th>Customer</th>
                        <th>Type</th>
                        <th>One-time</th>
                        <th>Site</th>
                        <th>Group</th>
                        <th>Email</th>
                        <th>Status</th>
                        <th class="text-end">Actions</th>
                    </tr>
                </thead>
                <tbody>
                    <?php foreach ($companies as $c): ?>
                        <tr>
                            <td>
                                <a href="<?= base_url('contracts/customers/' . $c['id']) ?>" class="enterprise-data-table__primary text-decoration-none">
                                    <?= esc($c['name']) ?>
                                </a>
                                <?php if ($c['code']): ?>
                                    <div class="text-muted small"><code><?= esc($c['code']) ?></code></div>
                                <?php endif; ?>
                            </td>
                            <td><?= esc($typeLabel($c['customer_type'] ?? null)) ?></td>
                            <td><?= ! empty($c['is_one_time']) ? 'Yes' : 'No' ?></td>
                            <td><?= esc($siteMap[$c['site_id']] ?? '—') ?></td>
                            <td><?= esc($groupMap[$c['customer_group_id']] ?? '—') ?></td>
                            <td><?= esc($c['email'] ?: '—') ?></td>
                            <td><?= $statusPill($c['status']) ?></td>
                            <td class="text-end enterprise-row-actions">
                                <div class="dropdown">
                                    <button class="btn btn-sm btn-outline-secondary" data-bs-toggle="dropdown"><i class="fa-solid fa-ellipsis"></i></button>
                                    <ul class="dropdown-menu dropdown-menu-end enterprise-nav-menu">
                                        <li><a class="dropdown-item" href="<?= base_url('contracts/customers/' . $c['id']) ?>"><i class="fa-solid fa-eye me-2"></i>View</a></li>
                                        <li><a class="dropdown-item" href="<?= base_url('contracts/customers/' . $c['id'] . '/edit') ?>"><i class="fa-solid fa-pen me-2"></i>Edit</a></li>
                                        <li><a class="dropdown-item" href="<?= base_url('contracts/contracts/create?company_id=' . $c['id']) ?>"><i class="fa-solid fa-file-contract me-2"></i>New Contract</a></li>
                                        <li>
                                            <?php if ($c['status'] === 'active'): ?>
                                                <form action="<?= base_url('contracts/customers/' . $c['id'] . '/deactivate') ?>" method="post">
                                                    <?= csrf_field() ?>
                                                    <button type="submit" class="dropdown-item"><i class="fa-solid fa-ban me-2"></i>Deactivate</button>
                                                </form>
                                            <?php else: ?>
                                                <form action="<?= base_url('contracts/customers/' . $c['id'] . '/activate') ?>" method="post">
                                                    <?= csrf_field() ?>
                                                    <button type="submit" class="dropdown-item"><i class="fa-solid fa-check me-2"></i>Activate</button>
                                                </form>
                                            <?php endif; ?>
                                        </li>
                                        <li><hr class="dropdown-divider"></li>
                                        <li>
                                            <form action="<?= base_url('contracts/customers/' . $c['id'] . '/delete') ?>" method="post" onsubmit="return confirm('Delete this customer?');">
                                                <?= csrf_field() ?>
                                                <button type="submit" class="dropdown-item text-danger"><i class="fa-solid fa-trash me-2"></i>Delete</button>
                                            </form>
                                        </li>
                                    </ul>
                                </div>
                            </td>
                        </tr>
                    <?php endforeach; ?>
                    <?php if (count($companies) === 0): ?>
                        <tr><td colspan="8" class="text-center text-muted py-5">No customers found.</td></tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
        <?php if ($pager): ?>
            <div class="enterprise-data-panel__footer"><?= $pager->links() ?></div>
        <?php endif; ?>
    </div>
</div>

<?= $this->endSection() ?>
