pdf-quiz-generator/backend/app/routers
Daniel 1343eb5801 Fix mobile touch, hide docs for users, timer save/restore, Nextcloud server-side
Mobile touch fix:
- Added touch-action: manipulation and -webkit-tap-highlight-color: transparent
  to .question-card .option CSS — prevents mobile browsers from interfering
  with tap events (double-tap zoom, highlight flash, delayed clicks)

Documents hidden for regular users:
- Dashboard: stats card hides Documents count for non-moderators
- Dashboard: document list section completely hidden for non-moderators
- Documents API not called for non-moderators (saves a request)

Timer improvements:
- Custom timer input on ModeSelectScreen — set any number of minutes
  for exam mode (overrides the quiz default, or add time to untimed quizzes)
- timeLeft saved to Redis progress every 1.5s (alongside answers, mode, voice)
- On resume: timer restarts from the saved remaining time
- Timer auto-submits when it reaches 0 (already worked, now also works on resume)
- Progress bar shows remaining time relative to what was left at resume

Nextcloud settings — server-side storage:
- GET /auth/me/settings — load user settings from Redis
- PUT /auth/me/settings — save settings to Redis (linked to user_id)
- SettingsPage loads Nextcloud config from server on mount
- Saves to BOTH server (cross-browser persistent) and localStorage (for UploadPage)
- Clear function wipes both server and localStorage
- Switching browsers and logging in restores Nextcloud settings

Also fixed: saved.attemptId → saved.attempt_id in ModeSelectScreen resume check

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:39:43 +02:00
..
__init__.py Initial commit: PDF Quiz Generator app 2026-03-30 20:04:53 +00:00
admin.py Major: categories, question bank, security fixes, mobile layout, UX improvements 2026-03-31 20:08:05 +02:00
attempts.py Fix mobile touch, hide docs for users, timer save/restore, Nextcloud server-side 2026-04-01 17:39:43 +02:00
auth.py Fix mobile touch, hide docs for users, timer save/restore, Nextcloud server-side 2026-04-01 17:39:43 +02:00
categories.py Major: categories, question bank, security fixes, mobile layout, UX improvements 2026-03-31 20:08:05 +02:00
documents.py UI overhaul, bug fixes, section delete, category at extraction 2026-04-01 01:12:19 +02:00
nextcloud.py Fix 5 bugs: dashboard stats, document access, Nextcloud filename, upload tab, results colours 2026-03-31 19:17:46 +02:00
question_categories.py Fix question bank: select-all, bulk category, page size, category delete 2026-04-01 02:55:25 +02:00
questions.py Fix question bank: select-all, bulk category, page size, category delete 2026-04-01 02:55:25 +02:00
quizzes.py Add extraction modes; fix resume; hide Nextcloud/Upload for users; delete PREP 2013 questions 2026-04-01 12:43:24 +02:00
tts.py Major platform update: pgvector search, multi-provider TTS, settings page, CLI 2026-03-31 18:03:10 +02:00