Skip to content

Release Notes - v1.8.1

Choose a tag to compare

@CyberSphinxxx CyberSphinxxx released this 28 Jun 21:36

Architecture & Routing

  • Landing Page Separation (src/app/page.tsx, src/components/LandingPage.tsx): Completely decoupled the main Daily Game from the root landing page. The root route (/) now acts strictly as a lightweight, fast-loading marketing page. Obsolete state management (mode, setMode) was stripped out.
  • Dedicated Daily Game Route (src/app/modes/[mode]/page.tsx, src/components/Game.tsx): Migrated the core daily game into the existing dynamic modes router. The daily game now securely lives at /modes/daily. Added seamless Next.js <Link> prefetching from the landing page's "Play" button for instant client-side transitions.
  • Tutorial Migration: Successfully preserved the "How to Play" modal logic, migrating it into the dynamic mode router to ensure first-time users receive instructions upon their first puzzle interaction, regardless of the entry point.

Gameplay & Logic Optimization

  • Leaderboard Timer Accuracy (src/hooks/useDailyGame.ts, src/components/GuessInput.tsx, src/components/DailyGame.tsx): Fixed an issue where the gameplay timer would silently start as soon as the component mounted, resulting in bloated leaderboard times if a tab was left open.
  • Implemented a lazy-start mechanism: the timer state (startedAt) now strictly initializes as undefined.
  • Bound a new startTimer callback to the onType event within the GuessInput component, ensuring the internal clock accurately begins on the player's first keystroke. Built-in fallbacks ensure the timer gracefully recovers if a guess is pasted or autofilled.

UI / UX Refinements

  • Settings Page Hierarchy (src/app/settings/page.tsx): Adjusted the visual hierarchy within the "Danger Zone". The "Sign Out" button was re-styled to utilize the application's orange design tokens, visually distinguishing a safe session exit from the highly destructive, red "Clear Local Data" action.
  • Share Component Contrast (src/components/ShareButton.tsx): Toned down the background and shadow brightness of the "Share Result" button to match the standard primary button aesthetic, removing the overpowering high-contrast hover state.

Full Changelog: v1.8.0...v1.8.1