4 Commits
Author SHA1 Message Date
tiennm99 3584d897c1 build(deps): upgrade web to SvelteKit 3 and vitest 5
Move the SvelteKit config into vite.config.js, replace the $lib alias with
#lib subpath imports (dropping the vitest alias), extend $app/tsconfig, and
pass asset() paths without a leading slash. Drop the @babel/core and js-yaml
overrides, which no longer match anything in the tree.
2026-10-03 13:12:03 +07:00
tiennm99 eae345ecbb chore: remove Next.js and repoint CI at the SvelteKit layout
sync-data.yml now writes static/champions.json. This is the edit that had to
land with the deletion of public/: the workflow reports success regardless of
which path it writes, so a miss would have left the weekly sync green while
the live game 404'd on data load.

deploy.yml publishes build/ and passes BASE_PATH. Adds ci.yml, which runs
test, lint, and build on pull_request and pushes to main -- the repo had no
PR-triggered workflow before, so 'green before merge' was previously
unenforceable.

Deletes app/, components/, lib/, public/, next.config.mjs and
postcss.config.mjs, drops the Next and React dependencies, and swaps ESLint
onto eslint-plugin-svelte. sharp and unrs-resolver left pnpm's allowBuilds
because both arrived with Next and pnpm why now reports no dependents.
2026-07-25 11:18:58 +07:00
tiennm99 e2ae34a8ab build: scaffold SvelteKit alongside the Next.js app
Add svelte.config.js (adapter-static, BASE_PATH-driven base), vite.config.js
(Tailwind v4 Vite plugin ahead of sveltekit), the src/ shell, and static/
holding a copy of champions.json plus .nojekyll.

Declares "type": "module" so Vite can load the .js config files; Next.js was
only unaffected because all its configs use .mjs. jsconfig keeps the @/* alias
so pnpm next:build stays runnable for side-by-side comparison during the port.

Next.js scripts move to next:* and both toolchains build from this commit.
2026-07-25 11:00:14 +07:00
tiennm99 d9ae9c97d2 refactor: migrate from vanilla JS to Next.js 16 with Tailwind CSS
- Replace vanilla HTML/CSS/JS with Next.js App Router + React components
- Game logic (champion-data, game-engine, classic-mode) moved to lib/
- UI split into modular components (game-board, champion-search, guess-grid, etc.)
- Add Tailwind CSS v4 with CSS variables for theming
- Immutable state updates, fetch deduplication, next/image for CDN images
- champions.json moved from assets/ to public/
2026-04-04 11:52:59 +07:00