@extends('layouts.app') @section('content')
Checklist Items
@can('create checklist items') New Item @endcan

{{-- Toast Container --}}
{{-- Filters --}} @php $user = auth()->user(); @endphp @if($user && $user->hasAnyRole(['super admin','awqaf admin']))
@endif {{-- Flash --}} @if(session('success')) @endif @if($checklistItems->count() > 0) @foreach($checklistItems as $item) @php $itemChecklistDate = optional($item->checklist)->date; $itemChecklistDate = $itemChecklistDate ? \Carbon\Carbon::parse($itemChecklistDate) : null; $created = $item->created_at ? \Carbon\Carbon::parse($item->created_at) : null; // ✅ STATUS toggle (Completed <-> Not Started) $nextStatus = $item->status === 'COMPLETED' ? 'NOT_STARTED' : 'COMPLETED'; $statusBtnText = $item->status === 'COMPLETED' ? 'Mark Not Started' : 'Mark Completed'; $statusBtnClass = $item->status === 'COMPLETED' ? 'btn-secondary' : 'btn-success'; // ✅ duration minutes $durationMinutes = (int) ($item->duration_time ?? 0); // Timer runtime DB columns are: work_started_at + next_available_at $runStart = ($item->status === 'IN_PROGRESS' && $item->work_started_at) ? \Carbon\Carbon::parse($item->work_started_at) : null; $runEnd = ($item->status === 'IN_PROGRESS' && $item->next_available_at) ? \Carbon\Carbon::parse($item->next_available_at) : null; $startTs = $runStart ? $runStart->timestamp : 0; $endTs = $runEnd ? $runEnd->timestamp : 0; $shiftStartShow = $runStart ? $runStart->format('h:i A') : ''; $shiftEndShow = $runEnd ? $runEnd->format('h:i A') : ''; $isRunning = ($item->status === 'IN_PROGRESS' && $startTs && $endTs); $btnText = $isRunning ? 'Working...' : 'Start Work'; $btnClass = $isRunning ? 'btn-success' : 'btn-primary'; $canStart = auth()->user()->hasAnyRole(['super admin','awqaf admin','cleaner']); $proofCurrent = (int) $item->proof_required; $proofBtnText = $proofCurrent === 1 ? 'Yes' : 'No'; $proofBtnClass = $proofCurrent === 1 ? 'btn-danger' : 'btn-outline-secondary'; @endphp {{-- STATUS Column --}} {{-- TIME Column --}} {{-- Proof Required Column --}} @endforeach
# Task Title Checklist Moulvi Cleaner Status Time Proof Required Created At Actions
{{ $loop->iteration }} {{ $item->task_title }} {{ $item->checklist_id }} {{ optional($item->checklist->mosque)->name ?? '-' }}
{{ $itemChecklistDate ? $itemChecklistDate->format('d M Y') : '-' }}
@if($item->checklist && $item->checklist->mosque && $item->checklist->mosque->moulvi) {{ $item->checklist->mosque->moulvi->name }} @else Not Assigned @endif @if($item->checklist && $item->checklist->cleaner) {{ $item->checklist->cleaner->name }} @else Not Assigned @endif {{ $item->status }} @if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin', 'cleaner'])) @else {{ $item->status === 'COMPLETED' ? 'Completed' : 'Not Started' }} @endif {{ $durationMinutes }}
@if(!auth()->user()->hasRole('moulvi')) @endif
@if($isRunning) {{ $shiftStartShow }} - {{ $shiftEndShow }} @else Not Started @endif
(Duration: {{ intdiv(max($durationMinutes,0),60) }}h {{ max($durationMinutes,0) % 60 }}m)
Loading...
@if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin', 'moulvi'])) @else {{ $item->proof_required ? 'Yes' : 'No' }} @endif {{ $created ? $created->format('d M Y') : '-' }}
@if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin', 'moulvi', 'cleaner'])) @endif @if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin'])) @endif @if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin']))
@csrf @method('DELETE')
@endif
@else
No checklist items found. @if(auth()->user()->hasAnyRole(['super admin', 'awqaf admin'])) Create your first checklist item @endif
@endif
@endsection @push('script') @endpush