Skip to content

Release Notes - v1.8.0

Choose a tag to compare

@CyberSphinxxx CyberSphinxxx released this 28 Jun 20:41

Overview

This release introduces a major overhaul to the user profile, settings, and theming systems, along with codebase-wide optimizations for type safety, performance, and user experience. A total of 41 files were modified to modularize components, enhance the UI, and harden the application's stability.

Features & Enhancements

1. Unified Profile System

  • Profile Page (/profile): Replaced the fragmented stats and archive pages with a single, cohesive user profile dashboard.
  • Component Modularization: Abstracted the complex profile logic into distinct StatsView and ArchiveView components, significantly reducing boilerplate and improving code maintainability.
  • Header Update: Replaced the generic settings icon with a UserCircle icon pointing to /profile, clarifying the navigation hierarchy.

2. Dedicated Settings & Preferences

  • Settings Page (/settings): Created a centralized hub for account management and preferences.
  • Safe Data Management: Migrated the "Danger Zone" (Sign Out and Clear Local Data) out of the Profile page and into Settings, complete with protective confirmation modals to prevent accidental data loss.
  • Account Details: Added read-only display of the authenticated user's email address.

3. Advanced Theme Store

  • Expanded Theme Engine: Defined an extensible themes.ts metadata file containing 10 distinct, highly-curated themes (e.g., Cyberpunk, Synthwave, Nord, Dracula, Ocean).
  • Theme Store UI (/settings/themes): Built a dedicated marketplace-style page allowing users to browse and preview themes. The UI features dynamic CSS gradients, backdrop blurs, and hover animations, built entirely with strict design tokens (zero hardcoded Tailwind arbitrary values).
  • Favorites System: Upgraded ThemeProvider to sync a user's favorite themes with localStorage.
  • Quick Switch: Replaced the old Light/Dark header toggle with a "Quick Favorites" switcher directly embedded inside the Settings page for rapid personalization.

4. Codebase Hardening & Optimizations

  • Strict Type Safety: Conducted a repository-wide TypeScript audit. Eliminated dangerous any cast operations in firebase.ts and storage.ts by augmenting the global Window interface and correctly typing catch-block errors. The build now passes tsc --noEmit with zero errors.
  • Firebase Initialization Fix: Resolved a critical Fast Refresh bug causing ReCaptchaEnterpriseProvider to crash during local development by attaching a singleton initialization flag directly to the window object.
  • Sitemap Updates: Updated public/sitemap.xml to correctly index all new public routes including /settings, /profile, /leaderboard, and /faq.
  • Database Optimizations: Audited Firestore queries to ensure that reads are strictly limited (e.g., 100 documents max on Leaderboard) and properly cached globally using Next.js Incremental Static Regeneration (ISR) with a 300-second revalidation window to minimize API costs.

Full Changelog: v1.7.1...v1.8.0