GG.deals clone: CodeIgniter 4 + MongoDB game price tracker
- Full gg.deals-style UI: deal feed with filters, game pages with price history charts, rankings, vouchers, news, prepaids, subscriptions, bundles, franchises, wishlist, API docs - Real data crawlers: * gg:crawl (Steam Store API + GOG Catalog + Epic free games) * gg:catalog (252K game slugs from gg.deals sitemaps) * gg:ggdeals (per-game prices via FlareSolverr session, JSON-LD parsing) * gg:seed / gg:crawl-covers (demo seed + Steam CDN cover art) - 24/7 self-updating scheduler (scripts/scheduler_loop.php, lockfile-protected) - Tailwind v4 dark/light theme, Alpine.js, Chart.js
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?= $this->extend('layout') ?>
|
||||
<?= $this->section('content') ?>
|
||||
|
||||
<div class="mb-6">
|
||||
<h1 class="text-2xl font-extrabold text-white tracking-tight">Gift Cards & Prepaids</h1>
|
||||
<p class="text-sm text-muted mt-1">Buy digital gift cards for your favorite platforms at the best prices.</p>
|
||||
</div>
|
||||
|
||||
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-3">
|
||||
<?php foreach ($groups as $g): ?>
|
||||
<div class="bg-card border border-line rounded-xl overflow-hidden hover:border-accent/40 transition-colors">
|
||||
<div class="px-4 py-3 flex items-center gap-3 border-b border-line/60"
|
||||
style="background: linear-gradient(135deg, <?= esc($g['color'][0]) ?>22, <?= esc($g['color'][1]) ?>22)">
|
||||
<span class="w-8 h-8 rounded-lg flex items-center justify-center text-sm font-extrabold"
|
||||
style="background: linear-gradient(135deg, <?= esc($g['color'][0]) ?>, <?= esc($g['color'][1]) ?>); color:#fff">
|
||||
<?= store_initials($g['name']) ?>
|
||||
</span>
|
||||
<div class="font-semibold text-zinc-100 text-sm"><?= esc($g['name']) ?></div>
|
||||
</div>
|
||||
<div class="p-4 space-y-1.5">
|
||||
<?php foreach ($g['offers'] as $offer): ?>
|
||||
<div class="flex items-center justify-between text-sm">
|
||||
<span class="text-zinc-300 font-semibold">$<?= (int) $offer['denomination'] ?></span>
|
||||
<span class="text-muted text-xs"><?= esc($offer['store']) ?></span>
|
||||
<span class="text-accent font-bold"><?= money((float) $offer['price']) ?></span>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
Reference in New Issue
Block a user