Files
back-hokm/internal/admin/templates/shop.html
T
2026-07-04 21:21:13 +03:30

198 lines
10 KiB
HTML

<!doctype html>
<html dir="rtl" lang="fa">
{{template "head" .}}
<body>
{{template "nav" .}}
<div class="wrap">
<h1>فروشگاه</h1>
{{if .Saved}}<div class="saved">تغییرات ذخیره شد ✓</div>{{end}}
<p style="color:#888">برای ویرایش مقدارها «ذخیره»، برای حذف «حذف» و در ردیف آخر هر جدول محصول جدید «افزودن».</p>
<h2>بسته‌های سکه</h2>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>سکه</th><th>VIP (روز)</th><th>قیمت (تومان)</th><th>بونوس٪</th><th>SKU (مایکت/کافه)</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th></tr>
{{range .Coins}}
<tr><form method="post" action="/admin/shop/coin">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="coins" value="{{.coins}}"></td>
<td><input name="vip_days" value="{{.vip_days}}"></td>
<td><input name="price_toman" value="{{.price_toman}}"></td>
<td><input name="bonus_pct" value="{{.bonus_pct}}"></td>
<td><code style="font-size:11px">{{.sku}}</code></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/coin/delete" formnovalidate class="del">حذف</button></td>
</form></tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/coin/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="coins" value="0"></td>
<td><input name="vip_days" value="0"></td>
<td><input name="price_toman" value="0"></td>
<td><input name="bonus_pct" value="0"></td>
<td style="color:#9aa;font-size:11px">خودکار</td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
<h2>بسته‌های بلیط</h2>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>بلیط</th><th>قیمت (تومان)</th><th>SKU (مایکت/کافه)</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th></tr>
{{range .Tickets}}
<tr><form method="post" action="/admin/shop/ticket">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="tickets" value="{{.tickets}}"></td>
<td><input name="price_toman" value="{{.price_toman}}"></td>
<td><code style="font-size:11px">{{.sku}}</code></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/ticket/delete" formnovalidate class="del">حذف</button></td>
</form></tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/ticket/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="tickets" value="0"></td>
<td><input name="price_toman" value="0"></td>
<td style="color:#9aa;font-size:11px">خودکار</td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
<h2>اسکین کارت‌ها</h2>
<p style="color:#9aa;font-size:13px">
آپلودِ تصاویرِ هر اسکین: یک فایلِ <b>zip</b> شاملِ ۵۲ کارت با نامِ <code>AS.png</code>، <code>10H.png</code>، <code>KD.png</code> … و یک <code>back.jpg</code> (پشتِ کارت). نام‌ها بزرگ‌وکوچک مهم نیست.
</p>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>قیمت (سکه)</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th><th>تصاویر</th></tr>
{{range .Cards}}
<tr><form method="post" action="/admin/shop/card">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="price_coins" value="{{.price_coins}}"></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/card/delete" formnovalidate class="del">حذف</button></td>
</form>
<td><form method="post" action="/admin/shop/card/{{.id}}/upload" enctype="multipart/form-data" style="display:flex;gap:4px">
<input type="file" name="deck" accept=".zip" required>
<button>آپلود zip</button>
</form></td>
</tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/card/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="price_coins" value="0"></td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
<h2>بوسترها</h2>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>ضریب</th><th>ساعت</th><th>قیمت (تومان)</th><th>SKU (مایکت/کافه)</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th></tr>
{{range .Boosters}}
<tr><form method="post" action="/admin/shop/booster">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="multiplier" value="{{.multiplier}}"></td>
<td><input name="hours" value="{{.hours}}"></td>
<td><input name="price_toman" value="{{.price_toman}}"></td>
<td><code style="font-size:11px">{{.sku}}</code></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/booster/delete" formnovalidate class="del">حذف</button></td>
</form></tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/booster/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="multiplier" value="2"></td>
<td><input name="hours" value="24"></td>
<td><input name="price_toman" value="0"></td>
<td style="color:#9aa;font-size:11px">خودکار</td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
<h2>اشتراک‌های VIP</h2>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>ماه</th><th>قیمت (تومان)</th><th>SKU (مایکت/کافه)</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th></tr>
{{range .VIP}}
<tr><form method="post" action="/admin/shop/vip">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="months" value="{{.months}}"></td>
<td><input name="price_toman" value="{{.price_toman}}"></td>
<td><code style="font-size:11px">{{.sku}}</code></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/vip/delete" formnovalidate class="del">حذف</button></td>
</form></tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/vip/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="months" value="1"></td>
<td><input name="price_toman" value="0"></td>
<td style="color:#9aa;font-size:11px">خودکار</td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
<h2>انواع میز</h2>
<p style="color:#888">«امتیاز رتبه» اگر بزرگ‌تر از ۰ باشد، آن میز رتبه‌بندی است و به برنده امتیازِ رتبه می‌دهد.</p>
<table>
<tr><th>شناسه</th><th>عنوان</th><th>دست</th><th>ورودی</th><th>جایزه</th><th>XP</th><th>جام</th><th>امتیاز رتبه</th><th>ترتیب</th><th>فعال</th><th colspan="2"></th></tr>
{{range .Tiers}}
<tr><form method="post" action="/admin/shop/tier">
<td>{{.id}}<input type="hidden" name="id" value="{{.id}}"></td>
<td><input type="text" name="title" value="{{.title}}"></td>
<td><input name="hands" value="{{.hands}}"></td>
<td><input name="entry" value="{{.entry}}"></td>
<td><input name="prize" value="{{.prize}}"></td>
<td><input name="xp" value="{{.xp}}"></td>
<td><input name="trophy" value="{{.trophy}}"></td>
<td><input name="rank_reward" value="{{.rank_reward}}"></td>
<td><input name="sort" value="{{.sort}}"></td>
<td><input type="checkbox" name="enabled" {{if .enabled}}checked{{end}}></td>
<td><button>ذخیره</button></td>
<td><button formaction="/admin/shop/tier/delete" formnovalidate class="del">حذف</button></td>
</form></tr>
{{end}}
<tr class="addrow"><form method="post" action="/admin/shop/tier/add">
<td><input name="id" placeholder="شناسه" required></td>
<td><input name="title" placeholder="عنوان"></td>
<td><input name="hands" value="7"></td>
<td><input name="entry" value="0"></td>
<td><input name="prize" value="0"></td>
<td><input name="xp" value="0"></td>
<td><input name="trophy" value="0"></td>
<td><input name="rank_reward" value="0"></td>
<td><input name="sort" value="0"></td>
<td><input type="checkbox" name="enabled" checked></td>
<td colspan="2"><button>افزودن</button></td>
</form></tr>
</table>
</div>
</body>
</html>