<?php
// =============================================================
// POOLS — список пулов (карточки-плитки со сводкой)
// =============================================================
// Карточка пула (трейдеры/настройки/вебхуки/danger) — pool.php?id=…
// Создание — pool.php?new=1.

require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../pool_tracker.php';
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/lib/render.php';
require_once __DIR__ . '/lib/layout.php';

require_auth();

if (isset($_GET['logout'])) {
    logout();
    header('Location: login.php');
    exit;
}

$poolsData = load_pools_config();
$pools = $poolsData['pools'];

// Метрики каждого пула
$poolMetrics = [];
foreach ($pools as $p) {
    $state = load_pool_balance($p['id'], (float) $p['virtual_balance']);
    $poolMetrics[$p['id']] = compute_pool_metrics($state, (float) $p['virtual_balance']);
}

layout_header(['title' => 'Пулы', 'page' => 'pools']);
?>

<div class="toolbar">
    <span class="count" style="margin-left:0"><b style="color:var(--text)"><?= count($pools) ?></b> пулов</span>
</div>

<div class="alert info">Пул — виртуальный счёт с несколькими трейдерами и своей аллокацией. Клик по карточке открывает страницу пула: трейдеры, настройки, вебхуки, прямая торговля, опасная зона.</div>

<?php if (empty($pools)): ?>
    <div class="empty" style="padding:60px 20px">Пока нет пулов. <a href="pool.php?new=1">Создать первый →</a></div>
<?php else: ?>
    <?php foreach ($pools as $pool): ?>
    <?php
        $m = $poolMetrics[$pool['id']] ?? [];
        $alloc = array_sum(array_column($pool['traders'] ?? [], 'allocation_pct'));
        $roi = $m['total_return_pct'] ?? 0;
        $balance = $m['current_balance'] ?? $pool['virtual_balance'];
    ?>
    <a class="card row-link" href="pool.php?id=<?= urlencode($pool['id']) ?>" style="display:block; margin-bottom:14px; color:inherit; text-decoration:none">
        <div style="display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px">
            <span style="font-size:16px; font-weight:700"><?= htmlspecialchars($pool['label']) ?></span>
            <span class="badge <?= !empty($pool['enabled']) ? 'on' : 'off' ?>"><?= !empty($pool['enabled']) ? 'ВКЛ' : 'ВЫКЛ' ?></span>
            <span class="badge mode"><?= count($pool['traders'] ?? []) ?> трейдеров</span>
            <span class="badge mode"><?= ($pool['execution_mode'] ?? 'webhook') === 'direct' ? 'direct (live)' : 'webhook' ?></span>
            <span class="badge mode">×<?= (int) ($pool['leverage'] ?? 3) ?></span>
        </div>
        <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px">
            <div>
                <div class="dim" style="font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px">Баланс</div>
                <div class="num" style="font-size:17px; font-weight:700"><?= number_format($balance, 2) ?> $</div>
            </div>
            <div>
                <div class="dim" style="font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px">ROI</div>
                <div class="num <?= pnl_class($roi) ?>" style="font-size:17px; font-weight:700"><?= fmt_pct($roi) ?></div>
            </div>
            <div>
                <div class="dim" style="font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px">Сделок</div>
                <div class="num" style="font-size:17px; font-weight:700"><?= (int) ($m['trades_count'] ?? 0) ?></div>
            </div>
            <div>
                <div class="dim" style="font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px">Max DD</div>
                <div class="num neg" style="font-size:17px; font-weight:700"><?= number_format($m['max_drawdown_pct'] ?? 0, 1) ?>%</div>
            </div>
            <div>
                <div class="dim" style="font-size:11px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px">Аллокация</div>
                <div class="num <?= $alloc > 100 ? 'neg' : 'dim' ?>" style="font-size:17px; font-weight:700"><?= number_format($alloc, 0) ?>%</div>
            </div>
        </div>
    </a>
    <?php endforeach; ?>
<?php endif; ?>

<!-- FAB: создать пул -->
<a class="fab" href="pool.php?new=1" aria-label="Создать пул" title="Создать пул"><?= layout_icon('plus') ?></a>

<?php layout_footer(); ?>
