@extends('layouts.app') @section('title', 'Dashboard – Student') @section('content') @php $me = auth()->user(); $cp = $currentSemester ? ($progress[$currentSemester->id] ?? null) : null; @endphp {{-- ── Greeting ───────────────────────────────────────────────────────── --}}
@if($profile?->photo_path) @else {{ strtoupper(mb_substr($me->name, 0, 1)) }} @endif

{{ $me->name }}

@if($profile?->student_id) {{ $profile->student_id }} @endif @if($profile?->intake) {{ $profile->intake }} @endif @if($currentSemester) {{ $currentSemester->name }} @endif
{{-- ── Key numbers ────────────────────────────────────────────────────── --}}
@include('student.logbook._ring', ['percent' => $overall['percent'], 'size' => 62])
Overall
{{ $overall['passed'] }}/{{ $overall['total'] }}
{{ $overall['passed'] }}
Passed
{{ $overall['retry'] }}
Need retry
{{ $overall['not_assessed'] }}
Not assessed
{{-- ── Needs attention ────────────────────────────────────────── --}}
Needs your attention
@if($overall['retry'] > $needsRetry->count()) @endif
{{-- ── Current semester ───────────────────────────────────────── --}} @if($currentSemester && $cp)
Current semester
{{ $currentSemester->name }}
Year {{ $currentSemester->year }}, Semester {{ $currentSemester->semester_number }}
@if($currentReport) Report @endif Continue
Compulsory {{ $cp['compulsory_passed'] }}/{{ $cp['compulsory_total'] }}
@if($cp['optional_total'] > 0)
Optional {{ $cp['optional_passed'] }}/{{ $cp['optional_total'] }}
@endif
@else
No current semester set
Ask your faculty administrator to set your current semester so your dashboard can track it.
@endif
{{-- ── Recent feedback ────────────────────────────────────────────── --}}
Recent feedback
@forelse($recent as $a)
{{ $a->is_na ? 'NA' : $a->score }}
{{ $a->procedure?->name ?? 'Procedure removed' }}
{{ $a->assessment_date->format('d M Y') }}
@if($a->assessedBy)
{{ $a->assessedBy->name }}
@endif @if($a->remarks)
{{ $a->remarks }}
@endif
@empty
No assessments yet.
Show your QR card to a clinical instructor to begin.
@endforelse
@endsection