@include('livewire.revision.partials.setup-header', [ 'title' => 'Quick Start', 'description' => 'Choose a subject or topic if needed, then start reviewing.', 'icon' => 'fa-layer-group', 'iconClasses' => 'bg-amber-50 text-amber-700 ring-1 ring-amber-100', ])
Subject: {{ collect($subjects)->firstWhere('id', (int) $subjectId)?->name ?? 'All subjects' }} Topic: {{ collect($topics)->firstWhere('id', (int) $topicId)?->name ?? 'All topics' }} Set: {{ $sessionSize }} cards
Start Flashcard Session Customize
@teleport('body')
Customize Flashcards Adjust the set only if you want a narrower review round.
@foreach ($subjects as $subject) @endforeach
@foreach ($topics as $topic) @endforeach
Review order is automatic: due cards first, then new cards.
Done
@endteleport @if ($setupError) {{ $setupError }} @endif @if ($previewCards !== []) @include('livewire.revision.partials.disclosure-header', [ 'title' => 'Preview a few flashcards', 'description' => 'See the kind of cards in this set.', ])
@foreach ($previewCards as $card)

{{ $card->topic?->subject?->name }} • {{ $card->topic?->name }}

{{ \Illuminate\Support\Str::limit($this->displayCardText($card->front), 110) }}

{{ \Illuminate\Support\Str::limit($this->displayCardText($card->back), 140) }}
@endforeach
@endif @if ($showModal) @teleport('body')
@include('livewire.revision.partials.session-stat-chip', ['icon' => 'fa-solid fa-layer-group', 'iconClasses' => 'text-amber-500', 'label' => 'Card', 'value' => min($currentIndex + 1, max(1, count($queueFlashcardIds))).'/'.count($queueFlashcardIds)]) @include('livewire.revision.partials.session-stat-chip', ['icon' => 'fa-solid fa-rotate', 'iconClasses' => 'text-orange-500', 'label' => 'Reviewed', 'value' => $reviewed]) @include('livewire.revision.partials.session-stat-chip', ['icon' => 'fa-solid fa-sparkles', 'iconClasses' => 'text-emerald-500', 'label' => 'Known', 'value' => $known]) @include('livewire.revision.partials.session-stat-chip', ['icon' => 'fa-solid fa-bullseye', 'iconClasses' => 'text-sky-500', 'label' => 'Accuracy', 'value' => ($reviewed > 0 ? (int) round(($known / $reviewed) * 100) : 0).'%'])
@include('livewire.revision.partials.session-progress-bar', [ 'current' => min($currentIndex, count($queueFlashcardIds)), 'total' => count($queueFlashcardIds), 'fillClass' => 'bg-gradient-to-r from-amber-500 to-orange-500 transition-all', ])
Flashcard Sprint {{ $currentCard?->topic?->subject?->name ?: 'Mixed' }} @if ($currentCard?->topic?->name) · {{ $currentCard->topic->name }} @endif
@if ($this->sessionComplete())
Sprint finished Session Complete You’ve cleared this review sprint. Start another one if you want to keep your recall sharp.
@elseif (! $currentCard) No flashcard available. @else

{{ $currentCard->topic?->name ?: 'Flashcard' }}

{{ $showAnswer ? 'Answer' : 'Question' }}

{{ $this->displayCardText($showAnswer ? $currentCard->back : $currentCard->front) }}

@endif
@if ($this->sessionComplete())

Summary

{{ $reviewed }} reviewed, {{ $known }} marked known.

Close Another Sprint
@elseif (! $showAnswer)

Reveal when ready

Think through the answer first, then flip the card.

Reveal Answer
@else

How easy was that card?

Pick the face that matches how easy you found it.

@endif
@endteleport @endif