Files
NightSpire/frontend/vite.config.ts
T
Inna b2069df4c3 Fase 3 (isla): dashboard de «Mi cuenta» en React/TSX
De las ~508 líneas de partials/my-account.html, solo la parte superior es dinámica
(datos de cuenta, estado, puntos, token, personajes); el resto son paneles de
navegación estáticos (enlaces), que se quedan en Django.

- API: account_me_api -> /api/account/me/ (protegido por sesión, 401 si no hay):
  user_info, account_status, dp/vp, créditos Battlepay, token de seguridad y
  personajes. Reutiliza get_account_characters/get_account_status/formatear_fecha.
  Resiliente si acore no está disponible.
- React: AccountDashboard.tsx (fieldsets de datos + estado con contador de baneo en
  vivo + rejilla de personajes). Entry my_account.
- partials/my-account.html: los 2 fieldsets + la rejilla de personajes + el script
  del contador se sustituyen por #account-dashboard-app; los paneles de utilidades
  e historiales siguen en Django.

Verificado: check OK, /api/account/me/ 401 sin sesión, my-account redirige a login.
(El render con datos reales requiere sesión + BD AzerothCore.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 21:23:17 +00:00

28 lines
1.0 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { resolve } from 'node:path'
// El bundle se construye en ../static/dist (que está en STATICFILES_DIRS),
// con manifest para que django-vite resuelva los assets en producción.
// base '/static/dist/' → coincide con static_url_prefix='dist' de django-vite.
export default defineConfig({
plugins: [react()],
base: '/static/dist/',
build: {
manifest: true,
outDir: resolve(__dirname, '../static/dist'),
emptyOutDir: true,
rollupOptions: {
input: {
home: resolve(__dirname, 'src/entries/home.tsx'),
login: resolve(__dirname, 'src/entries/login.tsx'),
register: resolve(__dirname, 'src/entries/register.tsx'),
select_account: resolve(__dirname, 'src/entries/select_account.tsx'),
recover: resolve(__dirname, 'src/entries/recover.tsx'),
reset_password: resolve(__dirname, 'src/entries/reset_password.tsx'),
my_account: resolve(__dirname, 'src/entries/my_account.tsx'),
},
},
},
})