feat(captura): módulo de captura por departamentos
Backend: tabla CapturaDepartamento, 5 departamentos, 7 desarrollos, service CRUD + importador Excel + 6 endpoints. Frontend: tabla editable inline, tabs por dept, resumen avance, paginación, filtro estatus, permisos por rol, dark mode. 746 API tests + 42 landing tests.
This commit is contained in:
@@ -6,10 +6,11 @@ import { ConfiguracionCuenta } from './components/ConfiguracionCuenta'
|
||||
import BannerModoLocal from './components/BannerModoLocal'
|
||||
import { VistaContactos } from './components/VistaContactos'
|
||||
import { ConfigPage } from './components/config/ConfigPage'
|
||||
import { CapturaPage } from './pages/CapturaPage'
|
||||
import { getToken, type UsuarioSesion } from './services/auth'
|
||||
import { getMe } from './services/api'
|
||||
|
||||
type Vista = 'home' | 'contactos' | 'configuraciones'
|
||||
type Vista = 'home' | 'contactos' | 'captura' | 'configuraciones'
|
||||
|
||||
export default function App() {
|
||||
const [vista, setVista] = useState<Vista>('home')
|
||||
@@ -53,6 +54,16 @@ export default function App() {
|
||||
)
|
||||
}
|
||||
|
||||
if (vista === 'captura') {
|
||||
return (
|
||||
<div className="flex min-h-screen flex-col">
|
||||
<Navbar usuario={usuario} onConfiguraciones={() => setVista('configuraciones')} />
|
||||
<BannerModoLocal />
|
||||
<CapturaPage onVolver={() => setVista('home')} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
if (vista === 'configuraciones' && usuario?.rol === 'admin') {
|
||||
return (
|
||||
<div className="flex min-h-screen flex-col">
|
||||
@@ -88,7 +99,13 @@ export default function App() {
|
||||
<TarjetaModulo
|
||||
key={modulo.id}
|
||||
modulo={modulo}
|
||||
onAbrir={modulo.id === 'contactos' ? () => setVista('contactos') : undefined}
|
||||
onAbrir={
|
||||
modulo.id === 'contactos'
|
||||
? () => setVista('contactos')
|
||||
: modulo.id === 'captura'
|
||||
? () => setVista('captura')
|
||||
: undefined
|
||||
}
|
||||
/>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user