@extends('layouts.app') @section('title', '我的考試') @section('content')

我的考試

查看您可以參加的考試

{{-- 篩選 --}} @php $subjectMapJson = collect($catSubjectMap)->map(function ($subjects) { return collect($subjects)->map(fn($name, $id) => ['id' => $id, 'name' => $name])->values(); }); @endphp
@if(request()->hasAny(['search', 'category_id', 'subject_id', 'status'])) 清除 @endif
{{-- 上方分頁 --}} @include('components.pagination-bar', ['paginator' => $exams]) {{-- 考試列表 --}}
@forelse($exams as $exam) @php $result = $myResults[$exam->id] ?? null; $statusLabel = $exam->status_label; $statusColors = match($statusLabel) { '進行中' => 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400', '未開始' => 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400', '已結束' => 'bg-gray-100 text-gray-500 dark:bg-slate-800 dark:text-gray-500', default => 'bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400', }; @endphp
{{-- 左側:考試資訊 --}}

{{ $exam->title }}

{{ $statusLabel }}
@if($exam->subject) {{ $exam->subject->name }} @endif @foreach($exam->subjects as $sub) @if($sub->id !== $exam->subject_id) {{ $sub->name }} @endif @endforeach @if($exam->examCategory) {{ $exam->examCategory->name }} @endif {{ $exam->questions_count }} 題
{{-- 時間資訊 --}} @if($exam->start_time || $exam->end_time)
@if($exam->start_time){{ $exam->start_time->format('Y-m-d H:i') }}@endif @if($exam->start_time && $exam->end_time) ~ @endif @if($exam->end_time){{ $exam->end_time->format('Y-m-d H:i') }}@endif
@endif @if($exam->description)

{{ $exam->description }}

@endif
{{-- 右側:成績 + 按鈕 --}}
@if($result)

{{ $result->best_score }}

最高分 ({{ $result->attempts }}次)

@endif
@if($statusLabel === '進行中' || $statusLabel === '未排程') {{ $result ? '再考一次' : '開始考試' }} @elseif($statusLabel === '未開始') 尚未開放 @else 已截止 @endif @if($result) 查看成績 @endif
@empty

目前沒有可參加的考試

請等待老師指派考試,或前往練習考試自主練習

@endforelse
{{-- 下方分頁 --}}
@include('components.pagination-bar', ['paginator' => $exams])
@endsection