A React + Vite jigsaw puzzle app that turns any image into an interactive puzzle board.
- Upload your own image or use a demo image
- Easy / Medium / Hard difficulty presets
- Drag-to-place puzzle pieces with snap detection
- Mouse wheel zoom and drag-to-pan on the canvas
- Header progress bar that fills with completion percentage
- Built-in audio player
- Theme controls with dark mode + accent hue customization
src/
App.tsx
main.tsx
components/
AudioPlayer.tsx
FileUpload.tsx
PuzzleCanvas.tsx
ThemeCustomizer.tsx
types/
index.ts
utils/
puzzleGenerator.ts
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open the local URL shown in the terminal (default:
http://localhost:3000).
Create a production build:
npm run buildPreview the production build locally:
npm run preview