<?php include 'header.php'; ?>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

<script type="text/javascript">

// Play Store Değerlendirme Onaylama
function playOnayla(id, user_id) {
    Swal.fire({
        title: 'Emin misiniz?',
        text: "Bu başvuruyu onaylamak istediğinizden emin misiniz? Kullanıcıya 5 jeton eklenecek.",
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Evet, Onayla!',
        cancelButtonText: 'İptal'
    }).then((result) => {
        if (result.value) {
            var url = "api.php";
            var bilgi = {
                type: 'playOnayla',
                basvuru_id: id,
                user_id: user_id
            }

            $.post(url, bilgi, function(response) {
                var json = JSON.parse(response);
                if (json.result == "1") {
                    Swal.fire({
                        type: 'success',
                        title: 'Başarılı!',
                        html: 'Başvuru onaylandı ve kullanıcıya 5 jeton eklendi.',
                        confirmButtonText: 'Tamam'
                    }).then((result) => {
                        if (result.value) {
                            location.reload();
                        }
                    })
                } else {
                    Swal.fire('Hata!', json.message || 'Bir hata oluştu!', 'error');
                }
            });
        }
    });
}

// Play Store Değerlendirme Reddetme
function playReddet(id, user_id) {
    Swal.fire({
        title: 'Başvuruyu Reddet',
        input: 'textarea',
        inputLabel: 'Red Nedeni',
        inputPlaceholder: 'Red nedenini buraya yazın...',
        inputValue: '5 Yıldız seçtikten sonra alttaki Deneyiminizi anlatın yazan yere en az 10 kelimelik güzel bir yorum yapıp sağ üstteki yayınla butonuna dokunmanız ve sonrasında ekran görüntüsü atmanız gerekmektedir.',
        inputAttributes: {
            'aria-label': 'Red nedenini buraya yazın'
        },
        showCancelButton: true,
        confirmButtonText: 'Reddet',
        cancelButtonText: 'İptal',
        confirmButtonColor: '#d33',
        cancelButtonColor: '#3085d6'
    }).then((result) => {
        if (result.value) {
            var url = "api.php";
            var bilgi = {
                type: 'playReddet',
                basvuru_id: id,
                user_id: user_id,
                admin_notu: result.value
            }

            $.post(url, bilgi, function(response) {
                var json = JSON.parse(response);
                if (json.result == "1") {
                    Swal.fire({
                        type: 'success',
                        title: 'Başarılı!',
                        html: 'Başvuru reddedildi.',
                        confirmButtonText: 'Tamam'
                    }).then((result) => {
                        if (result.value) {
                            location.reload();
                        }
                    })
                } else {
                    Swal.fire('Hata!', json.message || 'Bir hata oluştu!', 'error');
                }
            });
        }
    });
}

// Ekran görüntüsünü büyük göster
function resimGoster(resimUrl, user_fullname) {
    // Ekran yüksekliğinin %70'ini hesapla
    var maxHeight = Math.floor(window.innerHeight * 0.7);
    
    Swal.fire({
        title: user_fullname + ' - Ekran Görüntüsü',
        imageUrl: '../' + resimUrl,
        imageAlt: 'Play Store Ekran Görüntüsü',
        width: 'auto',
        imageWidth: 'auto',
        imageHeight: maxHeight,
        confirmButtonText: 'Kapat',
        customClass: {
            title: 'swal-small-title',
            image: 'swal-responsive-image'
        },
        showCloseButton: true
    });
}

</script>

<style>
.text-muted {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 250px;
}

.screenshot-thumb {
    max-width: 100px;
    max-height: 100px;
    cursor: pointer;
    border-radius: 5px;
    transition: transform 0.2s;
}

.screenshot-thumb:hover {
    transform: scale(1.05);
}

.swal-small-title {
    font-size: 16px !important;
    padding: 10px !important;
}

.swal-responsive-image {
    object-fit: contain !important;
    max-width: 90vw !important;
    max-height: 70vh !important;
}

/* SweetAlert2 popup ayarları */
.swal2-popup {
    max-height: 95vh !important;
    display: flex !important;
    flex-direction: column !important;
}

.swal2-image {
    object-fit: contain !important;
    border-radius: 8px !important;
}

</style>

<div class="app-content container center-layout mt-2">
    <div class="content-overlay"></div>
    <div class="content-wrapper">
        <div class="content-header row">
        </div>
        <div class="content-body">
            <div class="row">

                <!-- İSTATİSTİK KARTLARI -->
                <?php
                // OPTIMIZE EDİLDİ: Tek sorgu ile tüm sayılar
                $stats = $db->query("
                    SELECT 
                        SUM(CASE WHEN durum = 0 THEN 1 ELSE 0 END) as bekleyen,
                        SUM(CASE WHEN durum = 1 THEN 1 ELSE 0 END) as onaylanan,
                        SUM(CASE WHEN durum = 2 THEN 1 ELSE 0 END) as reddedilen,
                        COUNT(*) as toplam
                    FROM play_degerlendirme
                ")->fetch(PDO::FETCH_ASSOC);
                
                $bekleyenCount = $stats['bekleyen'] ?? 0;
                $onaylananCount = $stats['onaylanan'] ?? 0;
                $redCount = $stats['reddedilen'] ?? 0;
                $toplamCount = $stats['toplam'] ?? 0;
                ?>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media">
                                    <div class="media-body text-left w-100">
                                        <h3 class="warning"><?= $bekleyenCount ?></h3>
                                        <span>Bekleyen Başvuru</span>
                                    </div>
                                    <div class="media-right">
                                        <i class="la la-hourglass-half warning font-large-2 float-right"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media">
                                    <div class="media-body text-left w-100">
                                        <h3 class="success"><?= $onaylananCount ?></h3>
                                        <span>Onaylanan</span>
                                    </div>
                                    <div class="media-right">
                                        <i class="la la-check-circle success font-large-2 float-right"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media">
                                    <div class="media-body text-left w-100">
                                        <h3 class="danger"><?= $redCount ?></h3>
                                        <span>Reddedilen</span>
                                    </div>
                                    <div class="media-right">
                                        <i class="la la-times-circle danger font-large-2 float-right"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media">
                                    <div class="media-body text-left w-100">
                                        <h3 class="primary"><?= $toplamCount ?></h3>
                                        <span>Toplam Başvuru</span>
                                    </div>
                                    <div class="media-right">
                                        <i class="la la-pie-chart primary font-large-2 float-right"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- TABLO -->
                <div id="recent-transactions" class="col-12">
                    <div class="card">
                        <div class="card-header">
                            <h4 class="card-title">🎁 Play Store Değerlendirme Başvuruları</h4>
                            <a class="heading-elements-toggle"><i class="la la-ellipsis-v font-medium-3"></i></a>
                            <div class="heading-elements">
                                <ul class="list-inline mb-0">
                                    <li>
                                        <select class="form-control" onchange="window.location.href='play_degerlendirme.php?durum=' + this.value">
                                            <option value="">Tümü</option>
                                            <option value="0" <?= isset($_GET['durum']) && $_GET['durum'] == '0' ? 'selected' : '' ?>>Bekleyenler</option>
                                            <option value="1" <?= isset($_GET['durum']) && $_GET['durum'] == '1' ? 'selected' : '' ?>>Onaylananlar</option>
                                            <option value="2" <?= isset($_GET['durum']) && $_GET['durum'] == '2' ? 'selected' : '' ?>>Rededilenler</option>
                                        </select>
                                    </li>
                                </ul>
                            </div>
                        </div>

                        <div class="card-content">
                            <div class="table-responsive">
                                <table id="recent-orders" class="table table-hover table-xl mb-0">
                                    <thead>
                                        <tr>
                                            <th class="border-top-0">ID</th>
                                            <th class="border-top-0">Kullanıcı</th>
                                            <th class="border-top-0">Ekran Görüntüsü</th>
                                            <th class="border-top-0">Tarih</th>
                                            <th class="border-top-0">Durum</th>
                                            <th class="border-top-0">İşlem</th>
                                        </tr>
                                    </thead>
                                    <tbody>

                                        <?php
                                        // OPTIMIZE EDİLDİ: JOIN ile kullanıcı bilgileri tek sorguda çekiliyor
                                        if (isset($_GET['durum']) && $_GET['durum'] !== '') {
                                            $durumFilter = intval($_GET['durum']);
                                            
                                            // Durum seçiliyse, onaylanan ve reddedilenler için max 10 kayıt
                                            if ($durumFilter == 1 || $durumFilter == 2) {
                                                $sql = "SELECT pd.*, k.user_fullname, k.user_picture 
                                                        FROM play_degerlendirme pd 
                                                        LEFT JOIN kullanicilar k ON pd.user_id = k.user_id 
                                                        WHERE pd.durum = $durumFilter 
                                                        ORDER BY pd.id DESC LIMIT 10";
                                            } else {
                                                // Bekleyenler için limit yok
                                                $sql = "SELECT pd.*, k.user_fullname, k.user_picture 
                                                        FROM play_degerlendirme pd 
                                                        LEFT JOIN kullanicilar k ON pd.user_id = k.user_id 
                                                        WHERE pd.durum = $durumFilter 
                                                        ORDER BY pd.id DESC";
                                            }
                                            $kayitlar = $db->query($sql, PDO::FETCH_ASSOC)->fetchAll();
                                        } else {
                                            // Tümü seçeneği: Optimized UNION query
                                            $sql = "
                                                (SELECT pd.*, k.user_fullname, k.user_picture, 0 as sort_priority 
                                                 FROM play_degerlendirme pd 
                                                 LEFT JOIN kullanicilar k ON pd.user_id = k.user_id 
                                                 WHERE pd.durum = 0 
                                                 ORDER BY pd.id DESC)
                                                UNION ALL
                                                (SELECT pd.*, k.user_fullname, k.user_picture, 1 as sort_priority 
                                                 FROM play_degerlendirme pd 
                                                 LEFT JOIN kullanicilar k ON pd.user_id = k.user_id 
                                                 WHERE pd.durum = 1 
                                                 ORDER BY pd.id DESC LIMIT 10)
                                                UNION ALL
                                                (SELECT pd.*, k.user_fullname, k.user_picture, 2 as sort_priority 
                                                 FROM play_degerlendirme pd 
                                                 LEFT JOIN kullanicilar k ON pd.user_id = k.user_id 
                                                 WHERE pd.durum = 2 
                                                 ORDER BY pd.id DESC LIMIT 10)
                                                ORDER BY sort_priority, id DESC
                                            ";
                                            $kayitlar = $db->query($sql, PDO::FETCH_ASSOC)->fetchAll();
                                        }

                                        $kayitSayisi = count($kayitlar);
                                        
                                        if ($kayitSayisi > 0):
                                            foreach ($kayitlar as $veri):

                                                // Durum badge
                                                if ($veri['durum'] == 0) {
                                                    $durumBadge = '<span class="badge badge-warning">Beklemede</span>';
                                                } elseif ($veri['durum'] == 1) {
                                                    $durumBadge = '<span class="badge badge-success">Onaylandı</span>';
                                                } else {
                                                    $durumBadge = '<span class="badge badge-danger">Reddedildi</span>';
                                                }
                                        ?>
                                                <tr>
                                                    <td class="text-truncate p-2">
                                                        <i class="la la-dot-circle-o success font-medium-1 mr-1"></i> #<?= $veri['id'] ?>
                                                    </td>

                                                    <td class="text-truncate p-1">
                                                        <div class="d-flex align-items-center">
                                                            <div class="avatar m-0 mr-50">
                                                                <img src="../<?= $veri['user_picture'] ?>" height="36" width="36" alt="user image">
                                                                <span class="avatar-status-online"></span>
                                                            </div>
                                                            <div class="chat-sidebar-name">
                                                                <h6 class="mb-0"><?= $veri['user_fullname'] ?></h6>
                                                                <span class="text-muted">ID: <?= $veri['user_id'] ?></span>
                                                            </div>
                                                        </div>
                                                    </td>

                                                    <td class="p-2">
                                                        <img src="../<?= $veri['ekran_goruntusu'] ?>" 
                                                             class="screenshot-thumb" 
                                                             onclick="resimGoster('<?= $veri['ekran_goruntusu'] ?>', '<?= htmlspecialchars($veri['user_fullname']) ?>')" 
                                                             alt="Ekran Görüntüsü">
                                                    </td>

                                                    <td class="text-truncate p-2">
                                                        <b>Yükleme:</b> <?= date('d.m.Y - H:i', $veri['tarih']) ?>
                                                        <?php if ($veri['durum'] == 1 && $veri['onay_tarihi']): ?>
                                                            <br><b class="text-success">✓ Onay:</b> <?= date('d.m.Y - H:i', $veri['onay_tarihi']) ?>
                                                        <?php elseif ($veri['durum'] == 2 && $veri['onay_tarihi']): ?>
                                                            <br><b class="text-danger">✗ Red:</b> <?= date('d.m.Y - H:i', $veri['onay_tarihi']) ?>
                                                        <?php endif; ?>
                                                    </td>

                                                    <td class="p-2">
                                                        <?= $durumBadge ?>
                                                        <?php if ($veri['admin_notu']): ?>
                                                            <br><small class="text-muted">
                                                                <i class="fa-solid fa-note-sticky"></i> 
                                                                <i><?= htmlspecialchars($veri['admin_notu']) ?></i>
                                                            </small>
                                                        <?php endif; ?>
                                                    </td>

                                                    <td style="min-width: 140px;">
                                                        <?php if ($veri['durum'] == 0): // Sadece beklemedeyse işlem butonları göster 
                                                        ?>
                                                            <button class="btn btn-success btn-sm" onclick="playOnayla(<?= $veri['id'] ?>, <?= $veri['user_id'] ?>);" style="margin-right: 3px; padding: 0.3rem 0.5rem;">
                                                                <i class="la la-check"></i>
                                                            </button>
                                                            <button class="btn btn-danger btn-sm" onclick="playReddet(<?= $veri['id'] ?>, <?= $veri['user_id'] ?>);" style="padding: 0.3rem 0.5rem;">
                                                                <i class="la la-times"></i>
                                                            </button>
                                                        <?php else: ?>
                                                            <small class="text-muted"><i>Tamamlandı</i></small>
                                                        <?php endif; ?>
                                                    </td>
                                                </tr>
                                        <?php
                                            endforeach;
                                        else:
                                        ?>
                                            <tr>
                                                <td colspan="6" class="text-center p-5">
                                                    <i class="la la-inbox font-large-2"></i>
                                                    <br>Henüz başvuru yok.
                                                </td>
                                            </tr>
                                        <?php endif; ?>

                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<?php include 'footer.php'; ?>

