{{-- المحتوى الرئيسي للوحة التحكم --}}
{{-- رسالة النجاح (تظهر بعد عمليات مثل تحديث الملف الشخصي) --}} @if(session('status')) @endif {{-- قسم الترحيب الرئيسي --}}

لوحة التحكم الخاصة بك

مرحبًا بك، {{ optional(Auth::user())->name ?? 'زائر' }} 👋

هنا تجد نظرة عامة على حسابك وأنشطتك.

{{-- بطاقات الإحصائيات الرئيسية --}} {{-- ملاحظة: نفترض أن لديك مكون Blade اسمه 'x-stat-card' معرف في مكان ما في مشروعك. --}} {{-- القيم هنا ثابتة كما قدمت، ولكن يمكن جعلها ديناميكية بتمرير متغيرات من الـ Controller. --}}
{{-- قسم معلومات الملف الشخصي والأنشطة الأخيرة --}}
{{-- معلومات الملف الشخصي للمستخدم --}}
{{-- الصورة الشخصية للمستخدم (ديناميكية) --}} @php $authAvatar = optional(Auth::user())->avatar ? basename(optional(Auth::user())->avatar) : null; $authAvatarKey = $authAvatar ? ('avatars/' . $authAvatar) : null; $authAvatarUrl = ($authAvatarKey && \Illuminate\Support\Facades\Storage::disk('public')->exists($authAvatarKey)) ? \Illuminate\Support\Facades\Storage::disk('public')->url($authAvatarKey) : asset('images/default-avatar.png'); @endphp الصور الشخصية

{{ optional(Auth::user())->name ?? 'زائر' }}

{{ optional(Auth::user())->email ?? '' }}

{{-- حالة العضوية (يمكن جعلها ديناميكية بناءً على خاصية في نموذج المستخدم) --}} عضوية عادية {{-- مثال: @if(Auth::user()->is_premium) عضوية مميزة @else عضوية عادية @endif --}}
{{-- الجنس --}}
الجنس: @switch(optional(Auth::user())->gender) @case('male') ذكر @break @case('female') أنثى @break @default غير محدد @endswitch
{{-- البلد --}}
البلد: {{ optional(optional(Auth::user())->country)->name ?? 'غير محدد' }}
{{-- تاريخ التسجيل --}}
تاريخ التسجيل: {{ optional(Auth::user())->created_at? optional(Auth::user()->created_at)->format('Y-m-d H:i') : 'غير متاح' }}
{{-- آخر دخول --}}
آخر دخول: {{-- نفترض أن 'last_login_at' هو حقل datetime في جدول المستخدمين --}} {{ optional(Auth::user())->last_login_at ? optional(Auth::user()->last_login_at)->diffForHumans() : 'غير متاح' }}
{{-- زر تعديل وعرض الملف الشخصي --}}
{{-- قسم الأنشطة الأخيرة (ثابت حالياً، يمكن جعله ديناميكياً) --}}

آخر الأنشطة

    {{-- 'activity-feed-scroll' لتمكين التمرير إذا كان المحتوى طويلاً --}} {{-- هذه الأنشطة ثابتة حالياً. لجعلها ديناميكية، ستحتاج إلى جلبها من قاعدة البيانات --}}
  • لقد استلمت رسالة جديدة من أحمد محمود.

    منذ 5 دقائق
  • قام فاطمة علي بقبول طلب التواصل الخاص بك.

    منذ ساعة
  • قام عمر خالد بزيارة ملفك الشخصي.

    منذ 3 ساعات
  • أعجب ليلى سعيد بملفك الشخصي.

    منذ 6 ساعات
  • لقد قمت بتحديث صورتك الشخصية.

    منذ يوم
{{-- قسم الأدوات السريعة (يمكن إضافة المزيد من الأدوات هنا) --}}

أدوات سريعة

{{-- قسم التوصيات الشخصية (يحتاج لبيانات من الواجهة الخلفية المدعومة بالذكاء الاصطناعي) --}}

اقتراحات لك (مدعوم بالذكاء الاصطناعي)

// تهيئة قائمة التوصيات — safer DOM construction to avoid XSS const recommendationsContainer = document.getElementById('recommendations-container'); const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; recommendationsContainer.replaceChildren(); if (data.recommendations && Array.isArray(data.recommendations) && data.recommendations.length > 0) { data.recommendations.forEach(rec => { const card = document.createElement('div'); card.className = 'border rounded-lg shadow hover:shadow-lg p-4 text-center transition'; const img = document.createElement('img'); img.className = 'w-20 h-20 rounded-full mx-auto mb-3 object-cover border-2 border-brand-light-gray'; img.alt = rec.name || ''; img.src = rec.avatar ? ('/storage/avatars/' + encodeURIComponent(rec.avatar)) : '/images/default-avatar.png'; card.appendChild(img); const h3 = document.createElement('h3'); h3.className = 'text-lg font-bold text-blue-700 mb-1'; h3.textContent = rec.name || ''; card.appendChild(h3); const locationP = document.createElement('p'); locationP.className = 'text-sm text-brand-text mb-2'; locationP.textContent = `${rec.country || ''}${rec.country && rec.city ? ' - ' : ''}${rec.city || ''}`; card.appendChild(locationP); const scoreDiv = document.createElement('div'); scoreDiv.className = 'text-sm text-green-600 mb-2'; scoreDiv.textContent = 'نسبة التوافق: '; const scoreSpan = document.createElement('span'); scoreSpan.className = 'font-bold'; scoreSpan.textContent = (rec.score !== undefined) ? `${rec.score}%` : ''; scoreDiv.appendChild(scoreSpan); card.appendChild(scoreDiv); const reasonsUl = document.createElement('ul'); reasonsUl.className = 'text-xs text-brand-text mb-3 text-right pr-4 list-disc'; (rec.reasons || []).forEach(reason => { const li = document.createElement('li'); li.textContent = reason; reasonsUl.appendChild(li); }); card.appendChild(reasonsUl); const form = document.createElement('form'); form.action = `/profile/interest/${encodeURIComponent(rec.id)}`; form.method = 'POST'; const tokenInput = document.createElement('input'); tokenInput.type = 'hidden'; tokenInput.name = '_token'; tokenInput.value = csrfToken; form.appendChild(tokenInput); const btn = document.createElement('button'); btn.type = 'submit'; btn.className = 'bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700'; btn.textContent = 'إبداء اهتمام'; form.appendChild(btn); card.appendChild(form); recommendationsContainer.appendChild(card); }); } else { const p = document.createElement('p'); p.className = 'text-brand-text'; p.textContent = 'لا توجد اقتراحات حالياً. اكمل بيانات ملفك الشخصي لتصل إلى اقتراحات أفضل.'; recommendationsContainer.appendChild(p); }

تعتمد هذه الاقتراحات على تفاعلاتك ومعلومات ملفك الشخصي. تعرف على المزيد حول نظام التوصيات لدينا.

{{-- JavaScript for dynamic elements and simulations --}}