<!doctype html>
<html lang="ar" dir="rtl" data-theme="light">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>حذف الفواتير (Admin)</title>
  <style>
    :root{ /* default = dim */
  --bg:#121826;
  --card:#151e30;
  --surface:#101827;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --border:rgba(255,255,255,.10);
  --shadow:0 18px 40px rgba(0,0,0,.22);

  --btn:#6366f1;
  --btnText:#ffffff;
  --btn2Bg:rgba(255,255,255,.03);
  --btn2Text:#e5e7eb;
  --btn2Border:rgba(255,255,255,.14);

  --okBg:rgba(34,197,94,.14);
  --okBorder:rgba(34,197,94,.32);
  --okText:#bbf7d0;

  --errBg:rgba(239,68,68,.14);
  --errBorder:rgba(239,68,68,.35);
  --errText:#fecaca;

  --onBg:rgba(34,197,94,.14);
  --onBorder:rgba(34,197,94,.32);
  --onText:#bbf7d0;

  --offBg:rgba(239,68,68,.14);
  --offBorder:rgba(239,68,68,.35);
  --offText:#fecaca;
}

/* ✅ Dark (أغمق) */
html[data-theme="dark"]{
  --bg:#070b14;
  --surface:#0b1220;
  --card:#0f172a;
}

/* ✅ Light (نفس تصميمك القديم) */
html[data-theme="light"]{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --shadow:0 10px 25px rgba(0,0,0,.06);

  --btn:#111827;
  --btnText:#ffffff;
  --btn2Bg:#ffffff;
  --btn2Text:#111827;
  --btn2Border:#d1d5db;

  --okBg:#ecfdf3;
  --okBorder:#bbf7d0;
  --okText:#166534;

  --errBg:#fef2f2;
  --errBorder:#fecaca;
  --errText:#991b1b;

  --onBg:#ecfdf3;
  --onBorder:#bbf7d0;
  --onText:#166534;

  --offBg:#fef2f2;
  --offBorder:#fecaca;
  --offText:#991b1b;
}

    *{box-sizing:border-box}
    body{font-family:Arial,sans-serif;margin:32px;background:var(--bg);color:var(--text)}
html[data-theme="dim"] body,
html[data-theme="dark"] body{background:linear-gradient(180deg, var(--bg), var(--bg));}
    .container{max-width:1100px;margin:0 auto}

    .bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
    .title{font-weight:900;font-size:18px}
    .subtitle{color:var(--muted);font-size:13px;margin-top:4px}
    .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

    .btn{padding:10px 12px;border-radius:12px;background:var(--btn);color:var(--btnText);border:0;cursor:pointer;font-weight:800;font-size:13px}
    .btn2{padding:10px 12px;border-radius:12px;background:var(--btn2Bg);color:var(--btn2Text);border:1px solid var(--btn2Border);cursor:pointer;text-decoration:none;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:8px}

    .btnRed{background:#dc2626;color:#fff;border:0}
    .btnGreen{background:#16a34a;color:#fff;border:0}
    .btnRed:disabled,.btnGreen:disabled{opacity:.5;cursor:not-allowed}

    .card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}

    .alert{padding:12px;border-radius:12px;border:1px solid;font-weight:800;margin-bottom:14px}
    .alert.ok{background:var(--okBg);border-color:var(--okBorder);color:var(--okText)}
    .alert.err{background:var(--errBg);border-color:var(--errBorder);color:var(--errText)}

    .dangerBox{border:1px dashed var(--errBorder);background:var(--errBg);color:var(--errText);border-radius:14px;padding:14px;font-weight:900;line-height:1.7}
    .small{font-size:12px;color:var(--muted);font-weight:800;margin-top:8px}

    .topRow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
    .hint{color:var(--muted);font-size:12px;font-weight:800}

    label{display:block;font-size:12px;color:var(--muted);font-weight:800;margin-bottom:6px}
    input,select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:12px;outline:none;font-size:14px;background:var(--surface);color:var(--text)}
    input:focus,select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(156,163,175,.25)}
    input[disabled]{opacity:.7}

    .grid{display:grid;grid-template-columns:.75fr .6fr .6fr;gap:12px;align-items:end}
    @media (max-width:980px){body{margin:18px}.grid{grid-template-columns:1fr 1fr}}
    @media (max-width:560px){.grid{grid-template-columns:1fr}}

    .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin-top:12px}
    @media (max-width:720px){.grid2{grid-template-columns:1fr}}

    .footerActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-top:14px}

    .pill{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid;white-space:nowrap}
    .pill.on{background:var(--onBg);border-color:var(--onBorder);color:var(--onText)}
    .pill.off{background:var(--offBg);border-color:var(--offBorder);color:var(--offText)}

    .tableWrap{overflow:auto;border-radius:12px;border:1px solid var(--border)}
    table{width:100%;border-collapse:collapse;min-width:900px;background:var(--surface)}
    th,td{padding:12px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle}
    th{background:rgba(255,255,255,.04);font-weight:900;font-size:13px;white-space:nowrap}
html[data-theme="light"] th{background:#f9fafb}
    td{font-size:13px}
    tr:hover td{background:rgba(99,102,241,.08)}
html[data-theme="light"] tr:hover td{background:#fafafa}
    .dim{opacity:.55}
    .mono{direction:ltr;text-align:left;font-weight:900;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
    .btn2.danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.35);color:#fff}
html[data-theme="light"] .btn2.danger{background:#fff;border-color:rgba(220,38,38,.25);color:#dc2626}
  </style>

  <!-- ✅ Apply saved theme ASAP (avoid flash) -->
  <script>
    (function(){
      const themes = ["light","dim","dark"];
      const key = "ui_theme";
      const saved = localStorage.getItem(key);
      const t = (saved && themes.includes(saved)) ? saved : (document.documentElement.getAttribute("data-theme") || "light");
      document.documentElement.setAttribute("data-theme", t);
    })();
  </script>
</head>
<body>
<div class="container">

  <?php
    $tz = config('app.timezone', 'Asia/Riyadh');

    $sessSig = session('invoices_backup_sig');
    $sessAt  = (int) session('invoices_backup_at', 0);

    $fromNorm = $from ? \Carbon\Carbon::parse($from)->format('Y-m-d') : null;
    $toNorm   = $to ? \Carbon\Carbon::parse($to)->format('Y-m-d') : null;

    $currentSig = sha1(json_encode([
      'branch_id' => ($branchId !== '' ? (int)$branchId : null),
      'from' => $fromNorm,
      'to'   => $toNorm,
    ]));

    $isToday = $sessAt > 0 && \Carbon\Carbon::createFromTimestamp($sessAt, $tz)->isSameDay(\Carbon\Carbon::now($tz));
    $backupOk = $sessSig && $sessSig === $currentSig && $isToday;
  ?>

  <div class="bar">
    <div>
      <div class="title">حذف الفواتير (Admin)</div>
      <div class="subtitle">نسخ قاعدة البيانات اليوم إجباري قبل الحذف</div>
    </div>
    <div class="actions">
      <a class="btn2" href="/dashboard/sales">مبيعات الفروع</a>
      <button class="btn2" type="button" id="themeBtn">🎨 المظهر</button>
      <form method="POST" action="/logout" style="display:inline">
        <?php echo csrf_field(); ?>
                <button class="btn2 danger" type="submit">خروج</button>
      </form>
    </div>
  </div>

  <?php if(session('success')): ?>
    <div class="alert ok"><?php echo e(session('success')); ?></div>
  <?php endif; ?>
  <?php if(session('error')): ?>
    <div class="alert err"><?php echo e(session('error')); ?></div>
  <?php endif; ?>

  <div class="card">
    <div class="dangerBox">
      ⚠️ تحذير: هذا الحذف <b>نهائي</b> ولا يمكن التراجع عنه.<br>
      ✅ لازم تضغط زر <b>نسخ قاعدة البيانات</b> اليوم (إجباري) لنفس الفلاتر.<br>
      ✅ بعد النسخ اكتب: <b>DELETE INVOICES</b>
    </div>
  </div>

  <div class="card">
    <div class="topRow">
      <div style="font-weight:900;">الفلاتر</div>
      <div class="hint">1) اختر الفلاتر 2) تطبيق (إجباري) 3) النسخ والحذف</div>
    </div>

    <form method="GET" action="<?php echo e(route('admin.invoices.purge.form')); ?>" id="filterForm">
      <div class="grid">
        <div>
          <label>الفرع</label>
          <select name="branch_id" id="branch_id">
            <option value="" data-label="كل الفروع">كل الفروع</option>
            <?php $__currentLoopData = $branches; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $br): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
              <option value="<?php echo e($br->id); ?>"
                      data-label="<?php echo e($br->branch_no); ?> - <?php echo e($br->name); ?>"
                      <?php if((string)$branchId === (string)$br->id): echo 'selected'; endif; ?>>
                <?php echo e($br->branch_no); ?> - <?php echo e($br->name); ?>

              </option>
            <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
          </select>
        </div>

        <div>
          <label>من تاريخ (اختياري)</label>
          <input type="date" name="from" id="from" value="<?php echo e($from); ?>">
        </div>

        <div>
          <label>إلى تاريخ (اختياري)</label>
          <input type="date" name="to" id="to" value="<?php echo e($to); ?>">
        </div>
      </div>

      <div class="footerActions">
        <button class="btn" type="submit">تطبيق</button>
        <a class="btn2" href="<?php echo e(route('admin.invoices.purge.form')); ?>">مسح</a>

        <?php if($backupOk): ?>
          <span class="pill on">تم النسخ اليوم ✅</span>
        <?php else: ?>
          <span class="pill off">لم يتم النسخ اليوم</span>
        <?php endif; ?>

        <a class="btn2"
           href="<?php echo e(route('admin.invoices.backup', ['branch_id'=>$branchId, 'from'=>$from, 'to'=>$to])); ?>"
           id="backupBtn">نسخ قاعدة البيانات</a>
      </div>
    </form>
  </div>

  <div class="card">
    <div class="topRow">
      <div style="font-weight:900;">الحذف النهائي</div>
      <div class="hint">سيظهر تأكيد يوضح الفرع/كل الفروع + الفترة قبل التنفيذ</div>
    </div>

    <form method="POST" action="<?php echo e(route('admin.invoices.purge.do')); ?>" id="deleteForm">
      <?php echo csrf_field(); ?>
      <input type="hidden" name="branch_id" value="<?php echo e($branchId); ?>">
      <input type="hidden" name="from" value="<?php echo e($from); ?>">
      <input type="hidden" name="to" value="<?php echo e($to); ?>">

      <div class="grid2">
        <div>
          <label>جملة التأكيد</label>
          <input type="text" name="confirm_text" id="confirm_text" placeholder="DELETE INVOICES" required>
          <div class="small">لازم تكتبها حرفيًا: DELETE INVOICES</div>
        </div>

        <div>
          <label>الحالة</label>
          <input type="text" value="<?php echo e($backupOk ? 'تم النسخ اليوم ✅' : 'لم يتم النسخ اليوم ❌'); ?>" disabled>
          <div class="small">الحذف يتفعل فقط بعد النسخ (اليوم) لنفس الفلاتر.</div>
        </div>
      </div>

      <div class="footerActions">
        <button class="btn btnRed" type="submit" id="deleteBtn" <?php echo e($backupOk ? '' : 'disabled'); ?>>
          حذف نهائي للفواتير
        </button>
      </div>
    </form>
  </div>

  
  <div class="card" id="restoreSection">
    <div class="topRow">
      <div style="font-weight:900;">استرجاع نسخة احتياطية</div>
      <div class="hint">الاسترجاع يستبدل جدول الفواتير بالكامل — مسموح فقط لنسخ (كل الفروع)</div>
    </div>

    <div class="tableWrap">
      <table>
        <thead>
          <tr>
            <th>اختيار</th>
            <th>النوع</th>
            <th>الفترة</th>
            <th>عدد السجلات</th>
            <th>التاريخ</th>
            <th>اسم جدول النسخة</th>
          </tr>
        </thead>
        <tbody>
          <?php $__empty_1 = true; $__currentLoopData = ($recentBackups ?? collect()); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $b): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?>
            <?php
              $isAll = ((int)$b->is_all_branches === 1);
              $range = ($b->from_date || $b->to_date)
                ? (($b->from_date ?? '—').' → '.($b->to_date ?? '—'))
                : 'بدون تحديد';
              $createdAt = $b->created_at ? \Carbon\Carbon::parse($b->created_at)->format('Y-m-d H:i') : '-';
            ?>
            <tr class="<?php echo e($isAll ? '' : 'dim'); ?>">
              <td>
                <input type="radio"
                       name="backup_pick"
                       value="<?php echo e($b->id); ?>"
                       data-table="<?php echo e($b->backup_table); ?>"
                       data-created="<?php echo e($createdAt); ?>"
                       data-count="<?php echo e((int)$b->rows_count); ?>"
                       <?php echo e($isAll ? '' : 'disabled'); ?>>
              </td>
              <td><?php echo e($isAll ? 'كل الفروع' : 'فرع واحد'); ?></td>
              <td><?php echo e($range); ?></td>
              <td><?php echo e((int)$b->rows_count); ?></td>
              <td><?php echo e($createdAt); ?></td>
              <td class="mono"><?php echo e($b->backup_table); ?></td>
            </tr>
          <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?>
            <tr>
              <td colspan="6" style="text-align:center;color:var(--muted);font-weight:800;padding:16px">
                لا توجد نسخ احتياطية حتى الآن
              </td>
            </tr>
          <?php endif; ?>
        </tbody>
      </table>
    </div>

    <form method="POST" action="<?php echo e(route('admin.invoices.restore')); ?>" id="restoreForm" style="margin-top:12px">
      <?php echo csrf_field(); ?>
      <input type="hidden" name="backup_id" id="backup_id">

      <div class="footerActions">
        <button type="submit" class="btn btnGreen" id="restoreBtn" disabled>
          استرجاع النسخة المحددة
        </button>
        <div class="small">⚠️ سيتم استبدال جدول الفواتير بالكامل بهذه النسخة.</div>
      </div>
    </form>
  </div>

</div>

<script>
(function(){
  function urlParams(){
    const u = new URL(window.location.href);
    return {
      branch_id: u.searchParams.get('branch_id') || '',
      from: u.searchParams.get('from') || '',
      to: u.searchParams.get('to') || ''
    };
  }

  function selectedLabel(){
    const sel = document.getElementById('branch_id');
    const opt = sel && sel.options[sel.selectedIndex];
    return opt && opt.dataset && opt.dataset.label ? opt.dataset.label : 'كل الفروع';
  }

  function isApplied(){
    const up = urlParams();
    const formBranch = (document.getElementById('branch_id')?.value || '');
    const formFrom = (document.getElementById('from')?.value || '');
    const formTo = (document.getElementById('to')?.value || '');
    return (up.branch_id === formBranch) && (up.from === formFrom) && (up.to === formTo);
  }

  const backupBtn = document.getElementById('backupBtn');
  if (backupBtn){
    backupBtn.addEventListener('click', function(e){
      if (!isApplied()){
        e.preventDefault();
        alert("قبل النسخ لازم تضغط (تطبيق) لتثبيت الفلاتر ثم تأكد من كل شيء.");
        return false;
      }
      if (!confirm("سيتم إنشاء نسخة احتياطية حسب الفلاتر الحالية. متابعة؟")){
        e.preventDefault(); return false;
      }
    });
  }

  const deleteForm = document.getElementById('deleteForm');
  if (deleteForm){
    deleteForm.addEventListener('submit', function(e){
      if (!isApplied()){
        e.preventDefault();
        alert("قبل الحذف لازم تضغط (تطبيق) لتثبيت الفلاتر ثم تأكد من كل شيء.");
        return false;
      }
      const up = urlParams();
      const branchLabel = up.branch_id ? selectedLabel() : "كل الفروع";
      const rangeText = (up.from || up.to)
        ? ("الفترة: " + (up.from ? up.from : "—") + " إلى " + (up.to ? up.to : "—"))
        : "الفترة: بدون تحديد";
      const msg = "تنبيه نهائي!\nسيتم حذف فواتير: " + branchLabel + "\n" + rangeText + "\n\nهل تريد المتابعة؟";
      if (!confirm(msg)){ e.preventDefault(); return false; }
    });
  }

  const restoreBtn = document.getElementById('restoreBtn');
  const backupIdInput = document.getElementById('backup_id');
  const restoreForm = document.getElementById('restoreForm');

  function updateRestoreState(){
    const pick = document.querySelector('input[name="backup_pick"]:checked');
    restoreBtn.disabled = !pick;
  }
  document.querySelectorAll('input[name="backup_pick"]').forEach(function(r){
    r.addEventListener('change', updateRestoreState);
  });
  updateRestoreState();

  if (restoreForm){
    restoreForm.addEventListener('submit', function(e){
      const pick = document.querySelector('input[name="backup_pick"]:checked');
      if (!pick){
        e.preventDefault();
        alert("اختر نسخة احتياطية (كل الفروع) أولاً.");
        return false;
      }
      backupIdInput.value = pick.value;

      const tbl = pick.dataset.table || '';
      const dt  = pick.dataset.created || '';
      const cnt = pick.dataset.count || '0';

      const msg =
        "تأكيد الاسترجاع:\n" +
        "النسخة: " + tbl + "\n" +
        "التاريخ: " + dt + "\n" +
        "عدد السجلات: " + cnt + "\n\n" +
        "سيتم استبدال كل بيانات sales_invoices بالكامل.\n" +
        "هل تريد المتابعة؟";

      if (!confirm(msg)){
        e.preventDefault(); return false;
      }
    });
  }
})();
</script>

<script>
(function(){
  const themes = ["light","dim","dark"];
  const key = "ui_theme";
  const html = document.documentElement;
  const btn = document.getElementById("themeBtn");

  function label(t){
    if(t === "light") return "☀️ فاتح";
    if(t === "dark") return "🌙 غامق";
    return "🌗 مريح";
  }

  function apply(t){
    html.setAttribute("data-theme", t);
    localStorage.setItem(key, t);
    if(btn) btn.textContent = "🎨 " + label(t);
  }

  const saved = localStorage.getItem(key);
  const t = (saved && themes.includes(saved)) ? saved : (html.getAttribute("data-theme") || "light");
  apply(t);

  if(btn){
    btn.addEventListener("click", function(){
      const cur = html.getAttribute("data-theme") || "light";
      const idx = themes.indexOf(cur);
      const next = themes[(idx + 1) % themes.length];
      apply(next);
    });
  }
})();
</script>

</body>
</html>
<?php /**PATH /home/mylaundry26/public_html/apps/ngharbia/resources/views/admin_invoices_purge.blade.php ENDPATH**/ ?>