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 |
|
Adrian Flores Cortes
|
765a639004
|
refactor(frontend): Extract common components and types
- Create src/types/ with organized type files:
- api.types.ts, auth.types.ts, construction.types.ts
- estimates.types.ts, hse.types.ts, common.types.ts
- Create src/utils/ with utilities:
- formatters.ts (formatCurrency, formatDate, etc.)
- validators.ts (isValidEmail, isValidRFC, etc.)
- constants.ts (status options, color maps)
- Create src/components/common/ with reusable components:
- DataTable, Modal, ConfirmDialog
- FormField (TextInput, SelectField, TextareaField)
- StatusBadge, SearchInput, PageHeader
- ActionButtons, LoadingSpinner, EmptyState
- Refactor pages to use common components:
- FraccionamientosPage: 385 -> 285 lines
- PresupuestosPage: 412 -> 297 lines
- IncidentesPage: 741 -> 253 lines
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2026-02-03 09:02:57 -06:00 |
|