Skip to content

Conversation

@ViktorSvertoka
Copy link
Member

Release v0.3.0

This release introduces social authentication, a major quiz experience upgrade,
expanded localization, and architectural cleanup across the platform.

Highlights

  • Google & GitHub OAuth login/signup
  • Quiz cards redesign with countdown timer and user progress
  • Multilingual content expansion (HTML, React, About page)
  • Unified platform & shop header
  • System-based favicon switching (light/dark)
  • OAuth security fixes and general codebase cleanup

This release significantly improves UX, security, and maintainability.

ViktorSvertoka and others added 30 commits December 28, 2025 22:43
Add system theme-based favicon (light/dark)
add: html + react & 1/3CSS translations json
  Quiz Cards Redesign:
- Add grid layout (2 columns desktop, 1 mobile) for better visual hierarchy
- Implement category tabs with adaptive breakpoints (3/5/10 columns)
- Create Badge component for reusable status indicators
- Add QuizCard component with category badge and completion status
- Display user progress (best score, attempts, progress bar) for authenticated users
- Show conditional CTA ("Retake Quiz" vs "Start Quiz")

  Countdown Timer:
- Create CountdownTimer component with MM:SS format display
- Implement color-coded warnings (blue/yellow/red based on remaining time)
- Add auto-submit functionality when timer expires
- Support dynamic time calculation (DB value or 30 sec/question fallback)
- Integrate pulse animation for critical time warnings (< 10%)

  Database & Queries:
- Update getActiveQuizzes() to join categories and translations
- Add getUserQuizzesProgress() with Map-based O(1) lookup optimization
- Support timeLimitSeconds as nullable with fallback logic
- Validate session userId matches request userId (security)
- Check res.ok before clearing localStorage (data loss prevention)
- Remove diff markers and fix formatting

Security: Prevents attackers from saving quiz results to other users' accounts
Bug fix: Guest quiz data no longer lost on server errors
feat(quiz): redesign quiz cards with categories and countdown timer
Fix GitHub OAuth redirect by passing state parameter
@ViktorSvertoka ViktorSvertoka requested a review from AM1007 as a code owner January 1, 2026 15:17
@netlify
Copy link

netlify bot commented Jan 1, 2026

Deploy Preview for devlovers ready!

Name Link
🔨 Latest commit 40cb6c2
🔍 Latest deploy log https://app.netlify.com/projects/devlovers/deploys/695690235ef0c400087c29db
😎 Deploy Preview https://deploy-preview-97--devlovers.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link

coderabbitai bot commented Jan 1, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@ViktorSvertoka ViktorSvertoka merged commit 08d9565 into main Jan 1, 2026
10 of 11 checks passed
@netlify
Copy link

netlify bot commented Jan 1, 2026

Deploy Preview for develop-devlovers ready!

Name Link
🔨 Latest commit 40cb6c2
🔍 Latest deploy log https://app.netlify.com/projects/develop-devlovers/deploys/695690235c01fd0008c62375
😎 Deploy Preview https://deploy-preview-97--develop-devlovers.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

liudmylasovetovs pushed a commit that referenced this pull request Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants