Sudokuh Logosudokuh

All notable changes to this project will be documented in this file.

[1.4.0] - 2025-08-17

Added

  • "Crazy" Difficulty: Added a new, brutally difficult "Crazy" level for expert players.
  • Global Leaderboard: Implemented a persistent leaderboard system using a server action and a local JSON file. The win dialog now prompts for a name and country to submit the score.
  • New Game Progress Bar: Added a progress bar and loading state to the "New Game" dialog to provide visual feedback during puzzle generation, especially for difficult levels.

Changed

  • Reusable Header Component: Refactored the main header into a reusable component to ensure consistent navigation across all pages.
  • Country Dropdown: Replaced the country text input with a user-friendly dropdown menu featuring flag emojis for each country.

Fixed

  • Browser Crash on High Difficulty: Optimized the puzzle generation algorithm to prevent the browser from freezing or crashing when creating "Expert" or "Crazy" level puzzles.
  • Highlighting Logic: Corrected multiple bugs related to cell highlighting on the Sudoku board to match standard game behavior.
  • Runtime Errors: Resolved several Next.js runtime errors on the play page related to undefined variables and rendering issues.
  • Broken Board Layout: Fixed a critical styling issue that caused the Sudoku board's layout to break.

[1.2.0] - 2025-08-05

Added

  • Google Analytics: Integrated Google Analytics to track user engagement and site traffic.

Changed

  • Sudoku Board Readability: Reworked the board's structure to use CSS grid gaps, creating a clear visual separation between the 3x3 nonets for improved readability.

Fixed

  • Cross-Browser Compatibility: Resolved a critical rendering issue that caused the Sudoku board to appear distorted and misaligned in Safari and Firefox.

[1.1.0] - 2025-08-02

Added

  • Modular Footer: Refactored the footer into a reusable component and added it to all pages for a consistent layout.
  • Navigation Loading State: Created a reusable NavButton component that shows a spinner and disables the button on click, improving UX during page transitions.
  • "Buy Me a Coffee": Integrated a "Buy Me a Coffee" button in the footer to support the project.
  • Open Source Attribution: Added an "Open Source" link with a GitHub icon to the hero section and footer.

Changed

  • Standardized Buttons: Main call-to-action buttons ("Play Now" and "Play for Free") now have a consistent, larger size and a Play icon for better visibility and UX.

Fixed

  • Sudoku Board UI: Overhauled the Sudoku board's styling to fix uneven cell spacing and inconsistent borders, resulting in a clean, pixel-perfect grid.
  • Mobile Layout: Centered the Sudoku board and its controls on mobile devices for a better user experience.

[1.0.0] - 2024-07-30

Added

  • Project Initialization: Set up a new Next.js project with TypeScript, Tailwind CSS, and ShadCN UI.
  • Core Sudoku Game:
    • Implemented Sudoku puzzle generation logic for multiple difficulty levels.
    • Created an interactive and responsive Sudoku board UI.
    • Added game controls for number input, hints, validation, and solving.
  • UI & UX Enhancements:
    • Created a dynamic, animated number background for the homepage.
    • Implemented a persistent light/dark mode theme toggle.
    • Designed a clean, modern UI with a neomorphic style on the game page.
    • Built a rotating image carousel for the hero section.
  • Branding & Content:
    • Designed and integrated a custom logo and brand font ("Playwrite HU").
    • Crafted compelling, expert-level marketing copy for the hero section to improve user engagement.
  • Code Architecture:
    • Modularized the UI into reusable components, including Logo, HeroSection, and ThemeToggle.
    • Isolated Sudoku logic into its own library for better separation of concerns.

Fixed

  • Resolved a visual bug where the animated background was being obscured by other elements.
  • Corrected a JSX parsing error on the game page.