@extends('layouts.app')
@section('title', 'استيراد فواتير العملاء')

@section('content')
    <div class="min-h-screen bg-gradient-to-br from-slate-50 to-slate-100 py-8 px-4 md:px-8">
        <div class="max-w-4xl mx-auto">

            {{-- Header --}}
            <div class="mb-8">
                <div class="flex items-center justify-between mb-4">
                    <div>
                        <h1 class="text-3xl font-bold text-gray-900 mb-2">استيراد فواتير العملاء</h1>
                        <p class="text-gray-600">استيراد فواتير متعددة من ملف Excel بسهولة وأمان</p>
                    </div>
                    <a href="{{ route('customer-invoices.index') }}" class="text-blue-600 hover:text-blue-700">
                        <i class="fas fa-arrow-left ml-2"></i> العودة
                    </a>
                </div>
            </div>

            {{-- Main Card --}}
            <div class="bg-white rounded-xl shadow-lg overflow-hidden">

                {{-- Steps Section --}}
                <div class="bg-gradient-to-r from-blue-50 to-indigo-50 px-6 py-8 border-b border-gray-200">
                    <h2 class="text-xl font-bold text-gray-900 mb-6">خطوات الاستيراد</h2>

                    <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
                        {{-- Step 1 --}}
                        <div class="flex flex-col items-center text-center">
                            <div
                                class="w-12 h-12 bg-blue-600 text-white rounded-full flex items-center justify-center font-bold text-lg mb-3">
                                1
                            </div>
                            <h3 class="font-semibold text-gray-900 mb-2">تنزيل القالب</h3>
                            <p class="text-gray-600 text-sm">انقر على الزر أدناه لتنزيل قالب Excel الجاهز</p>
                        </div>

                        {{-- Step 2 --}}
                        <div class="flex flex-col items-center text-center">
                            <div
                                class="w-12 h-12 bg-blue-600 text-white rounded-full flex items-center justify-center font-bold text-lg mb-3">
                                2
                            </div>
                            <h3 class="font-semibold text-gray-900 mb-2">ملء البيانات</h3>
                            <p class="text-gray-600 text-sm">أضف بيانات الفواتير والعملاء في الملف</p>
                        </div>

                        {{-- Step 3 --}}
                        <div class="flex flex-col items-center text-center">
                            <div
                                class="w-12 h-12 bg-blue-600 text-white rounded-full flex items-center justify-center font-bold text-lg mb-3">
                                3
                            </div>
                            <h3 class="font-semibold text-gray-900 mb-2">الاستيراد</h3>
                            <p class="text-gray-600 text-sm">احمّل الملف وتأكد من النتائج</p>
                        </div>
                    </div>
                </div>

                {{-- Content --}}
                <div class="p-8">

                    {{-- Download Template Button --}}
                    <div class="mb-8">
                        <h3 class="text-lg font-bold text-gray-900 mb-4">الخطوة الأولى: تنزيل القالب</h3>
                        <p class="text-gray-600 mb-4">
                            انقر على الزر التالي لتنزيل قالب Excel بصيغة صحيحة مع رؤوس الأعمدة المطلوبة:
                        </p>
                        <a href="{{ route('customer-invoices.download-template') }}"
                            class="inline-flex items-center px-6 py-3 bg-gradient-to-r from-green-600 to-green-700 text-white font-semibold rounded-lg hover:from-green-700 hover:to-green-800 transition-all duration-200 shadow-lg hover:shadow-xl">
                            <i class="fas fa-download ml-2"></i>
                            تنزيل قالب الاستيراد
                        </a>
                    </div>

                    {{-- Upload Form --}}
                    <div class="border-t pt-8">
                        <h3 class="text-lg font-bold text-gray-900 mb-4">الخطوة الثانية: رفع الملف</h3>

                        {{-- Import Errors (Data Validation Errors) --}}
                        @if (session('import_has_errors') || session('import_partial_success'))
                            <div class="bg-red-50 border-l-4 border-red-500 p-6 mb-6 rounded-r-lg">
                                <div class="flex items-start">
                                    <div class="flex-shrink-0 mt-1">
                                        <i class="fas fa-exclamation-triangle text-red-600 text-2xl"></i>
                                    </div>
                                    <div class="mr-4 flex-1">
                                        <h3 class="text-red-900 font-bold text-lg mb-4">
                                            @if (session('import_partial_success'))
                                                ⚠️ تم استيراد بعض الفواتير بنجاح، لكن بعضها فشل
                                            @else
                                                ❌ فشل الاستيراد - توجد أخطاء في البيانات
                                            @endif
                                        </h3>

                                        @if (session('import_partial_success'))
                                            <div class="bg-green-50 border border-green-300 rounded p-3 mb-4">
                                                <p class="text-green-700 font-semibold">✅ تم استيراد
                                                    {{ session('import_success_count') }} فاتورة بنجاح</p>
                                            </div>
                                        @endif

                                        <div class="space-y-3">
                                            <p class="text-red-800 font-semibold mb-3">الأخطاء المكتشفة:</p>
                                            <div class="max-h-96 overflow-y-auto">
                                                @foreach (session('import_errors') ?? [] as $error)
                                                    <div class="bg-white border border-red-200 rounded p-4 mb-3 text-sm">
                                                        <div class="text-red-900 whitespace-pre-wrap leading-relaxed">
                                                            <pre class="text-xs">{{ $error }}</pre>
                                                        </div>
                                                    </div>
                                                @endforeach
                                            </div>
                                        </div>

                                        <div class="mt-4 p-4 bg-amber-50 border border-amber-300 rounded">
                                            <p class="text-amber-800 text-sm"><strong>💡 الحل:</strong></p>
                                            <ul class="text-amber-700 text-sm mt-2 space-y-1 list-disc list-inside">
                                                <li>تحقق من الأخطاء المذكورة أعلاه</li>
                                                <li>صحح البيانات في ملف Excel</li>
                                                <li>حاول الاستيراد مرة أخرى</li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        @endif

                        {{-- Validation Errors (File Upload Errors) --}}
                        @if ($errors->any())
                            <div class="bg-red-50 border-l-4 border-red-500 p-6 mb-6 rounded-r-lg">
                                <div class="flex items-start">
                                    <div class="flex-shrink-0 mt-1">
                                        <i class="fas fa-times-circle text-red-600 text-2xl"></i>
                                    </div>
                                    <div class="mr-4">
                                        <h3 class="text-red-900 font-bold text-lg mb-3">❌ خطأ في رفع الملف</h3>
                                        <ul class="text-red-700 text-sm space-y-2">
                                            @foreach ($errors->all() as $error)
                                                <li class="flex items-start">
                                                    <span class="text-red-600 font-bold ml-2">•</span>
                                                    <span>{{ $error }}</span>
                                                </li>
                                            @endforeach
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        @endif

                        {{-- Session Error --}}
                        @if (session('error') && !session('import_has_errors') && !session('import_partial_success'))
                            <div class="bg-red-50 border-l-4 border-red-500 p-6 mb-6 rounded-r-lg">
                                <div class="flex items-start">
                                    <div class="flex-shrink-0 mt-1">
                                        <i class="fas fa-exclamation-circle text-red-600 text-2xl"></i>
                                    </div>
                                    <div class="mr-4">
                                        <h3 class="text-red-900 font-bold text-lg mb-2">حدث خطأ</h3>
                                        <p class="text-red-700">{!! session('error') !!}</p>
                                    </div>
                                </div>
                            </div>
                        @endif

                        {{-- Success Message --}}
                        @if (session('success') && !session('import_partial_success'))
                            <div class="bg-green-50 border-l-4 border-green-500 p-6 mb-6 rounded-r-lg">
                                <div class="flex items-start">
                                    <div class="flex-shrink-0 mt-1">
                                        <i class="fas fa-check-circle text-green-600 text-2xl"></i>
                                    </div>
                                    <div class="mr-4">
                                        <p class="text-green-700 font-semibold text-lg">{!! session('success') !!}</p>
                                    </div>
                                </div>
                            </div>
                        @endif

                        <form action="{{ route('customer-invoices.import') }}" method="POST" enctype="multipart/form-data">
                            @csrf

                            {{-- File Input --}}
                            <div class="mb-6">
                                <label for="file" class="block text-gray-900 font-semibold mb-3">
                                    اختر ملف Excel
                                </label>
                                <div class="relative">
                                    <input type="file" id="file" name="file" accept=".xlsx,.xls,.csv"
                                        class="hidden" required onchange="updateFileName(this)">

                                    <label for="file"
                                        class="flex items-center justify-center px-6 py-8 border-2 border-dashed border-gray-300 rounded-lg cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all duration-150">
                                        <div class="text-center">
                                            <i class="fas fa-cloud-upload-alt text-4xl text-gray-400 mb-3"></i>
                                            <p class="text-gray-900 font-semibold">اسحب الملف هنا أو انقر لاختيار</p>
                                            <p class="text-gray-500 text-sm mt-2">يدعم ملفات Excel و CSV (بحد أقصى 5MB)</p>
                                            <p id="fileName" class="text-blue-600 font-semibold mt-3"></p>
                                        </div>
                                    </label>
                                </div>
                                @error('file')
                                    <p class="text-red-600 text-sm mt-2">{{ $message }}</p>
                                @enderror
                            </div>

                            {{-- Important Notes --}}
                            <div class="bg-amber-50 border-l-4 border-amber-500 p-4 mb-6 rounded-r-lg">
                                <h4 class="text-amber-900 font-bold mb-2">⚠️ ملاحظات مهمة:</h4>
                                <ul class="text-amber-800 text-sm list-disc list-inside space-y-1">
                                    <li>تأكد من أن معرّفات العملاء والأصناف موجودة في النظام</li>
                                    <li>الحقول المشار إليها بـ (*) إلزامية</li>
                                    <li>صيغة التاريخ يجب أن تكون YYYY-MM-DD (مثال: 2025-12-25)</li>
                                    <li>الكميات والأسعار يجب أن تكون أرقام موجبة</li>
                                    <li>سيتم إنشاء قيود محاسبية تلقائية للفواتير المستوردة</li>
                                    <li>جميع الفواتير المستوردة ستكون بحالة "مسودة" في البداية</li>
                                </ul>
                            </div>

                            {{-- Submit Button --}}
                            <div class="flex gap-3">
                                <button type="submit"
                                    class="flex-1 inline-flex items-center justify-center px-6 py-3 bg-gradient-to-r from-blue-600 to-blue-700 text-white font-semibold rounded-lg hover:from-blue-700 hover:to-blue-800 transition-all duration-200 shadow-lg hover:shadow-xl">
                                    <i class="fas fa-upload ml-2"></i>
                                    استيراد الفواتير
                                </button>
                                <a href="{{ route('customer-invoices.index') }}"
                                    class="inline-flex items-center px-6 py-3 bg-gray-200 text-gray-700 font-semibold rounded-lg hover:bg-gray-300 transition-all duration-200">
                                    <i class="fas fa-times ml-2"></i>
                                    إلغاء
                                </a>
                            </div>
                        </form>
                    </div>

                    {{-- Template Preview --}}
                    <div class="border-t mt-8 pt-8">
                        <h3 class="text-lg font-bold text-gray-900 mb-4">معلومات عن صيغة الملف</h3>

                        <div class="overflow-x-auto">
                            <table class="w-full text-sm">
                                <thead class="bg-gray-100">
                                    <tr>
                                        <th class="px-4 py-3 text-right font-semibold text-gray-900">اسم العمود</th>
                                        <th class="px-4 py-3 text-right font-semibold text-gray-900">نوع البيانات</th>
                                        <th class="px-4 py-3 text-right font-semibold text-gray-900">مثال</th>
                                        <th class="px-4 py-3 text-right font-semibold text-gray-900">ملاحظات</th>
                                    </tr>
                                </thead>
                                <tbody class="divide-y divide-gray-200">
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">معرف العميل*</td>
                                        <td class="px-4 py-3 text-gray-600">رقم</td>
                                        <td class="px-4 py-3 text-gray-600">1</td>
                                        <td class="px-4 py-3 text-gray-600">المعرف الفريد للعميل في النظام</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">اسم العميل*</td>
                                        <td class="px-4 py-3 text-gray-600">نص</td>
                                        <td class="px-4 py-3 text-gray-600">شركة الرياض</td>
                                        <td class="px-4 py-3 text-gray-600">للمرجعية فقط</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">تاريخ الفاتورة*</td>
                                        <td class="px-4 py-3 text-gray-600">تاريخ</td>
                                        <td class="px-4 py-3 text-gray-600">2025-12-25</td>
                                        <td class="px-4 py-3 text-gray-600">YYYY-MM-DD</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">معرف الصنف*</td>
                                        <td class="px-4 py-3 text-gray-600">رقم</td>
                                        <td class="px-4 py-3 text-gray-600">5</td>
                                        <td class="px-4 py-3 text-gray-600">المعرف الفريد للصنف</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">اسم الصنف</td>
                                        <td class="px-4 py-3 text-gray-600">نص</td>
                                        <td class="px-4 py-3 text-gray-600">الخدمة الاستشارية</td>
                                        <td class="px-4 py-3 text-gray-600">للمرجعية فقط</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">الكمية*</td>
                                        <td class="px-4 py-3 text-gray-600">رقم</td>
                                        <td class="px-4 py-3 text-gray-600">10</td>
                                        <td class="px-4 py-3 text-gray-600">موجب فقط</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">سعر الوحدة*</td>
                                        <td class="px-4 py-3 text-gray-600">رقم عشري</td>
                                        <td class="px-4 py-3 text-gray-600">100.50</td>
                                        <td class="px-4 py-3 text-gray-600">موجب فقط</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">الخصم</td>
                                        <td class="px-4 py-3 text-gray-600">رقم عشري</td>
                                        <td class="px-4 py-3 text-gray-600">50</td>
                                        <td class="px-4 py-3 text-gray-600">اختياري - الخصم بالقيمة</td>
                                    </tr>
                                    <tr class="hover:bg-gray-50">
                                        <td class="px-4 py-3 font-semibold text-gray-900">الملاحظات</td>
                                        <td class="px-4 py-3 text-gray-600">نص</td>
                                        <td class="px-4 py-3 text-gray-600">ملاحظات مهمة</td>
                                        <td class="px-4 py-3 text-gray-600">اختياري</td>
                                    </tr>
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

            {{-- Tips Section --}}
            <div class="mt-8 bg-blue-50 border border-blue-200 rounded-lg p-6">
                <h3 class="text-lg font-bold text-blue-900 mb-3">
                    <i class="fas fa-lightbulb ml-2"></i> نصائح لنجاح الاستيراد
                </h3>
                <ul class="text-blue-800 space-y-2">
                    <li>✓ استخدم القالب المرفق للتأكد من الصيغة الصحيحة</li>
                    <li>✓ تحقق من وجود جميع معرّفات العملاء والأصناف قبل الاستيراد</li>
                    <li>✓ لا تعدّل أسماء الأعمدة في القالب</li>
                    <li>✓ تأكد من عدم وجود صفوف فارغة في الملف</li>
                    <li>✓ يمكنك استيراد عدة فواتير لنفس العميل في ملف واحد</li>
                    <li>✓ في حالة الخطأ، سيتم إظهار رسائل واضحة توضح السبب</li>
                </ul>
            </div>
        </div>
    </div>

    <script>
        function updateFileName(input) {
            const fileName = input.files[0]?.name || '';
            document.getElementById('fileName').textContent = fileName ? '✓ تم اختيار: ' + fileName : '';
        }

        // Drag and drop
        const fileInput = document.getElementById('file');
        const dropZone = fileInput.nextElementSibling;

        dropZone.addEventListener('dragover', (e) => {
            e.preventDefault();
            dropZone.classList.add('border-blue-500', 'bg-blue-50');
        });

        dropZone.addEventListener('dragleave', () => {
            dropZone.classList.remove('border-blue-500', 'bg-blue-50');
        });

        dropZone.addEventListener('drop', (e) => {
            e.preventDefault();
            dropZone.classList.remove('border-blue-500', 'bg-blue-50');

            if (e.dataTransfer.files.length) {
                fileInput.files = e.dataTransfer.files;
                updateFileName(fileInput);
            }
        });
    </script>
@endsection
