{% extends "base.html" %}
{% block title %}تنظیمات ربات | پنل مدیریت فرنود{% endblock %}
{% block content %}
<div class="dashboard">
    {% include "_sidebar.html" %}
    <main class="main">
        <header class="topbar">
            <h2>تنظیمات ربات</h2>
            <div class="topbar-actions">
                <button type="button" class="theme-toggle" id="themeToggle" title="تغییر تم">
                    <svg class="icon-sun" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>
                    <svg class="icon-moon" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="display:none"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
                </button>
            </div>
        </header>
        <div class="content" style="max-width:720px">
            <div class="card">
                <div class="card-title">پیام خوش‌آمد (/start)</div>
                <form method="POST" action="{{ url_for('bot_settings') }}">
                    <div class="form-group">
                        <label for="welcome_message">متن پیام</label>
                        <textarea id="welcome_message" name="welcome_message" rows="5" required>{{ welcome_message }}</textarea>
                    </div>
                    <div class="form-group">
                        <label for="backup_interval_hours">فاصله بکاپ دیتابیس (ساعت)</label>
                        <input type="number" id="backup_interval_hours" name="backup_interval_hours"
                               min="1" max="168" step="1" value="{{ backup_interval_hours }}">
                    </div>
                    <div class="card-actions">
                        <button type="submit" class="btn-primary inline">ذخیره</button>
                    </div>
                </form>
            </div>

            <div class="card" style="margin-top:16px">
                <div class="card-title">بازیابی بکاپ دیتابیس</div>
                <p class="muted" style="font-size:.88rem;margin-bottom:12px;line-height:1.7">
                    فایل‌های بکاپ که ربات دامپ می‌کند (<code>.sql</code> یا <code>.sql.gz</code>) را اینجا آپلود کنید تا دیتابیس به همان وضعیت برگردد.
                    <br>
                    <strong style="color:var(--danger)">هشدار:</strong> این عمل داده‌های فعلی را با محتویات بکاپ جایگزین می‌کند. قبل از بازیابی از وضعیت فعلی بکاپ بگیرید.
                </p>
                <form method="POST" action="{{ url_for('bot_restore_backup') }}" enctype="multipart/form-data" id="restoreBackupForm">
                    <div class="form-group">
                        <label for="backup_file">فایل بکاپ</label>
                        <input type="file" id="backup_file" name="backup_file" accept=".sql,.gz,.sql.gz,application/gzip,application/sql,text/plain" required
                               style="width:100%;padding:12px;border:1px dashed var(--border);border-radius:12px;background:var(--glass2);cursor:pointer">
                    </div>
                    <label style="display:flex;align-items:flex-start;gap:10px;margin:14px 0 18px;cursor:pointer;font-size:.9rem;line-height:1.5">
                        <input type="checkbox" name="confirm_restore" value="1" id="confirm_restore" style="margin-top:3px;width:18px;height:18px;flex-shrink:0" required>
                        <span>تأیید می‌کنم که می‌خواهم دیتابیس فعلی با این بکاپ جایگزین شود و از پیامد آن آگاه هستم.</span>
                    </label>
                    <div class="card-actions" style="display:flex;flex-direction:column;gap:10px">
                        <button type="submit" class="btn-primary" id="btnRestoreBackup"
                                style="width:100%;min-height:48px;font-size:14px;font-weight:700;border-radius:12px;justify-content:center;gap:10px">
                            <span style="font-size:18px;line-height:1">♻️</span>
                            <span>آپلود و بازیابی بکاپ</span>
                        </button>
                    </div>
                </form>
                <script>
                (function(){
                    var form = document.getElementById('restoreBackupForm');
                    if (!form) return;
                    form.addEventListener('submit', function(e){
                        var cb = document.getElementById('confirm_restore');
                        var file = document.getElementById('backup_file');
                        if (!file || !file.files || !file.files.length) {
                            e.preventDefault();
                            alert('لطفاً فایل بکاپ را انتخاب کنید.');
                            return;
                        }
                        if (!cb || !cb.checked) {
                            e.preventDefault();
                            alert('تأیید امنیتی را فعال کنید.');
                            return;
                        }
                        if (!confirm('آیا مطمئن هستید؟ دیتابیس فعلی با محتویات این بکاپ جایگزین می‌شود.')) {
                            e.preventDefault();
                            return;
                        }
                        var btn = document.getElementById('btnRestoreBackup');
                        if (btn) {
                            btn.disabled = true;
                            btn.style.opacity = '0.7';
                            btn.innerHTML = '<span>⏳</span><span>در حال بازیابی… لطفاً صبر کنید</span>';
                        }
                    });
                })();
                </script>
            </div>

            <div class="card" style="margin-top:16px">
                <div class="card-title">آنتی‌اسپم</div>
                <p class="muted" style="font-size:.88rem;margin-bottom:12px">
                  اگر کاربر بیش از حد پیام بفرستد، برای مدت مشخص محدود می‌شود و هیچ پیام یا اکشنی انجام نمی‌دهد.
                </p>
                <form method="POST" action="{{ url_for('bot_settings') }}">
                    <input type="hidden" name="antispam_form" value="1">
                    <label style="display:flex;align-items:center;gap:8px;margin-bottom:12px">
                      <input type="checkbox" name="antispam_enabled" value="1" {% if antispam_enabled %}checked{% endif %}>
                      فعال بودن آنتی‌اسپم
                    </label>
                    <label style="display:flex;align-items:center;gap:8px;margin-bottom:12px">
                      <input type="checkbox" name="antispam_admins_exempt" value="1" {% if antispam_admins_exempt %}checked{% endif %}>
                      ادمین‌ها معاف باشند
                    </label>
                    <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px">
                      <div class="form-group"><label>حداکثر پیام</label>
                        <input type="number" name="antispam_max_hits" min="1" value="{{ antispam_max_hits }}"></div>
                      <div class="form-group"><label>بازه (ثانیه)</label>
                        <input type="number" name="antispam_window_sec" min="1" value="{{ antispam_window_sec }}"></div>
                      <div class="form-group"><label>مدت محدودیت (ثانیه)</label>
                        <input type="number" name="antispam_ban_sec" min="30" value="{{ antispam_ban_sec }}">
                        <p class="muted" style="font-size:.78rem;margin-top:4px">۳۰۰ = ۵ دقیقه</p>
                      </div>
                    </div>
                    <div class="form-group"><label>پیام هنگام محدودیت</label>
                      <textarea name="antispam_message" rows="3">{{ antispam_message }}</textarea>
                    </div>
                    <div class="card-actions">
                        <button type="submit" class="btn-primary inline">ذخیره آنتی‌اسپم</button>
                    </div>
                </form>
            </div>
        </div>
    </main>
</div>
{% endblock %}
