Add grade/Klasse system: assign class levels to users, questions, and quizzes

- users.grade: set per child in admin (Klasse 1–10)
- quizzes.grade, questions.grade: optional target class (null = all)
- Children only see content matching their grade or without grade set
- Admin views show grade badge in user list, quiz list, questions list
- Quiz create/edit and user create/edit have Klasse dropdown
This commit is contained in:
root
2026-05-06 07:19:17 +00:00
parent c66f126e99
commit 44f281514b
13 changed files with 85 additions and 9 deletions
@@ -25,6 +25,15 @@
<label class="block text-sm font-medium text-slate-700 mb-1">Beschreibung</label>
<textarea name="description" rows="2" class="w-full border border-slate-300 rounded-lg px-3 py-2 text-sm focus:ring-2 focus:ring-violet-500 outline-none">{{ $quiz->description }}</textarea>
</div>
<div>
<label class="block text-sm font-medium text-slate-700 mb-1">Zielklasse <span class="text-slate-400 font-normal">(leer = für alle Kinder)</span></label>
<select name="grade" class="w-full border border-slate-300 rounded-lg px-3 py-2 text-sm focus:ring-2 focus:ring-violet-500 outline-none">
<option value="">Alle Klassen</option>
@for($g=1;$g<=10;$g++)
<option value="{{ $g }}" {{ old('grade',$quiz->grade)==$g?'selected':'' }}>Klasse {{ $g }}</option>
@endfor
</select>
</div>
<div class="flex items-center gap-2">
<input type="checkbox" name="active" id="active" value="1" {{ $quiz->active?'checked':'' }} class="w-4 h-4 text-violet-600">
<label for="active" class="text-sm text-slate-700">Quiz aktiv (für Kinder sichtbar)</label>