@extends('admin.layouts.layout')
@section('title', isset($shippingMethod) ? 'ویرایش روش ارسال' : 'افزودن روش ارسال')

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

    <div class="d-flex align-items-center justify-content-between mb-4">
        <div>
            <h4 class="mb-1">{{ isset($shippingMethod) ? 'ویرایش روش ارسال' : 'افزودن روش ارسال' }}</h4>
            <p class="text-muted mb-0 small">تعریف یا ویرایش شیوه حمل و نقل</p>
        </div>
        <a href="{{ route('admin.settings.shipping-methods.index') }}" class="btn btn-outline-secondary">
            <i class="ti ti-arrow-right me-1"></i> بازگشت
        </a>
    </div>

    @if($errors->any())
    <div class="alert alert-danger alert-dismissible mb-4" role="alert">
        <ul class="mb-0 ps-3">
            @foreach($errors->all() as $e)
            <li>{{ $e }}</li>
            @endforeach
        </ul>
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
    @endif

    <form method="POST"
          action="{{ isset($shippingMethod)
              ? route('admin.settings.shipping-methods.update', $shippingMethod)
              : route('admin.settings.shipping-methods.store') }}">
        @csrf
        @if(isset($shippingMethod)) @method('PUT') @endif

        <div class="row gy-4">

            {{-- ── Basic Info ─────────────────────────────────────── --}}
            <div class="col-12">
                <div class="card">
                    <div class="card-header d-flex align-items-center gap-2">
                        <i class="ti ti-truck ti-md text-primary"></i>
                        <h5 class="mb-0">اطلاعات روش ارسال</h5>
                    </div>
                    <div class="card-body">
                        <div class="row g-3">

                            <div class="col-md-6">
                                <label class="form-label fw-medium">نام روش ارسال <span class="text-danger">*</span></label>
                                <input type="text" name="name" class="form-control @error('name') is-invalid @enderror"
                                    value="{{ old('name', $shippingMethod->name ?? '') }}"
                                    placeholder="مثلاً: پست معمولی، تیپاکس، پیک موتوری"
                                    required>
                                @error('name')<div class="invalid-feedback">{{ $message }}</div>@enderror
                            </div>

                            <div class="col-md-6">
                                <label class="form-label fw-medium">ترتیب نمایش</label>
                                <input type="number" name="sort_order" class="form-control"
                                    value="{{ old('sort_order', $shippingMethod->sort_order ?? 0) }}"
                                    min="0">
                            </div>

                            <div class="col-12">
                                <label class="form-label fw-medium">نوع روش ارسال <span class="text-danger">*</span></label>
                                <div class="d-flex flex-wrap gap-3">
                                    <label class="shipping-type-card" data-type="manual">
                                        <input type="radio" name="type" value="manual" class="d-none type-radio"
                                            {{ old('type', $shippingMethod->type ?? 'manual') === 'manual' ? 'checked' : '' }}>
                                        <div class="card border p-3 text-center h-100">
                                            <i class="ti ti-package ti-lg text-secondary mb-2"></i>
                                            <div class="fw-medium">دستی</div>
                                            <small class="text-muted">هزینه ثابت بر اساس وزن</small>
                                        </div>
                                    </label>
                                    @if($amadastEnabled)
                                    <label class="shipping-type-card" data-type="amadast">
                                        <input type="radio" name="type" value="amadast" class="d-none type-radio"
                                            {{ old('type', $shippingMethod->type ?? '') === 'amadast' ? 'checked' : '' }}>
                                        <div class="card border p-3 text-center h-100">
                                            <i class="ti ti-rocket ti-lg text-primary mb-2"></i>
                                            <div class="fw-medium">آمادست</div>
                                            <small class="text-muted">قیمت‌گذاری خودکار از API</small>
                                        </div>
                                    </label>
                                    @else
                                    <div class="card border p-3 text-center opacity-50 shipping-type-card">
                                        <i class="ti ti-rocket ti-lg text-muted mb-2"></i>
                                        <div class="fw-medium text-muted">آمادست</div>
                                        <small class="text-muted">ابتدا آمادست را فعال کنید</small>
                                    </div>
                                    @endif
                                </div>
                            </div>

                        </div>
                    </div>
                </div>
            </div>

            {{-- ── Cost Settings (manual) ──────────────────────────── --}}
            <div class="col-12" id="manual-cost-section">
                <div class="card">
                    <div class="card-header d-flex align-items-center gap-2">
                        <i class="ti ti-currency-toman ti-md text-primary"></i>
                        <h5 class="mb-0">تعرفه ارسال</h5>
                    </div>
                    <div class="card-body">
                        <div class="row g-3">
                            <div class="col-md-6">
                                <label class="form-label fw-medium">هزینه ثابت (تومان)</label>
                                <input type="number" name="fixed_cost" class="form-control @error('fixed_cost') is-invalid @enderror"
                                    value="{{ old('fixed_cost', $shippingMethod->fixed_cost ?? 0) }}"
                                    min="0" step="1000">
                                <div class="form-text">مبلغ پایه‌ای که برای هر سفارش دریافت می‌شود.</div>
                                @error('fixed_cost')<div class="invalid-feedback">{{ $message }}</div>@enderror
                            </div>
                            <div class="col-md-6">
                                <label class="form-label fw-medium">هزینه به ازای هر ۱۰۰۰ گرم اضافی (تومان)</label>
                                <input type="number" name="cost_per_1000g" class="form-control @error('cost_per_1000g') is-invalid @enderror"
                                    value="{{ old('cost_per_1000g', $shippingMethod->cost_per_1000g ?? 0) }}"
                                    min="0" step="1000">
                                <div class="form-text">بر اساس وزن کل سبد خرید محاسبه می‌شود.</div>
                                @error('cost_per_1000g')<div class="invalid-feedback">{{ $message }}</div>@enderror
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            {{-- ── Amadast Courier ─────────────────────────────────── --}}
            <div class="col-12 d-none" id="amadast-courier-section">
                <div class="card">
                    <div class="card-header d-flex align-items-center gap-2">
                        <i class="ti ti-rocket ti-md text-primary"></i>
                        <h5 class="mb-0">انتخاب کوریر آمادست</h5>
                    </div>
                    <div class="card-body">
                        <label class="form-label fw-medium">کوریر <span class="text-danger">*</span></label>
                        <select name="amadast_courier_id" class="form-select @error('amadast_courier_id') is-invalid @enderror">
                            <option value="">انتخاب کوریر...</option>
                            @foreach($couriers as $id => $label)
                            <option value="{{ $id }}"
                                {{ old('amadast_courier_id', $shippingMethod->amadast_courier_id ?? '') == $id ? 'selected' : '' }}>
                                {{ $label }}
                            </option>
                            @endforeach
                        </select>
                        <div class="form-text">قیمت ارسال به صورت زنده از API آمادست محاسبه می‌شود.</div>
                        @error('amadast_courier_id')<div class="invalid-feedback">{{ $message }}</div>@enderror
                    </div>
                </div>
            </div>

            {{-- ── Active Toggle ───────────────────────────────────── --}}
            <div class="col-12">
                <div class="card">
                    <div class="card-body d-flex align-items-center justify-content-between">
                        <div>
                            <div class="fw-medium">وضعیت روش ارسال</div>
                            <small class="text-muted">روش‌های غیرفعال در صفحه پرداخت نمایش داده نمی‌شوند.</small>
                        </div>
                        <div class="form-check form-switch mb-0">
                            <input class="form-check-input" type="checkbox" name="is_active" value="1"
                                {{ old('is_active', $shippingMethod->is_active ?? true) ? 'checked' : '' }}>
                        </div>
                    </div>
                </div>
            </div>

            <div class="col-12">
                <button type="submit" class="btn btn-primary">
                    <i class="ti ti-device-floppy me-1"></i>
                    {{ isset($shippingMethod) ? 'ذخیره تغییرات' : 'افزودن روش ارسال' }}
                </button>
            </div>

        </div>
    </form>

</div>
@endsection

@section('customjs')
<script>
(function() {
    var manualSection  = document.getElementById('manual-cost-section');
    var amadastSection = document.getElementById('amadast-courier-section');
    var cards          = document.querySelectorAll('.shipping-type-card');

    function updateType(val) {
        if (val === 'amadast') {
            manualSection.classList.add('d-none');
            amadastSection.classList.remove('d-none');
        } else {
            manualSection.classList.remove('d-none');
            amadastSection.classList.add('d-none');
        }
        cards.forEach(function(card) {
            var inner = card.querySelector('.card');
            if (card.dataset.type === val) {
                inner.classList.add('border-primary');
            } else {
                inner.classList.remove('border-primary');
            }
        });
    }

    cards.forEach(function(card) {
        card.addEventListener('click', function() {
            var radio = this.querySelector('input[type=radio]');
            radio.checked = true;
            updateType(radio.value);
        });
    });

    var checked = document.querySelector('.type-radio:checked');
    if (checked) updateType(checked.value);
})();
</script>
@endsection
