feat(clientes-maestro): importar y exportar clientes del archivo maestro
- Tabla ClienteMaestro (27 campos, unique numCliente) - Importador Excel: 1535 clientes del Reporte maestro - API: listar/filtros/exportar/detalle/importar - Frontend: tabla paginada, filtros, exportar Excel - Dark mode completo, 52 tests verdes
This commit is contained in:
@@ -7,10 +7,11 @@ import BannerModoLocal from './components/BannerModoLocal'
|
||||
import { VistaContactos } from './components/VistaContactos'
|
||||
import { ConfigPage } from './components/config/ConfigPage'
|
||||
import { CapturaPage } from './pages/CapturaPage'
|
||||
import { ClientesMaestroPage } from './pages/ClientesMaestroPage'
|
||||
import { getToken, type UsuarioSesion } from './services/auth'
|
||||
import { getMe } from './services/api'
|
||||
|
||||
type Vista = 'home' | 'contactos' | 'captura' | 'configuraciones'
|
||||
type Vista = 'home' | 'contactos' | 'captura' | 'clientes-maestro' | 'configuraciones'
|
||||
|
||||
export default function App() {
|
||||
const [vista, setVista] = useState<Vista>('home')
|
||||
@@ -64,6 +65,16 @@ export default function App() {
|
||||
)
|
||||
}
|
||||
|
||||
if (vista === 'clientes-maestro') {
|
||||
return (
|
||||
<div className="flex min-h-screen flex-col">
|
||||
<Navbar usuario={usuario} onConfiguraciones={() => setVista('configuraciones')} />
|
||||
<BannerModoLocal />
|
||||
<ClientesMaestroPage onVolver={() => setVista('home')} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
if (vista === 'configuraciones' && usuario?.rol === 'admin') {
|
||||
return (
|
||||
<div className="flex min-h-screen flex-col">
|
||||
@@ -104,7 +115,9 @@ export default function App() {
|
||||
? () => setVista('contactos')
|
||||
: modulo.id === 'captura'
|
||||
? () => setVista('captura')
|
||||
: undefined
|
||||
: modulo.id === 'clientes-maestro'
|
||||
? () => setVista('clientes-maestro')
|
||||
: undefined
|
||||
}
|
||||
/>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user