{{-- Dynamic Cards for this List --}}
@foreach ($cards_by_list[$list->id] ?? [] as $card)
@php
// Determine card border color based on due date
$borderColor = 'blue';
if ($card->due_date) {
$dueDate = \Carbon\Carbon::parse($card->due_date);
$now = \Carbon\Carbon::now();
$daysUntilDue = $now->diffInDays($dueDate, false);
// If due date has passed (overdue), make it black
if ($daysUntilDue < 0) {
$borderColor = 'black';
}
// If due date is within 7 days from now, make it red (urgent)
elseif ($daysUntilDue <= 7) {
$borderColor = 'red';
}
// Otherwise, keep it blue (normal)
}
$priority =
$borderColor === 'black'
? 3
: ($borderColor === 'red'
? 2
: ($borderColor === 'blue'
? 1
: 0));
$currentRole = strtolower(
(string) ($current_user_role ?? 'member'),
);
$isOwner = $is_admin;
$isAdmin = $currentRole === 'admin';
$isMember = $currentRole === 'member';
$loginUser = Str::lower(session('username') ?? '');
$cardOwner = Str::lower($card->user_create ?? '');
// Untuk member: hanya bisa drag card yang dia buat
$isOwnCard = $loginUser === $cardOwner;
// Owner/Admin bebas drag semua card
// Member hanya drag card miliknya sendiri
$canDragThisCard =
$isOwner || $isAdmin || ($isMember && $isOwnCard);
$cardColor = $card->card_color ?? null;
$pastelClass =
$cardColor &&
in_array(
$cardColor,
[
'task-card-white',
'task-card-pastel-1',
'task-card-pastel-2',
'task-card-pastel-3',
'task-card-pastel-4',
'task-card-pastel-5',
'task-card-pastel-6',
],
true,
)
? $cardColor
: 'task-card-white';
@endphp
{{ $card->user_create }}
{{ $card->title }}
@if ($card->due_date)
{{ \Carbon\Carbon::parse($card->created_at)->format('d M y') }}·{{ \Carbon\Carbon::parse($card->due_date)->format('d M y') }}