Add JWT authentication, fantasy-themed UI, and full game client

Auth: login/register page, Bearer token via apiFetch wrapper, 401
redirect to login, logout button, localStorage token persistence.

Pages: Home (dashboard, char creation, review board), Training Yard,
Garth's Shop, Temple, Inventory, Adventure (zone selection, combat log),
Songs (bard-only), Spells (caster-only), Item Catalogue (admin-only).

Features: 15s regen polling (HP/nerve/energy), energy/nerve bars, gold
display, equipment slot grid, item quality color coding, stat pills,
crit severity highlighting, XP progress bar, shop buy/sell filters.
This commit is contained in:
Jan-Peter von Hunnius 2026-08-09 17:01:37 +02:00
parent ee7c6f7d4f
commit 5142f18b1b
6 changed files with 1334 additions and 4 deletions

9
package-lock.json generated
View file

@ -8,6 +8,7 @@
"name": "skara-brae-client",
"version": "0.0.0",
"dependencies": {
"@lucide/vue": "^1.28.0",
"pinia": "^4.0.2",
"vue": "^3.5.40"
},
@ -98,6 +99,14 @@
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="
},
"node_modules/@lucide/vue": {
"version": "1.28.0",
"resolved": "https://registry.npmjs.org/@lucide/vue/-/vue-1.28.0.tgz",
"integrity": "sha512-cO89UyNM/0i2Srdi04nFWeEOQkqzDZlM2ehtWyBhcMpRTJDKpMZPCGAVlmVBgBgr5HaeL5L6FsU8RHsOdwXtKw==",
"peerDependencies": {
"vue": ">=3.0.1"
}
},
"node_modules/@napi-rs/wasm-runtime": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.2.tgz",