{% extends "base.html" %}
{% block title %}احراز هویت و رشد{% endblock %}
{% block content %}
<div class="dashboard">{% include "_sidebar.html" %}<main class="main">
<header class="topbar"><h2>احراز هویت، تست و تخفیف</h2></header>
<div class="content">
<form method="post" class="card">
<input type="hidden" name="action" value="settings">
<div class="card-title">عضویت اجباری کانال</div>
<label class="check-item"><input type="checkbox" name="force_join_enabled" value="1" {% if s.force_join_enabled=='1' %}checked{% endif %}> فعال</label>
<div class="form-group"><label>آیدی عددی یا یوزرنیم کانال (@channel)</label>
<input name="force_join_channel" value="{{ s.force_join_channel }}"></div>

<div class="card-title" style="margin-top:16px">احراز موبایل</div>
<label class="check-item"><input type="checkbox" name="force_phone_enabled" value="1" {% if s.force_phone_enabled=='1' %}checked{% endif %}> فعال</label>

<div class="card-title" style="margin-top:16px">تست رایگان</div>
<label class="check-item"><input type="checkbox" name="trial_enabled" value="1" {% if s.trial_enabled=='1' %}checked{% endif %}> فعال</label>
<div class="form-group"><label>حجم (GB)</label><input name="trial_volume_gb" value="{{ s.trial_volume_gb }}"></div>
<div class="form-group"><label>روز</label><input name="trial_days" value="{{ s.trial_days }}"></div>

<div class="form-group"><label>پنل‌ها و پروتکل‌های تست</label>
<div class="muted" style="font-size:.85rem;margin-bottom:8px">پنل را تیک بزنید؛ سپس اینباند (۳x-ui) یا گروه (پاسارگارد) را انتخاب کنید. اگر هیچ پنلی انتخاب نشود، همه پنل‌های فعال مجازند.</div>
<div class="checkbox-list" id="trialPanelList">
{% set selected_ids = (s.trial_panel_ids or s.trial_panel_id or '')|string %}
{% set trial_cfg = s.trial_protocols or {} %}
{% for pan in panels %}
  {% set ptype = (pan.panel_type or 'pasarguard')|lower %}
  <div class="panel-block" style="border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:8px">
    <label class="check-item" style="font-weight:600">
      <input type="checkbox" class="trial-panel-check" name="trial_panel_ids" value="{{ pan.id }}"
             data-type="{{ ptype }}" data-id="{{ pan.id }}"
             {% if pan.id|string in selected_ids.split(',') %}checked{% endif %}>
      {{ pan.name }}
      <span class="muted" style="font-weight:400;font-size:.8rem">({{ pan.panel_type or 'pasarguard' }})</span>
    </label>
    <div class="panel-sub" id="trial-sub-{{ pan.id }}" style="margin-top:8px;padding-right:8px;{% if pan.id|string not in selected_ids.split(',') %}display:none{% endif %}">
      <div class="muted" style="font-size:.8rem;margin-bottom:4px">
        {% if ptype in ['3x-ui','3xui','xui','sanaei'] %}اینباندهای مجاز برای تست:{% else %}گروه‌های مجاز برای تست:{% endif %}
      </div>
      <div class="trial-sub-options" data-panel="{{ pan.id }}" data-type="{{ ptype }}">
        <span class="muted">در حال بارگذاری…</span>
      </div>
    </div>
  </div>
{% else %}<span class="muted">ابتدا پنل اضافه کنید</span>{% endfor %}
</div>
</div>

<script>
(function(){
  const preselect = {{ (s.trial_protocols or {}) | tojson }};
  async function loadSub(panelId, ptype, box){
    box.innerHTML = '<span class="muted">بارگذاری…</span>';
    try{
      const url = (ptype === '3x-ui' || ptype === '3xui' || ptype === 'xui' || ptype === 'sanaei')
        ? '/api/panels/' + panelId + '/inbounds'
        : '/api/panels/' + panelId + '/groups';
      const res = await fetch(url, {credentials:'same-origin'});
      const data = await res.json();
      if(!data.ok){ box.innerHTML = '<span style="color:var(--error)">'+(data.error||'خطا')+'</span>'; return; }
      const items = data.items || [];
      if(!items.length){ box.innerHTML = '<span class="muted">موردی یافت نشد</span>'; return; }
      const cfg = preselect[panelId] || preselect[String(panelId)] || {};
      const isXui = (ptype.indexOf('3x')>=0 || ptype==='xui' || ptype==='sanaei');
      const selected = new Set(
        isXui ? (cfg.inbound_ids||[]).map(String) : (cfg.group_ids||[]).map(String)
      );
      const name = isXui ? 'panel_inbounds_'+panelId : 'panel_groups_'+panelId;
      box.innerHTML = items.map(it=>{
        const id = String(it.id);
        const label = it.label || it.name || it.remark || id;
        const chk = selected.has(id) ? 'checked' : '';
        return '<label class="check-item" style="display:block;margin:4px 0"><input type="checkbox" name="'+name+'" value="'+id+'" '+chk+'> '+label+'</label>';
      }).join('');
    }catch(e){
      box.innerHTML = '<span style="color:var(--error)">خطا در دریافت</span>';
    }
  }
  function onToggle(cb){
    const id = cb.dataset.id;
    const type = (cb.dataset.type||'').toLowerCase();
    const sub = document.getElementById('trial-sub-'+id);
    const box = sub.querySelector('.trial-sub-options');
    if(cb.checked){
      sub.style.display='block';
      loadSub(id, type, box);
    } else {
      sub.style.display='none';
      box.innerHTML='';
    }
  }
  document.querySelectorAll('.trial-panel-check').forEach(cb=>{
    cb.addEventListener('change', ()=>onToggle(cb));
    if(cb.checked) onToggle(cb);
  });
})();
</script>

<div class="card-title" style="margin-top:16px">تغییر لوکیشن</div>
<label class="check-item"><input type="checkbox" name="location_change_enabled" value="1" {% if s.location_change_enabled=='1' %}checked{% endif %}> فعال</label>
<div class="form-group"><label>قیمت هر بار (تومان)</label><input name="location_change_price" value="{{ s.location_change_price }}"></div>
<div class="form-group"><label>حد مجاز هر کاربر (۰ = نامحدود)</label><input name="location_change_limit" value="{{ s.location_change_limit }}"></div>

<button class="btn-primary inline" type="submit">ذخیره تنظیمات</button>
</form>

<div class="card">
<div class="card-title">کد تخفیف جدید</div>
<form method="post">
<input type="hidden" name="action" value="discount">
<div class="form-group"><label>کد</label><input name="code" required></div>
<div class="form-group"><label>درصد</label><input name="percent" placeholder="10"></div>
<div class="form-group"><label>یا مبلغ ثابت</label><input name="amount"></div>
<div class="form-group"><label>حداکثر استفاده (0=نامحدود)</label><input name="max_uses" value="0"></div>
<button class="btn-primary inline" type="submit">ساخت</button>
</form>
{% for d in discounts %}
<div style="padding:8px 0;border-bottom:1px solid var(--border);font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap">
<span>
<code>{{ d.code }}</code> —
{% if d.percent %}{{ d.percent }}%{% endif %}
{% if d.amount %}{{ d.amount }} تومان{% endif %}
— {{ d.used_count }}/{% if d.max_uses %}{{ d.max_uses }}{% else %}∞{% endif %}
</span>
<form method="post" style="margin:0" onsubmit="return confirm('کد {{ d.code }} حذف شود؟');">
<input type="hidden" name="action" value="delete_discount">
<input type="hidden" name="discount_id" value="{{ d.id }}">
<button type="submit" class="btn-danger" style="padding:4px 10px;font-size:.8rem">🗑 حذف</button>
</form>
</div>
{% endfor %}
</div>
</div></main></div>
{% endblock %}
