How facundodlf/argendoku-creator works
Argendoku Creator is a browser-based Sudoku book editor. The user chooses difficulty and batch size, adds generated puzzles to a book, reviews puzzle and automatically derived solution pages, and can remove puzzles or pages. PDF/KDP and image export are represented in the UI, but the inspected PDF flow is explicitly simulated; no real file-generation or external storage service is evidenced. The graph follows the app’s state-owning page through generation, layout and rendering, with shared UI primitives as an internal layer. Some component details were not sampled, so their links are limited to indexed references.
Main entry points: page.tsx App state and shell · config.ts Book configuration · toolbar.tsx Book controls · types.ts Domain contracts
Components 13
Application flow
- App state and shell
app/page.tsx
Puzzle and book domain
- Puzzle generator
lib/argendo/sudoku.ts - Book page layout
lib/argendo/use-book.ts - Book configuration
lib/argendo/config.ts - Domain contracts
lib/argendo/types.ts
Book editor UI
- Application header
components/argendo/app-header.tsx - Book controls
components/argendo/toolbar.tsx - Book workspace
components/argendo/workspace.tsx - Page preview
components/argendo/page-card.tsx - Sudoku grid
components/argendo/sudoku-grid.tsx - Export dialog
components/argendo/export-dialog.tsx
Shared UI
- UI primitives
components/ui
Other components
- Book creator
Connections 21
- Book creator → App state and shell: uses editor
app/page.tsx - App state and shell → Application header: renders
app/page.tsx - App state and shell → Book controls: renders
app/page.tsx - App state and shell → Book workspace: renders
app/page.tsx - App state and shell → Export dialog: renders
app/page.tsx - App state and shell → Puzzle generator: creates batches
app/page.tsx - App state and shell → Book page layout: derives pages
app/page.tsx - Book controls → App state and shell: sends actions
app/page.tsx - Book workspace → Page preview: renders pages
components/argendo/workspace.tsx - Page preview → Sudoku grid: renders grids
components/argendo/page-card.tsx - Puzzle generator → Book configuration: reads difficulty rules
lib/argendo/sudoku.ts - App state and shell → Book configuration: reads defaults
app/page.tsx - Book controls → Book configuration: reads options
components/argendo/toolbar.tsx - Book page layout → Book configuration: reads page limits
lib/argendo/use-book.ts - Export dialog → Book configuration: reads export options
components/argendo/export-dialog.tsx - Puzzle generator → Domain contracts: uses puzzle types
lib/argendo/sudoku.ts - Book page layout → Domain contracts: uses page types
lib/argendo/use-book.ts - App state and shell → Domain contracts: holds book state
app/page.tsx - Page preview → Domain contracts: renders page data
components/argendo/page-card.tsx - Book controls → UI primitives: uses controls
components/argendo/toolbar.tsx - Export dialog → UI primitives: uses dialog controls
components/argendo/export-dialog.tsx