Files
carvalho-finances/neon-handoff/sprites/icons.json
T
Mlcavalho1andClaude Sonnet 4.6 acbce4edc0 feat: multi-usuário com autenticação JWT
- Tabela `profiles` + coluna `profile_id` em todas as entidades
  (categories, transactions, recurring_expenses, accounts, player_profile,
   xp_events, player_quests, player_achievements, player_cosmetics)
- Dados existentes migrados para profile_id = 1 (Manoel)
- CLI `./api create-user --name <n> --password <p>` cria perfil com
  seed de categorias e player_profile; faz upsert de senha se já existir
- Auth substituída: cookie+APP_PASSWORD → JWT Bearer 24h (HS256)
- Middleware RequireAuth injeta profile_id no context de todas as rotas
- Todos os repositórios filtram por profile_id do context
- Endpoints: POST /api/auth/login, GET /api/auth/me,
  POST /api/auth/change-password, POST /api/logout
- Frontend: auth store usa localStorage (fc_token/fc_profile),
  api.ts envia Authorization header, LoginView usa campo name
- SettingsView reescrita com troca de senha e logout
- docker-compose.yml: remove APP_USERNAME/APP_PASSWORD, adiciona JWT_SECRET

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-05-27 20:04:44 -03:00

68 lines
1.2 KiB
JSON

{
"_note": "Each icon is a flat grid of single-char keys. '.' = transparent. Colors are filled at render time from CSS tokens or props.",
"heart": {
"rows": 8,
"cols": 8,
"grid": [
"........",
".XX..XX.",
"XXXXXXXX",
"XXXXXXXX",
".XXXXXX.",
"..XXXX..",
"...XX...",
"........"
],
"defaultColor": "var(--fc-red, #ff3b6b)"
},
"coin": {
"rows": 8,
"cols": 8,
"grid": [
"..XXXX..",
".XYYYYX.",
"XYYSYYYX",
"XYYSYYYX",
"XYYSYYYX",
"XYYSYYYX",
".XYYYYX.",
"..XXXX.."
],
"colors": {
"X": "var(--fc-gold, #ffd84d)",
"Y": "var(--fc-gold, #ffd84d)",
"S": "#a16207"
}
},
"star": {
"rows": 8,
"cols": 8,
"grid": [
"...XX...",
"...XX...",
"XX.XX.XX",
".XXXXXX.",
"..XXXX..",
".XXXXXX.",
"XX.XX.XX",
"...XX..."
],
"defaultColor": "var(--fc-gold, #ffd84d)"
},
"anchor": {
"rows": 8,
"cols": 8,
"grid": [
"...XX...",
"..XXXX..",
"...XX...",
"XXXXXXXX",
"...XX...",
"X..XX..X",
"XXXXXXXX",
"..XXXX.."
],
"defaultColor": "var(--fc-accent-2, #00f0ff)"
}
}