@forelse($upcomingBookings as $index => $booking)
@php
// Get color scheme based on index (cycles through colors)
$colorSchemes = [
[
'bg_from' => 'from-indigo-50',
'bg_to' => 'to-purple-50',
'dark_bg_from' => 'dark:from-indigo-900/20',
'dark_bg_to' => 'dark:to-purple-900/20',
'border' => 'border-indigo-200',
'dark_border' => 'dark:border-indigo-800',
'gradient_from' => 'from-indigo-500',
'gradient_to' => 'to-purple-500',
],
[
'bg_from' => 'from-green-50',
'bg_to' => 'to-emerald-50',
'dark_bg_from' => 'dark:from-green-900/20',
'dark_bg_to' => 'dark:to-emerald-900/20',
'border' => 'border-green-200',
'dark_border' => 'dark:border-green-800',
'gradient_from' => 'from-green-500',
'gradient_to' => 'to-emerald-500',
],
[
'bg_from' => 'from-blue-50',
'bg_to' => 'to-cyan-50',
'dark_bg_from' => 'dark:from-blue-900/20',
'dark_bg_to' => 'dark:to-cyan-900/20',
'border' => 'border-blue-200',
'dark_border' => 'dark:border-blue-800',
'gradient_from' => 'from-blue-500',
'gradient_to' => 'to-cyan-500',
],
[
'bg_from' => 'from-amber-50',
'bg_to' => 'to-orange-50',
'dark_bg_from' => 'dark:from-amber-900/20',
'dark_bg_to' => 'dark:to-orange-900/20',
'border' => 'border-amber-200',
'dark_border' => 'dark:border-amber-800',
'gradient_from' => 'from-amber-500',
'gradient_to' => 'to-orange-500',
],
[
'bg_from' => 'from-pink-50',
'bg_to' => 'to-rose-50',
'dark_bg_from' => 'dark:from-pink-900/20',
'dark_bg_to' => 'dark:to-rose-900/20',
'border' => 'border-pink-200',
'dark_border' => 'dark:border-pink-800',
'gradient_from' => 'from-pink-500',
'gradient_to' => 'to-rose-500',
],
];
$colorIndex = $index % count($colorSchemes);
$colors = $colorSchemes[$index];
// Get initials for avatar
$initials = '';
if (!empty($booking->golfer->name)) {
$nameParts = explode(' ', $booking->golfer->name);
if (count($nameParts) >= 2) {
$initials = strtoupper(substr($nameParts[0], 0, 1) . substr($nameParts[1], 0, 1));
} else {
$initials = strtoupper(substr($booking->golfer->name, 0, 2));
}
}
// Status badge styling
$statusColors = [
'pending' => ['bg' => 'bg-yellow-100', 'text' => 'text-yellow-800', 'dark_bg' => 'dark:bg-yellow-900/50', 'dark_text' => 'dark:text-yellow-300'],
'confirmed' => ['bg' => 'bg-green-100', 'text' => 'text-green-800', 'dark_bg' => 'dark:bg-green-900/50', 'dark_text' => 'dark:text-green-300'],
'accepted' => ['bg' => 'bg-blue-100', 'text' => 'text-blue-800', 'dark_bg' => 'dark:bg-blue-900/50', 'dark_text' => 'dark:text-blue-300'],
'completed' => ['bg' => 'bg-gray-100', 'text' => 'text-gray-800', 'dark_bg' => 'dark:bg-gray-900/50', 'dark_text' => 'dark:text-gray-300'],
'cancelled' => ['bg' => 'bg-red-100', 'text' => 'text-red-800', 'dark_bg' => 'dark:bg-red-900/50', 'dark_text' => 'dark:text-red-300'],
];
$status = strtolower($booking['status']);
$statusStyle = $statusColors[$status] ?? $statusColors['pending'];
@endphp
{{ $booking->golfer->name ?? 'Golfer Name' }}
⛳ {{ $booking->course_location }}
{{ $booking->course_name ?? 'No course specified' }}
{{ $booking->status_label }}
{{ $booking->proposed_date_display }}
{{ $booking->proposed_date_time_display }}
@empty
No upcoming bookings
Schedule your next golf session to see it here
Book a Session
@endforelse