# Action Mode

Standalone browser-only Action Mode project.

## Run

```bash
npm install
npm run dev
```

## Build

```bash
npm run build
```

## Local Asset Admin

```bash
npm run assets:admin
```

Open `http://127.0.0.1:4175` to update dungeon icons and boss or mob sprites. Uploads write directly into `public/action-assets`, so the next web or mobile build includes them without manually moving files.

## TrueNAS Custom App

Use `docker-compose.truenas.yml` for the new app deployment. Copy this repo into:

```text
/mnt/usbssds/apps/iwanttoheal2/app
```

The compose file runs the web app on port `4173` with a Postgres database stored under:

```text
/mnt/usbssds/apps/iwanttoheal2/db
```

It initializes tables for auth users, cloud save slots, mechanic configs, PvP queue, and PvP matches.

Set a real `POSTGRES_PASSWORD` in the TrueNAS app environment before first launch. The compose file includes the production origins:

```text
https://iwanttoheal.phenomrom.com
https://auth.phenomrom.com
```

Server save/PvP endpoints require authenticated users. Header-based auth stays disabled until `TRUST_AUTH_HEADERS=1` is set and the reverse proxy/auth service is configured to strip incoming `x-auth-*` headers and inject trusted values from `auth.phenomrom.com`.

Step-by-step local Git, Gitea release, and TrueNAS update commands live in [docs/truenas-deploy.md](docs/truenas-deploy.md).

## Notes

- This project does not import or depend on the Normal Mode game.
- Browser UI still needs the next wiring pass to sync local saves/mechanic edits through the server API.
- Design/architecture notes live in `Action Mode Documents/`.
