erp-construccion-frontend-v2/web
Adrian Flores Cortes 380b96e159 feat(theme): Implement Dark Mode and Toast notifications
- Add dark:* classes to 10 common components
- Create ThemeProvider with Zustand persistence
- Create ThemeToggle component (simple and full modes)
- Implement Toast notification system (toastStore, useToast, ToastContainer)
- Support success, error, warning, info toast types
- Integrate ToastContainer in App.tsx

Components updated:
- Modal, EmptyState, StatusBadge, SearchInput
- ConfirmDialog, PageHeader, FormField, ActionButtons
- DataTable, LoadingSpinner

Closes: G-005, G-008

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 01:14:11 -06:00
..
src feat(theme): Implement Dark Mode and Toast notifications 2026-02-04 01:14:11 -06:00
.env.example [CONST-D-001] feat: Integrate API frontend with backend 2026-02-03 04:25:10 -06:00
.eslintrc.cjs [MAI-002] feat: Implement frontend Proyectos module 2026-01-25 10:04:54 -06:00
Dockerfile Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
index.html Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
nginx.conf Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
package-lock.json [MAI-002] feat: Implement frontend Proyectos module 2026-01-25 10:04:54 -06:00
package.json [MAI-002] feat: Implement frontend Proyectos module 2026-01-25 10:04:54 -06:00
README.md Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
tailwind.config.js feat(design-system): Implement CSS custom properties for theming 2026-02-04 00:51:57 -06:00
tsconfig.json Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
tsconfig.node.json Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00
vite.config.ts Migración desde erp-construccion/frontend - Estándar multi-repo v2 2026-01-16 08:11:18 -06:00

Frontend Web - MVP Sistema Administración de Obra

Stack: React 18 + Vite + TypeScript + Zustand Versión: 1.0.0 Fecha: 2025-11-20


📋 DESCRIPCIÓN

Aplicación web del sistema de administración de obra e INFONAVIT.

Portales incluidos:

  • Admin: Portal administrativo completo
  • Supervisor: Portal para supervisores de obra
  • Obra: Portal para personal en sitio

🚀 SETUP INICIAL

# Instalar dependencias
npm install

# Iniciar servidor de desarrollo
npm run dev

# Build para producción
npm run build

La aplicación estará disponible en http://localhost:5173


🏗️ ESTRUCTURA

src/
├── shared/                    # Código compartido entre portales
│   ├── components/
│   │   ├── ui/               # Componentes UI base (Button, Input, etc.)
│   │   └── layout/           # Componentes de layout (Header, Sidebar, etc.)
│   ├── hooks/                # Custom hooks
│   ├── stores/               # Zustand stores
│   ├── services/             # API services
│   ├── types/                # TypeScript types
│   ├── utils/                # Utilities
│   └── constants/            # Constantes
└── apps/                     # Portales específicos
    ├── admin/                # Portal administrador
    │   ├── pages/
    │   ├── components/
    │   └── routes.tsx
    ├── supervisor/           # Portal supervisor
    └── obra/                 # Portal obra

📝 SCRIPTS

Script Descripción
npm run dev Inicia servidor de desarrollo (port 5173)
npm run build Build para producción
npm run preview Preview del build de producción
npm run lint Ejecuta ESLint
npm run lint:fix Ejecuta ESLint y corrige
npm run type-check Verifica tipos TypeScript

🎨 CONVENCIONES

Nomenclatura

Seguir ESTANDARES-NOMENCLATURA.md:

  • Componentes: PascalCase.tsx
  • Páginas: PascalCasePage.tsx
  • Hooks: useCamelCase.ts
  • Stores: camelCase.store.ts
  • Tipos: camelCase.types.ts

Path Aliases

import { Button } from '@components/ui/Button';
import { useAuth } from '@hooks/useAuth';
import { projectStore } from '@stores/project.store';
import type { Project } from '@types/project.types';

📚 REFERENCIAS


Mantenido por: Frontend-Agent Última actualización: 2025-11-20