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

<?= $this->section('content') ?>
<?php
$statLabels = [
    'organizations' => 'Organizações',
    'sites' => 'Sites',
    'turbines' => 'Turbinas',
    'tasks' => 'Tarefas',
    'interventions' => 'Intervenções',
];

$stepItems = [
    [
        'number' => '01',
        'title' => 'Validar o tenant operacional',
        'body' => 'Confirma a organização ativa antes de registar ativos, equipas externas e intervenções críticas.',
        'href' => site_url('organizations'),
        'cta' => 'Gerir organizações',
        'count' => (int) ($stats['organizations'] ?? 0),
        'ready' => (int) ($stats['organizations'] ?? 0) > 0,
    ],
    [
        'number' => '02',
        'title' => 'Mapear parques eólicos e turbinas',
        'body' => 'Cria a estrutura técnica de sites e turbinas para suportar manutenção, inventário e evidências.',
        'href' => site_url('sites'),
        'cta' => 'Abrir ativos',
        'count' => (int) (($stats['sites'] ?? 0) + ($stats['turbines'] ?? 0)),
        'ready' => ((int) ($stats['sites'] ?? 0) > 0) && ((int) ($stats['turbines'] ?? 0) > 0),
    ],
    [
        'number' => '03',
        'title' => 'Estruturar tarefas de manutenção',
        'body' => 'Usa o catálogo Quantum para padronizar checklists, evidências, responsáveis e modos de execução.',
        'href' => site_url('api-playground'),
        'cta' => 'Explorar API',
        'count' => (int) ($stats['tasks'] ?? 0),
        'ready' => (int) ($stats['tasks'] ?? 0) > 0,
    ],
    [
        'number' => '04',
        'title' => 'Operar com rastreabilidade',
        'body' => 'Eventos, ficheiros e anchors blockchain já suportam a camada de auditoria do ciclo técnico.',
        'href' => site_url('blockchain'),
        'cta' => 'Ver rastreabilidade',
        'count' => (int) ($stats['interventions'] ?? 0),
        'ready' => (int) ($stats['interventions'] ?? 0) > 0,
    ],
];
?>

<section class="qb-page-hero">
    <div class="flex flex-col gap-6 xl:flex-row xl:items-end xl:justify-between">
        <div class="qb-page-hero-copy">
            <span class="qb-label"><?= esc(lang('Backoffice.dashboardBadge')) ?></span>
            <h1 class="mt-5 text-white">Cockpit operacional Quantum</h1>
            <p class="mt-4 text-sm leading-7 text-slate-300">Um backoffice SaaS para manutenção de turbinas eólicas com foco em auditoria, rastreabilidade e controlo multi-tenant.</p>
        </div>
        <div class="grid gap-3 sm:grid-cols-2">
            <div class="qb-mini-metric">
                <strong><?= esc((string) ($stats['interventions'] ?? 0)) ?></strong>
                <span>Intervenções técnicas em registo</span>
            </div>
            <div class="qb-mini-metric">
                <strong><?= esc((string) (($stats['sites'] ?? 0) + ($stats['turbines'] ?? 0))) ?></strong>
                <span>Ativos estruturados entre parques e turbinas</span>
            </div>
        </div>
    </div>
</section>

<section class="qb-stat-grid">
    <?php foreach ($stats as $label => $value): ?>
        <article class="qb-metric-card">
            <div class="qb-metric-card__label"><?= esc($statLabels[$label] ?? ucfirst($label)) ?></div>
            <div class="qb-metric-card__value"><?= esc((string) $value) ?></div>
            <div class="qb-metric-card__meta">Indicador consolidado do workspace técnico.</div>
            <div class="qb-progress"><span style="width: <?= min(100, max(18, (int) $value * 7)) ?>%"></span></div>
        </article>
    <?php endforeach; ?>
</section>

<section class="grid gap-4 xl:grid-cols-[minmax(0,1.2fr)_minmax(320px,0.8fr)]">
    <article class="qb-page-card">
        <div class="flex flex-wrap items-start justify-between gap-4">
            <div>
                <span class="qb-chip">Plano de execução</span>
                <h2 class="qb-section-title mt-4">Sequência de ativação do domínio Quantum</h2>
                <p class="qb-section-copy mt-2">A plataforma já fala a linguagem de manutenção, ativos, equipas e rastreabilidade. Falta agora consolidar o uso operacional.</p>
            </div>
            <a href="<?= site_url('api-docs') ?>" class="qb-button-secondary">Ver arquitetura</a>
        </div>

        <div class="mt-6 grid gap-4 lg:grid-cols-2">
            <?php foreach ($stepItems as $step): ?>
                <article class="qb-divider-card">
                    <div class="flex items-start justify-between gap-3">
                        <span class="qb-chip qb-chip--soft"><?= esc($step['number']) ?></span>
                        <span class="<?= $step['ready'] ? 'qb-chip' : 'qb-chip qb-chip--alert' ?>">
                            <?= esc($step['ready'] ? lang('Backoffice.dashboardStepReady') : lang('Backoffice.dashboardStepPending')) ?>
                        </span>
                    </div>
                    <h3 class="mt-4 text-lg font-semibold text-white"><?= esc($step['title']) ?></h3>
                    <p class="mt-2 text-sm leading-7 text-slate-400"><?= esc($step['body']) ?></p>
                    <div class="mt-4 flex items-end justify-between gap-3">
                        <div>
                            <div class="text-[11px] font-semibold uppercase tracking-[0.2em] text-slate-500"><?= esc(lang('Backoffice.dashboardDataPoints')) ?></div>
                            <div class="mt-1 text-2xl font-semibold text-white"><?= esc((string) $step['count']) ?></div>
                        </div>
                        <a href="<?= esc($step['href']) ?>" class="qb-button-secondary text-sm"><?= esc($step['cta']) ?></a>
                    </div>
                </article>
            <?php endforeach; ?>
        </div>
    </article>

    <aside class="qb-side-card">
        <span class="qb-chip qb-chip--soft"><?= esc(lang('Backoffice.nextStep')) ?></span>
        <h2 class="qb-section-title mt-4"><?= esc(lang('Backoffice.dashboardChecklistTitle')) ?></h2>
        <p class="qb-section-copy mt-2"><?= esc(lang('Backoffice.dashboardChecklistIntro')) ?></p>

        <div class="mt-6 space-y-3">
            <div class="qb-divider-card">
                <div class="font-semibold text-white"><?= esc(lang('Backoffice.dashboardChecklist1Title')) ?></div>
                <p class="qb-section-copy mt-2"><?= esc(lang('Backoffice.dashboardChecklist1Body')) ?></p>
            </div>
            <div class="qb-divider-card">
                <div class="font-semibold text-white"><?= esc(lang('Backoffice.dashboardChecklist2Title')) ?></div>
                <p class="qb-section-copy mt-2"><?= esc(lang('Backoffice.dashboardChecklist2Body')) ?></p>
            </div>
            <div class="qb-divider-card">
                <div class="font-semibold text-white"><?= esc(lang('Backoffice.dashboardChecklist3Title')) ?></div>
                <p class="qb-section-copy mt-2"><?= esc(lang('Backoffice.dashboardChecklist3Body')) ?></p>
            </div>
        </div>

        <div class="mt-6 grid gap-3">
            <a href="<?= site_url('maintenance') ?>" class="qb-button-primary">Abrir manutenções</a>
            <a href="<?= site_url('team') ?>" class="qb-button-secondary">Gerir equipa</a>
        </div>
    </aside>
</section>

<section class="qb-table-shell">
    <div class="flex flex-col gap-2 border-b border-white/10 px-6 py-5 sm:flex-row sm:items-end sm:justify-between">
        <div>
            <h2 class="qb-section-title">Últimas intervenções</h2>
            <p class="qb-section-copy mt-1">Resumo das intervenções Quantum mais recentes já alinhadas com parques, turbinas e auditoria.</p>
        </div>
        <span class="qb-chip qb-chip--soft"><?= count($latestInterventions) ?> <?= esc(lang('Backoffice.items')) ?></span>
    </div>
    <div class="overflow-x-auto">
        <table class="min-w-full text-sm">
            <thead>
                <tr>
                    <th class="px-4 py-4 text-left">Codigo</th>
                    <th class="px-4 py-4 text-left"><?= esc(lang('Backoffice.organization')) ?></th>
                    <th class="px-4 py-4 text-left">Site</th>
                    <th class="px-4 py-4 text-left">Turbina</th>
                    <th class="px-4 py-4 text-left"><?= esc(lang('Backoffice.state')) ?></th>
                </tr>
            </thead>
            <tbody class="divide-y divide-white/5">
                <?php foreach ($latestInterventions as $intervention): ?>
                    <tr>
                        <td class="px-4 py-4 font-semibold text-white"><span class="qb-code"><?= esc($intervention['intervention_code']) ?></span></td>
                        <td class="px-4 py-4"><?= esc($intervention['organization_name']) ?></td>
                        <td class="px-4 py-4"><?= esc($intervention['site_name']) ?></td>
                        <td class="px-4 py-4"><?= esc($intervention['turbine_code'] ?: '-') ?></td>
                        <td class="px-4 py-4"><span class="qb-status-pill"><?= esc($intervention['status']) ?></span></td>
                    </tr>
                <?php endforeach; ?>
                <?php if ($latestInterventions === []): ?>
                    <tr>
                        <td colspan="5" class="px-4 py-6">
                            <div class="qb-empty-state">Ainda não existem intervenções recentes para mostrar neste workspace.</div>
                        </td>
                    </tr>
                <?php endif; ?>
            </tbody>
        </table>
    </div>
</section>
<?= $this->endSection() ?>
