@extends('user.layouts.app') @section('css') @endsection @section('content') @php $user = Auth::user(); // Avatar URL and initials fallback $avatarUrl = $user ? route('media.users.avatar', ['user' => $user->id]) : null; $name = $user->name ?? ''; $parts = preg_split('/\s+/', trim($name)); $initials = ''; if ($parts && count($parts)) { $first = mb_substr($parts[0] ?? '', 0, 1); $last = mb_substr(end($parts) ?: '', 0, 1); $initials = trim($first . $last); } // Balance formatting with safe fallback try { $balanceFormatted = formatAmountWithCurrency($user->balance ?? 0, $user->currency ?? null); } catch (\Throwable $e) { $balanceFormatted = number_format((float) ($user->balance ?? 0), 2) . ' ' . ($user->currency->name ?? '' ?: ''); } // Orders count (safe lazy) $ordersCount = method_exists($user, 'orders') ? $user->orders()->count() : 0; // Last login (safe) $lastLoginAt = optional(optional($user)->lastLogin)->login_at; try { $lastLoginText = $lastLoginAt ? formatDateArabic($lastLoginAt) : '—'; } catch (\Throwable $e) { $lastLoginText = $lastLoginAt ? (string) $lastLoginAt : '—'; } // Join date try { $joinDate = $user && $user->created_at ? formatDateArabic($user->created_at) : ''; } catch (\Throwable $e) { $joinDate = $user && $user->created_at ? $user->created_at->format('Y-m-d') : ''; } $isVendor = $user && method_exists($user, 'isVendor') ? $user->isVendor() : false; $isManaged = $user && method_exists($user, 'isManaged') ? $user->isManaged() : false; $has2FA = (bool) ($user->google2fa_enabled ?? false); $hasPin = $user ? $user->has_pin_code ?? $user->hasPinCode() : false; @endphp
نظرة عامة على حسابك ومستوى العضوية