<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit;

$uid = (int)$this->user->uid;
$income = Mirai_payGetAuthorIncome($uid);

$ordersPage = isset($_GET['page']) ? max(1, (int)$_GET['page']) : 1;
$ordersPageSize = 10;
$ordersStatus = isset($_GET['status']) && $_GET['status'] !== '' ? (int)$_GET['status'] : null;
$ordersData = Mirai_payGetAuthorIncomeOrders($uid, $ordersPage, $ordersPageSize, $ordersStatus);
$orders = $ordersData['list'];
$ordersTotal = $ordersData['total'];

$security = \Widget\Security::alloc();
$token = $security->getToken('api');
?>
<div class="uc-page">
    <div class="uc-page-header">
        <h2 class="uc-page-title">收益中心</h2>
    </div>

    <div class="uc-stats-grid">
        <div class="uc-stat-card">
            <div class="uc-stat-label">总收益</div>
            <div class="uc-stat-value">￥<?php echo number_format($income['total'], 2); ?></div>
        </div>
        <div class="uc-stat-card">
            <div class="uc-stat-label">已转入</div>
            <div class="uc-stat-value uc-stat-success">￥<?php echo number_format($income['withdrawn'], 2); ?></div>
        </div>
        <div class="uc-stat-card">
            <div class="uc-stat-label">转入中</div>
            <div class="uc-stat-value uc-stat-warning">￥<?php echo number_format($income['pending'], 2); ?></div>
        </div>
        <div class="uc-stat-card">
            <div class="uc-stat-label">可转入</div>
            <div class="uc-stat-value uc-stat-primary">￥<?php echo number_format($income['available'], 2); ?></div>
        </div>
        <?php if (isset($income['rebate_total']) && (float)$income['rebate_total'] > 0): ?>
        <div class="uc-stat-card">
            <div class="uc-stat-label">推广佣金</div>
            <div class="uc-stat-value" style="color:#e67e22;">￥<?php echo number_format((float)$income['rebate_total'], 2); ?></div>
        </div>
        <div class="uc-stat-card">
            <div class="uc-stat-label">可提现佣金</div>
            <div class="uc-stat-value" style="color:#e67e22;">￥<?php echo number_format((float)$income['rebate_withdrawable'], 2); ?></div>
        </div>
        <?php endif; ?>
    </div>

    <div class="uc-section-block">
        <h3 class="uc-section-title">收益转入</h3>
        <?php if ($income['available'] <= 0): ?>
            <div class="uc-empty"><img src="<?php $this->options->themeUrl('assets/images/no.svg'); ?>" alt="暂无可转入收益">暂无可转入收益</div>
        <?php else: ?>
            <form class="uc-transfer-form" id="incomeTransferForm" method="post">
                <input type="hidden" name="token" value="<?php echo htmlspecialchars($token, ENT_QUOTES, 'UTF-8'); ?>">
                <div class="uc-transfer-info">
                    <span class="uc-transfer-label">可转入金额</span>
                    <span class="uc-transfer-amount">￥<?php echo number_format($income['available'], 2); ?></span>
                </div>
                <button type="submit" class="uc-btn uc-btn-primary uc-btn-block">全部转入余额</button>
            </form>
        <?php endif; ?>
    </div>

    <div class="uc-section-block">
        <div class="uc-section-header-row">
            <h3 class="uc-section-title">收益明细</h3>
            <select id="incomeStatusFilter" onchange="filterIncomeStatus(this.value)" class="uc-select-sm">
                <option value="">全部状态</option>
                <option value="0" <?php echo $ordersStatus === 0 ? 'selected' : ''; ?>>未转入</option>
                <option value="1" <?php echo $ordersStatus === 1 ? 'selected' : ''; ?>>已转入</option>
                <option value="2" <?php echo $ordersStatus === 2 ? 'selected' : ''; ?>>转入中</option>
            </select>
        </div>
        <div class="uc-list">
            <?php if (empty($orders)): ?>
                <div class="uc-empty"><img src="<?php $this->options->themeUrl('assets/images/no.svg'); ?>" alt="暂无收益记录">暂无收益记录</div>
            <?php else: ?>
                <?php foreach ($orders as $order): ?>
                    <?php
                    $incomeStatusLabel = Mirai_payIncomeStatusLabel((int)$order['income_status']);
                    $incomeStatusClass = (int)$order['income_status'] === 0 ? 'warning' : ((int)$order['income_status'] === 1 ? 'success' : 'warning');
                    ?>
                    <div class="uc-list-item">
                        <div class="uc-item-body">
                            <div class="uc-item-title">
                                <?php echo htmlspecialchars($order['product_title'] ?: '付费内容'); ?>
                                <span class="uc-tag uc-tag-<?php echo $incomeStatusClass; ?>"><?php echo htmlspecialchars($incomeStatusLabel); ?></span>
                            </div>
                            <div class="uc-item-meta">
                                <span><i class="ri-time-line"></i> <?php echo $order['paid_at'] > 0 ? (new \Typecho\Date((int)$order['paid_at']))->format('Y-m-d H:i') : '-'; ?></span>
                                <span>订单：￥<?php echo number_format((float)$order['amount'], 2); ?></span>
                                <span>分成：￥<?php echo number_format((float)$order['income_price'], 2); ?></span>
                            </div>
                        </div>
                    </div>
                <?php endforeach; ?>
                <?php if ($ordersTotal > $ordersPageSize): ?>
                    <?php
                    $oTotalPages = ceil($ordersTotal / $ordersPageSize);
                    echo Mirai_customPagination($ordersPage, $oTotalPages, function($p) use ($ordersStatus) {
                        $url = '/user/income?page=' . $p;
                        if ($ordersStatus !== null) $url .= '&status=' . $ordersStatus;
                        return \Typecho\Common::url($url, $this->options->index);
                    });
                    ?>
                <?php endif; ?>
            <?php endif; ?>
        </div>
    </div>
</div>
