<?php
require_once __DIR__ . '/_layout.php';
web_require_perm('settings');
$svc = WEB_ADMIN_ROOT . '/app/Services/ReactionService.php';
if(is_file($svc)) require_once $svc;
if(!function_exists('bot_reaction_settings')){ http_response_code(500); exit('ReactionService.php لود نشده است.'); }

if($_SERVER['REQUEST_METHOD']==='POST'){
    web_check_csrf();
    $action = (string)($_POST['action'] ?? '');
    $s = bot_reaction_settings();
    if($action === 'save_general'){
        $s['enabled'] = !empty($_POST['enabled']) ? '✅فعال' : '❌غیر فعال';
        $s['min_qty'] = max(1, web_int($_POST['min_qty'] ?? 10));
        $s['max_qty'] = max($s['min_qty'], web_int($_POST['max_qty'] ?? 100));
        bot_reaction_write_json(bot_reaction_settings_path(), $s);
        web_admin_log('web_reaction_general_save','reaction',null,'ذخیره تنظیمات کلی فروش ری‌اکشن');
        web_flash('success','تنظیمات کلی ری‌اکشن ذخیره شد.');
    } elseif($action === 'save_products'){
        for($i=1;$i<=8;$i++){
            if(!isset($s['products'][$i]) || !is_array($s['products'][$i])) $s['products'][$i]=['id'=>$i];
            $s['products'][$i]['id']=$i;
            $s['products'][$i]['active'] = !empty($_POST['active'][$i]) ? '✅فعال' : '❌غیر فعال';
            $s['products'][$i]['title'] = mb_substr(trim((string)($_POST['title'][$i] ?? '')),0,80,'UTF-8');
            $s['products'][$i]['emoji'] = mb_substr(trim((string)($_POST['emoji'][$i] ?? '')),0,12,'UTF-8');
            $s['products'][$i]['unit_price'] = max(0, web_int($_POST['unit_price'][$i] ?? 0));
        }
        bot_reaction_write_json(bot_reaction_settings_path(), $s);
        web_admin_log('web_reaction_products_save','reaction',null,'ذخیره محصولات ری‌اکشن');
        web_flash('success','محصولات ری‌اکشن ذخیره شد.');
    }
    web_redirect('reactions.php');
}

$s = bot_reaction_settings();
$orders = bot_reaction_orders_read();
$ordersRev = array_reverse($orders, true);
web_header('فروش ری‌اکشن');
?>
<section class="grid cards">
<?php
$pending=$paid=$submitted=0; $income=0;
foreach($orders as $o){ if(!is_array($o)) continue; $st=(string)($o['status']??''); if(strpos($st,'awaiting')===0)$pending++; if($st==='paid_waiting_link')$paid++; if($st==='submitted')$submitted++; if(in_array($st,['paid_waiting_link','submitted','done'],true)) $income+=(int)($o['amount']??0); }
web_card('وضعیت فروش', $s['enabled']==='✅فعال'?'فعال':'غیرفعال', 'حداقل '.(int)$s['min_qty'].' / حداکثر '.(int)$s['max_qty']);
web_card('در انتظار پرداخت/رسید', number_format($pending));
web_card('پرداخت شده منتظر لینک', number_format($paid));
web_card('ارسال شده برای ادمین', number_format($submitted), number_format($income).' ریال درآمد ثبت‌شده');
?>
</section>

<section class="card">
<h2>تنظیمات کلی فروش ری‌اکشن</h2>
<form method="post" class="grid" style="grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px">
<?php web_csrf_input(); ?><input type="hidden" name="action" value="save_general">
<label class="check"><input type="checkbox" name="enabled" value="1" <?= $s['enabled']==='✅فعال'?'checked':'' ?>> فروش ری‌اکشن فعال باشد</label>
<div class="field"><label>حداقل تعداد خرید</label><input type="number" name="min_qty" value="<?=web_h($s['min_qty'])?>" min="1"></div>
<div class="field"><label>حداکثر تعداد خرید</label><input type="number" name="max_qty" value="<?=web_h($s['max_qty'])?>" min="1"></div>
<div style="align-self:end"><button>ذخیره تنظیمات کلی</button></div>
</form>
</section>

<section class="card">
<h2>محصولات ری‌اکشن</h2>
<form method="post"><?php web_csrf_input(); ?><input type="hidden" name="action" value="save_products">
<?php web_table_start(['فعال','ردیف','نام محصول','ایموجی','قیمت هر عدد به ریال']); ?>
<?php for($i=1;$i<=8;$i++): $p=$s['products'][$i] ?? ['active'=>'❌غیر فعال','title'=>'','emoji'=>'','unit_price'=>0]; ?>
<tr>
<td><input type="checkbox" name="active[<?=$i?>]" value="1" <?= ($p['active']??'')==='✅فعال'?'checked':'' ?>></td>
<td><?=$i?></td>
<td><input name="title[<?=$i?>]" value="<?=web_h($p['title']??'')?>" placeholder="مثلاً ری‌اکشن قلب"></td>
<td><input name="emoji[<?=$i?>]" value="<?=web_h($p['emoji']??'')?>" placeholder="❤️" style="max-width:90px"></td>
<td><input type="number" name="unit_price[<?=$i?>]" value="<?=web_h($p['unit_price']??0)?>" min="0"></td>
</tr>
<?php endfor; ?>
<?php web_table_end(); ?>
<p><button>ذخیره محصولات</button></p>
</form>
</section>

<section class="card">
<h2>آخرین سفارش‌های ری‌اکشن</h2>
<?php web_table_start(['زمان','سفارش','کاربر','محصول','تعداد','مبلغ','روش','وضعیت','لینک']); ?>
<?php $i=0; foreach($ordersRev as $o): if(!is_array($o)) continue; if(++$i>80) break; ?>
<tr>
<td><?=web_h(date('Y-m-d H:i', (int)($o['created_at']??time())))?></td>
<td><code><?=web_h($o['id']??'')?></code></td>
<td><code><?=web_h($o['user_id']??'')?></code></td>
<td><?=web_h($o['product_title']??'')?></td>
<td><?=number_format((int)($o['qty']??0))?></td>
<td><?=number_format((int)($o['amount']??0))?> ریال</td>
<td><?=web_h($o['method']??'')?></td>
<td><span class="badge"><?=web_h($o['status']??'')?></span></td>
<td style="max-width:260px;overflow:hidden;text-overflow:ellipsis"><code><?=web_h($o['target_link']??'')?></code></td>
</tr>
<?php endforeach; if($i===0): ?><tr><td colspan="9">هنوز سفارشی ثبت نشده است.</td></tr><?php endif; ?>
<?php web_table_end(); ?>
</section>
<?php web_footer(); ?>
