@php $title = __('Customers List'); @endphp

@extends('layouts.master', [
    $title
])

@section('content')

    <x-page-header
        :title="$title"
        :breadcrumbs="[
            ['name' => $title],
            ['name' => __('Home'), 'url' => route('dashboard.index')],
        ]"
    />
    <div class="row">
        <!-- قسم البحث والتسجيل -->
        <div class="col-md-5 mb-4">
            <div class="card">
                <div class="card-header bg-primary text-white">
                    <h5 class="mb-0"><i class="bi bi-search"></i> بحث عن عميل</h5>
                </div>
                <div class="card-body">
                    <div class="mb-3">
                        <input type="text" id="customer-search" class="form-control form-control-lg"
                               placeholder="ابحث بالاسم أو رقم العضوية أو رقم الجوال...">
                    </div>

                    <div id="search-results" class="list-group" style="max-height: 400px; overflow-y: auto;">
                        <!-- نتائج البحث تظهر هنا -->
                    </div>
                </div>
            </div>

            <!-- بطاقة العميل السريعة -->
            <div class="card m-0 d-none" id="quick-customer-card">
                <div class="card-body">
                    <!-- محتوى بطاقة العميل -->
                </div>
            </div>
        </div>

        <!-- الحضور الحالي -->
        <div class="col-md-7 mb-4">
            <div class="card">
                <div class="card-header bg-success text-white d-flex justify-content-between align-items-center">
                    <h5 class="mb-0"><i class="bi bi-people-fill"></i> المتواجدون حالياً</h5>
                    <div>
                        <span class="badge bg-light text-dark" id="current-count">{{ $currentAttendances->count() }}</span>
                        <button class="btn btn-sm btn-light" id="refresh-current">
                            <i class="bi bi-arrow-repeat"></i>
                        </button>
                        <button class="btn btn-sm btn-warning" id="bulk-checkout"
                                onclick="confirmBulkCheckout()"
                            {{ $currentAttendances->isEmpty() ? 'disabled' : '' }}>
                            <i class="bi bi-box-arrow-right"></i> خروج الجميع
                        </button>
                    </div>
                </div>
                <div class="card-body" id="current-attendances-list" style="max-height: 500px; overflow-y: auto;">
                    @forelse($currentAttendances as $attendance)
                        <div class="attendance-item mb-2 p-2 border rounded" data-id="{{ $attendance->id }}">
                            <div class="d-flex justify-content-between align-items-center">
                                <div>
                                    <strong>{{ $attendance->customer->name }}</strong>
                                    <br>
                                    <small class="text-muted">
                                        <i class="bi bi-clock"></i> {{ $attendance->check_in->format('h:i A') }}
                                        ({{ $attendance->check_in->diffForHumans(now(), true) }})
                                    </small>
                                </div>
                                <div>
                                <span class="badge bg-{{ $attendance->type == 'normal' ? 'primary' : 'info' }}">
                                    {{ $attendance->type == 'normal' ? 'مشترك' : 'تجريبي' }}
                                </span>
                                    <button class="btn btn-sm btn-danger checkout-btn" onclick="checkOut({{ $attendance->id }})">
                                        <i class="bi bi-box-arrow-right"></i> خروج
                                    </button>
                                </div>
                            </div>
                        </div>
                    @empty
                        <p class="text-muted text-center">لا يوجد متواجدين حالياً</p>
                    @endforelse
                </div>
            </div>
        </div>
    </div>

    <!-- Modal تسجيل دخول سريع -->
    <div class="modal fade" id="quickCheckInModal" tabindex="-1">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header bg-primary text-white">
                    <h5 class="modal-title">تسجيل دخول سريع</h5>
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <form id="quick-checkin-form">
                        <input type="hidden" id="quick-customer-id">

                        <div class="text-center mb-3">
                            <img src="" id="quick-customer-avatar" class="rounded-circle" width="100" height="100" style="object-fit: cover;">
                        </div>

                        <h5 id="quick-customer-name" class="text-center"></h5>
                        <p id="quick-customer-code" class="text-center text-muted"></p>

                        <hr>

                        <div class="mb-3">
                            <label class="form-label">نوع الحضور</label>
                            <select name="type" id="quick-type" class="form-select">
                                <option value="normal">مشترك عادي</option>
                                <option value="trial">زيارة تجريبية</option>
                                <option value="guest">ضيف</option>
                            </select>
                        </div>

                        <div class="mb-3">
                            <label class="form-label">ملاحظات</label>
                            <textarea name="notes" id="quick-notes" class="form-control" rows="2"></textarea>
                        </div>
                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                    <button type="button" class="btn btn-primary" onclick="confirmQuickCheckIn()">تسجيل الدخول</button>
                </div>
            </div>
        </div>
    </div>

@endsection

@section('modals')

@endsection

@section('styles')
    <style>
        .search-result-item {
            cursor: pointer;
            transition: all 0.3s;
        }
        .search-result-item:hover {
            background-color: #f8f9fa;
            transform: translateX(5px);
        }
        .attendance-item {
            transition: all 0.3s;
        }
        .attendance-item:hover {
            background-color: #f8f9fa;
        }
    </style>
@endsection


@section('scripts')
    <script>

        let searchTimeout;

        // البحث عن العملاء
        $('#customer-search').on('keyup', function() {
            clearTimeout(searchTimeout);
            const query = $(this).val();

            if (query.length < 2) {
                $('#search-results').empty();
                return;
            }

            searchTimeout = setTimeout(() => {
                $.ajax({
                    url: '{{ route("attendance.check-in.search") }}',
                    method: 'GET',
                    data: { q: query },
                    success: function(response) {
                        if (response.success) {
                            displaySearchResults(response.data);
                        }
                    }
                });
            }, 300);
        });

        // عرض نتائج البحث
        function displaySearchResults(customers) {
            let html = '';

            customers.forEach(customer => {
                const statusBadge = customer.is_checked_in_today
                    ? '<span class="badge bg-success">مسجل دخول</span>'
                    : (customer.has_active_subscription
                        ? '<span class="badge bg-primary">اشتراك نشط</span>'
                        : '<span class="badge bg-danger">لا يوجد اشتراك</span>');

                html += `
            <a href="#" class="list-group-item list-group-item-action search-result-item"
               onclick="showQuickCheckIn(${customer.id})">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <strong>${customer.name}</strong>
                        <br>
                        <small class="text-muted">${customer.code} | ${customer.phone}</small>
                    </div>
                    <div>
                        ${statusBadge}
                    </div>
                </div>
                ${customer.subscription ? `
                    <small class="text-muted">
                        ${customer.subscription.plan_name} - حتى ${customer.subscription.end_date}
                    </small>
                ` : ''}
            </a>
        `;
            });

            $('#search-results').html(html);
        }

        // عرض نافذة تسجيل الدخول السريع
        function showQuickCheckIn(customerId) {
            $.ajax({
                url: `/attendance/check-in/customer-card/${customerId}`,
                method: 'GET',
                success: function(response) {
                    if (response.success) {
                        $('#quick-customer-card').html(response.html).removeClass('d-none');
                    }
                }
            });

            // تعبئة بيانات العميل في المودال
            $.ajax({
                url: `/attendance/check-in/customer/${customerId}`,
                method: 'GET',
                success: function(response) {
                    if (response.success) {
                        $('#quick-customer-id').val(response.data.id);
                        $('#quick-customer-name').text(response.data.name);
                        $('#quick-customer-code').text(response.data.code);
                        $('#quick-customer-avatar').attr('src', response.data.avatar || '{{ \Illuminate\Support\Facades\Storage::disk('attachments')->url('/users-avatars/blank.svg') }}');

                        $('#quickCheckInModal').modal('show');
                    }
                }
            });
        }

        // تأكيد تسجيل الدخول
        function confirmQuickCheckIn() {
            const customerId = $('#quick-customer-id').val();
            const type = $('#quick-type').val();
            const notes = $('#quick-notes').val();

            $.ajax({
                url: '{{ route("attendance.check-in.check-in") }}',
                method: 'POST',
                data: {
                    customer_id: customerId,
                    type: type,
                    notes: notes,
                    _token: '{{ csrf_token() }}'
                },
                success: function(response) {
                    if (response.success) {
                        $('#quickCheckInModal').modal('hide');
                        showNotification('success', response.message);
                        refreshCurrentAttendances();
                        $('#customer-search').val('').trigger('keyup');
                    }
                },
                error: function(xhr) {
                    showNotification('error', xhr.responseJSON?.message || 'حدث خطأ');
                }
            });
        }

        // تسجيل خروج
        function checkOut(attendanceId) {
            if (!confirm('تأكيد تسجيل خروج العميل؟')) return;

            $.ajax({
                url: '{{ route("attendance.check-in.check-out") }}',
                method: 'POST',
                data: {
                    attendance_id: attendanceId,
                    _token: '{{ csrf_token() }}'
                },
                success: function(response) {
                    if (response.success) {
                        showNotification('success', response.message);
                        refreshCurrentAttendances();
                    }
                },
                error: function(xhr) {
                    showNotification('error', xhr.responseJSON?.message || 'حدث خطأ');
                }
            });
        }

        // خروج جماعي
        function confirmBulkCheckout() {
            if (!confirm('تأكيد تسجيل خروج جميع المتواجدين؟')) return;

            $.ajax({
                url: '{{ route("attendance.check-in.bulk-checkout") }}',
                method: 'POST',
                data: {
                    _token: '{{ csrf_token() }}'
                },
                success: function(response) {
                    if (response.success) {
                        showNotification('success', response.message);
                        refreshCurrentAttendances();
                    }
                },
                error: function(xhr) {
                    showNotification('error', xhr.responseJSON?.message || 'حدث خطأ');
                }
            });
        }

        // تحديث قائمة المتواجدين
        function refreshCurrentAttendances() {
            $.ajax({
                url: '{{ route("attendance.check-in.current") }}',
                method: 'GET',
                success: function(response) {
                    if (response.success) {
                        updateCurrentAttendancesList(response.data, response.count);
                    }
                }
            });
        }

        // تحديث واجهة المتواجدين
        function updateCurrentAttendancesList(attendances, count) {
            $('#current-count').text(count);

            let html = '';

            if (count === 0) {
                html = '<p class="text-muted text-center">لا يوجد متواجدين حالياً</p>';
            } else {
                attendances.forEach(att => {
                    html += `
                <div class="attendance-item mb-2 p-2 border rounded" data-id="${att.id}">
                    <div class="d-flex justify-content-between align-items-center">
                        <div>
                            <strong>${att.customer_name}</strong>
                            <br>
                            <small class="text-muted">
                                <i class="bi bi-clock"></i> ${att.check_in_time}
                                (${att.duration})
                            </small>
                        </div>
                        <div>
                            <span class="badge bg-${att.type == 'normal' ? 'primary' : 'info'}">
                                ${att.type == 'normal' ? 'مشترك' : 'تجريبي'}
                            </span>
                            <button class="btn btn-sm btn-danger checkout-btn" onclick="checkOut(${att.id})">
                                <i class="bi bi-box-arrow-right"></i> خروج
                            </button>
                        </div>
                    </div>
                </div>
            `;
                });
            }

            $('#current-attendances-list').html(html);
        }

        // تحديث تلقائي كل 30 ثانية
        setInterval(refreshCurrentAttendances, 30000);

        // عرض الإشعارات
        function showNotification(type, message) {
            if (typeof toastr !== 'undefined') {
                toastr[type](message);
            } else {
                alert(message);
            }
        }


    </script>
@endsection
