Files
loto/web
tiennm99 254a6dc39a refactor: move shared modules out of app/
`app/` should hold route segments only. Game logic and the player-card
component are imported by both routes, so they belong outside:

  app/loto-game-logic.ts   -> lib/game-logic.ts
  app/loto-player-board.tsx -> components/player-board.tsx

Imports use the existing @/* alias. Drops the redundant `loto-` prefix.
Also fixes the package name from the scaffold default.
2026-04-26 19:34:37 +07:00
..
2026-04-26 19:16:46 +07:00

Lô tô

Bàn số của trò chơi "Lô tô" — Next.js app.

Two pages: / for players, /master for the host (quản trò) — calls numbers, shows a tracking board, and has its own player card to play along.

See docs/ for project overview, architecture, code standards, and deployment.

Development

npm run dev

Inside code-server (reverse proxy)

cp .env.example .env.local
# edit .env.local: set CODESERVER_HOST and CODESERVER_PORT
npm run dev:codeserver

Open https://<CODESERVER_HOST>/absproxy/<CODESERVER_PORT>/.

Use /absproxy/{port}/, not /proxy/{port}/ — the latter strips the path prefix and breaks Next's basePath. HMR may not survive the proxy; refresh manually if it disconnects.

Build

npm run build

Static export to out/. Deployed to GitHub Pages from master via .github/workflows/deploy.yml.