@extends('admin.layouts.layout')
@section('title', 'سفارش‌های ترب‌پی')

@section('content')
<div class="container-xxl flex-grow-1 container-p-y">

    <div class="d-flex align-items-center justify-content-between mb-4 flex-wrap gap-2">
        <div>
            <h4 class="mb-1">سفارش‌های ترب‌پی</h4>
            <p class="text-muted mb-0 small">مدیریت، بروزرسانی وضعیت و عودت سفارش‌های پرداخت‌شده با ترب‌پی</p>
        </div>
        <div class="d-flex gap-2">
            <a href="{{ route('admin.settings.torobpay') }}" class="btn btn-outline-secondary btn-sm">
                <i class="ti ti-settings me-1"></i>تنظیمات درگاه
            </a>
            <a href="{{ route('admin.settings.torobpay.support') }}" class="btn btn-outline-secondary btn-sm">
                <i class="ti ti-headset me-1"></i>پشتیبانی
            </a>
        </div>
    </div>

    @if(session('success'))
    <div class="alert alert-success alert-dismissible mb-4" role="alert">
        {{ session('success') }}
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
    @endif
    @if(session('error'))
    <div class="alert alert-danger alert-dismissible mb-4" role="alert">
        {{ session('error') }}
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
    @endif

    @if(!$configured)
    <div class="alert alert-warning mb-4">
        اطلاعات اتصال ترب‌پی کامل نیست. بروزرسانی وضعیت از API ممکن نیست.
        <a href="{{ route('admin.settings.torobpay') }}">تنظیمات درگاه</a>
    </div>
    @endif

    <div class="alert alert-info mb-4 py-2 small">
        <strong>توجه:</strong> ملاک وضعیت تراکنش، وضعیت درج‌شده در پنل فروشندگان ترب‌پی است.
        <a href="https://panel.torobpay.com/s" target="_blank" rel="noopener">ورود به پنل</a>
        <span class="mx-2">|</span>
        آخرین دریافت وضعیت:
        @if($lastUpdate > 0)
            {{ \Carbon\Carbon::createFromTimestamp($lastUpdate)->diffForHumans() }}
        @else
            هنوز بروزرسانی نشده
        @endif
    </div>

    <div class="card mb-4">
        <div class="card-body py-3">
            <form method="GET" action="{{ route('admin.settings.torobpay.orders') }}">
                <div class="row g-2 align-items-end">
                    <div class="col-md-2">
                        <label class="form-label small">شماره سفارش</label>
                        <input type="text" name="order_number" class="form-control" value="{{ request('order_number') }}" dir="ltr">
                    </div>
                    <div class="col-md-2">
                        <label class="form-label small">موبایل</label>
                        <input type="text" name="mobile" class="form-control" value="{{ request('mobile') }}" dir="ltr">
                    </div>
                    <div class="col-md-2">
                        <label class="form-label small">وضعیت</label>
                        <select name="status" class="form-select">
                            <option value="">همه</option>
                            @foreach($statuses as $val => $label)
                            <option value="{{ $val }}" {{ request('status') === $val ? 'selected' : '' }}>{{ $label }}</option>
                            @endforeach
                        </select>
                    </div>
                    <div class="col-md-2">
                        <label class="form-label small">از تاریخ</label>
                        <input type="date" name="date_from" class="form-control" value="{{ request('date_from') }}">
                    </div>
                    <div class="col-md-2">
                        <label class="form-label small">تا تاریخ</label>
                        <input type="date" name="date_to" class="form-control" value="{{ request('date_to') }}">
                    </div>
                    <div class="col-md-2 d-flex gap-2">
                        <button type="submit" class="btn btn-primary"><i class="ti ti-search"></i></button>
                        <a href="{{ route('admin.settings.torobpay.orders') }}" class="btn btn-outline-secondary">پاک</a>
                    </div>
                </div>
            </form>
        </div>
    </div>

    <form id="tpOrdersForm" method="POST">
        @csrf
        <div class="card">
            <div class="card-header d-flex flex-wrap align-items-center gap-2">
                <h5 class="mb-0 me-auto">لیست سفارش‌ها</h5>
                <button type="submit" formaction="{{ route('admin.settings.torobpay.orders.refresh') }}" class="btn btn-sm btn-outline-primary">
                    <i class="ti ti-refresh me-1"></i>بروزرسانی وضعیت
                </button>
                <button type="submit" formaction="{{ route('admin.settings.torobpay.orders.refund') }}"
                        class="btn btn-sm btn-outline-danger"
                        onclick="return confirm('آیا از عودت سفارش‌های انتخاب‌شده مطمئن هستید؟');">
                    <i class="ti ti-arrow-back-up me-1"></i>عودت سفارش
                </button>
                <button type="submit" formaction="{{ route('admin.settings.torobpay.orders.export') }}" class="btn btn-sm btn-outline-secondary">
                    <i class="ti ti-download me-1"></i>خروجی CSV
                </button>
            </div>
            <div class="card-body p-0">
                @if($orders->isEmpty())
                <div class="text-center py-5 text-muted">
                    <i class="ti ti-shopping-cart-off ti-lg mb-2 d-block"></i>
                    هیچ سفارشی با درگاه ترب‌پی یافت نشد.
                </div>
                @else
                <div class="table-responsive">
                    <table class="table table-hover align-middle mb-0">
                        <thead class="table-light">
                            <tr>
                                <th style="width:2rem">
                                    <input type="checkbox" class="form-check-input" id="tpCheckAll">
                                </th>
                                <th>شماره سفارش</th>
                                <th>تاریخ</th>
                                <th>مشتری</th>
                                <th>وضعیت سفارش</th>
                                <th>وضعیت تراکنش ترب‌پی</th>
                                <th>مبلغ</th>
                                <th></th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach($orders as $order)
                            @php
                                $tx = $order->transactions->first();
                                $gw = is_array($tx?->gateway_response) ? $tx->gateway_response : [];
                                $vStatus = $gw['torobpay_verification_status'] ?? null;
                                $apiTx = $gw['torobpay_api_transaction_id'] ?? $tx?->track_id;
                                $canRefund = in_array($order->status, ['paid', 'sent'], true) && empty($gw['torobpay_cancelled_api']);
                            @endphp
                            <tr>
                                <td>
                                    <input type="checkbox" class="form-check-input tp-order-cb" name="order_ids[]" value="{{ $order->id }}">
                                </td>
                                <td class="font-monospace small fw-medium" dir="ltr">{{ $order->order_number }}</td>
                                <td class="text-muted small">{{ $order->shamsi_date }}</td>
                                <td>
                                    <div class="fw-medium">{{ $order->user->first_name ?? '' }} {{ $order->user->last_name ?? '' }}</div>
                                    <div class="text-muted small" dir="ltr">{{ $order->user->mobile ?? '—' }}</div>
                                </td>
                                <td>
                                    <span class="badge bg-label-{{ $order->statusColor() }}">{{ $order->statusLabel() }}</span>
                                </td>
                                <td class="small">
                                    {{ \App\Services\TorobPayService::verificationStatusLabel($vStatus, $apiTx) }}
                                </td>
                                <td class="fw-bold">{{ number_format($order->payable_amount) }} تومان</td>
                                <td class="text-nowrap">
                                    <a href="{{ route('admin.orders.show', $order) }}" class="btn btn-sm btn-outline-primary">
                                        <i class="ti ti-eye ti-xs"></i>
                                    </a>
                                    @if($canRefund)
                                    <button type="submit"
                                            formaction="{{ route('admin.settings.torobpay.orders.refund') }}"
                                            name="order_id" value="{{ $order->id }}"
                                            class="btn btn-sm btn-danger"
                                            onclick="return confirm('آیا از عودت این سفارش مطمئن هستید؟');">
                                        عودت
                                    </button>
                                    @else
                                    <button type="button" class="btn btn-sm btn-secondary" disabled>عودت</button>
                                    @endif
                                </td>
                            </tr>
                            @endforeach
                        </tbody>
                    </table>
                </div>
                @endif
            </div>
            @if($orders->hasPages())
            <div class="card-footer">
                {{ $orders->links() }}
            </div>
            @endif
        </div>
    </form>
</div>
@endsection

@section('customjs')
<script>
$(function () {
    $('#tpCheckAll').on('change', function () {
        $('.tp-order-cb').prop('checked', $(this).is(':checked'));
    });
});
</script>
@endsection
