# Zabavna Matematika

Kids math practice game in Slovene. Players pick `+`, `−`, `×`, and/or `÷`, then play a short session. Difficulty changes **how** they answer, not which operations are allowed.

| Difficulty | Label | How you answer |
|---|---|---|
| Easy | Lahko | 4 large choice buttons |
| Medium | Srednje | 6 choice buttons |
| Hard | Težko | On-screen keypad + OK |

One game codebase: **web** in the browser, **Android** as a Capacitor shell around the same build. There is no backend. Settings, audio, and language (`sl` / `en`) stay in `localStorage`. The UI follows a saved language, otherwise the device (`sl*` → Slovene, everything else → English). Switch it in Settings (gear).

## Play (browser)

From the repo root:

```bash
cd web
npm install
npm run dev
```

Or from the root: `npm run dev` (forwards into `web/`).

Open the URL Vite prints (usually `http://localhost:5173`).

1. Wait for **Nadaljuj** after assets load.
2. Tap which operations to practice and a difficulty.
3. **IGRAJ** → confirm question count / ranges → play.

`npm run build` writes a static site to `web/dist/`.  
`npm run preview` serves that build.

The app uses relative asset paths (`base: './'`), so `dist/` can go in a subfolder on any static host.

## Android

Same game, wrapped for phones and tablets. Details: [docs/ANDROID.md](docs/ANDROID.md).

```bash
cd web
npm install
npm run android
```

That builds the web app, syncs it into `web/android/`, and opens Android Studio. You need Android Studio + an SDK / emulator (or a device).

## Project layout

```
ZabavnaMatematika/
  README.md
  LEVELS.md
  docs/
  package.json              root shortcuts (dev, build, test, android)
  web/                      Vite + React game (the product)
    src/
    public/
    capacitor.config.json
    android/                Capacitor Android project (after first sync)
```

## Docs

- [LEVELS.md](LEVELS.md) — what each difficulty does
- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) — architecture, session loop, tests
- [docs/ANDROID.md](docs/ANDROID.md) — Play Store / Capacitor workflow
- [web/public/privacy.html](web/public/privacy.html) — privacy policy (Slovene)

## Tests

```bash
npm test                 # from repo root, or: cd web && npm test
npm run smoke            # needs Playwright; start preview first
```

```bash
npm run preview -- --host 127.0.0.1 --port 4175
# other terminal
set SMOKE_URL=http://127.0.0.1:4175/
npm run smoke
```

Playwright is not a project dependency. Install it locally if you want the smoke script (`npm install --no-save playwright` inside `web/`).
