@php $student = auth()->user(); @endphp
{{-- Alerts --}} @if(session('error'))
{{ session('error') }}
@endif @if(session('success'))
{{ session('success') }}
@endif @if(! $hasActiveSubscription)
🔓
Unlock all tests

Get lifetime access to every practice paper for just ₹300.

Subscribe ₹300
@endif {{-- Page heading --}}
YOUR PRACTICE SPACE

Explore Tests

Choose a test, practice at your pace and track your progress.

{{ $exams->count() }} {{ $exams->count() === 1 ? 'Test available' : 'Tests available' }}
{{-- Filters --}}

Find your test

Use the filters to find the right practice paper.

@if($selectedExamType || $selectedSubject || $selectedTopic || $selectedDifficulty || $selectedTestType) Reset filters @endif
{{-- Active filters --}} @if($selectedExamType || $selectedSubject || $selectedTopic || $selectedDifficulty || $selectedTestType)
Applied filters: @if($selectedExamType) @endif @if($selectedSubject) @endif @if($selectedTopic) @endif @if($selectedDifficulty) @endif @if($selectedTestType) @endif
@endif
{{-- Test list --}}
@forelse($exams as $exam) @php $startTime = \Carbon\Carbon::parse($exam->start_time)->timezone(config('app.timezone')); $now = \Carbon\Carbon::now(config('app.timezone')); $result = \App\Models\Result::where('exam_id', $exam->id) ->where('user_id', auth()->id()) ->first(); $totalQuestions = $exam->questions_count ?? 0; $totalMarks = $exam->total_marks ?? $exam->questions->sum(fn($q) => (int) ($q->marks ?? 1)); $isFreeTest = (bool) $exam->is_free_test; $isLive = $now->gte($startTime) && ! $result; // Access check $canAttempt = $isLive && ($isFreeTest || $hasActiveSubscription); $needsSubscription = $isLive && ! $isFreeTest && ! $hasActiveSubscription; if ($result) { $badge = 'Completed'; $badgeClass = 'sl-status-completed'; } elseif ($now->lt($startTime)) { $badge = 'Upcoming'; $badgeClass = 'sl-status-upcoming'; } else { $badge = 'Available'; $badgeClass = 'sl-status-live'; } @endphp
{{ $exam->exam_type }} {{ $badge }}

{{ $exam->title }}

@if($exam->subject) {{ $exam->subject }} @endif @if($exam->topic) {{ $exam->topic }} @endif @if($exam->difficulty_level) {{ ucfirst($exam->difficulty_level) }} @endif @if($exam->test_type) {{ config('academix.test_types.' . $exam->test_type, $exam->test_type) }} @endif @if($exam->language) {{ $exam->language === 'both' ? 'Hindi + English' : ucfirst($exam->language) }} @endif @if($exam->is_free_test) Free test @endif
Questions {{ $totalQuestions }}
Duration {{ $exam->duration_minutes }} min
Total marks {{ $totalMarks }}
Pass mark {{ $exam->pass_percentage ?? 40 }}%
â—·
{{ $badge === 'Upcoming' ? 'Starts on' : 'Test date' }} {{ $startTime->format('d M Y, h:i A') }}
@if($exam->negative_enabled && $exam->negative_marking != 0)
Negative marking: −{{ number_format($exam->negative_marking, 2) }} per wrong answer
@endif
@if($result) View Result → @elseif($canAttempt) Start Test → @elseif($needsSubscription) Unlock for ₹300 → @else @endif
@empty
⌕

No tests found

Try changing your filters or reset them to see available tests.

View all tests
@endforelse