From 841cc961b5b191d51141e70db9cb22ad0f6cafc8 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Sat, 21 Feb 2026 19:23:17 -0300 Subject: [PATCH] Feat ERP 3 --- .../src/components/Companies/CompanyModal.tsx | 30 ++- .../src/components/Shared/CuitInput.tsx | 98 +++++++++ .../admin-panel/src/utils/cuitValidator.ts | 43 ++++ .../src/components/POS/ClientCreateModal.tsx | 186 ++++++++++++++++++ .../src/components/POS/ClientSearchModal.tsx | 178 +++++++++++++++++ .../src/components/Shared/CuitInput.tsx | 98 +++++++++ .../counter-panel/src/pages/FastEntryPage.tsx | 9 +- .../src/pages/UniversalPosPage.tsx | 62 ++++-- .../src/services/clientService.ts | 33 ++++ .../counter-panel/src/utils/cuitValidator.ts | 43 ++++ .../Controllers/ClientsController.cs | 48 +++++ src/SIGCM.Application/DTOs/ClientDtos.cs | 11 ++ .../Repositories/ClientRepository.cs | 22 ++- 13 files changed, 835 insertions(+), 26 deletions(-) create mode 100644 frontend/admin-panel/src/components/Shared/CuitInput.tsx create mode 100644 frontend/admin-panel/src/utils/cuitValidator.ts create mode 100644 frontend/counter-panel/src/components/POS/ClientCreateModal.tsx create mode 100644 frontend/counter-panel/src/components/POS/ClientSearchModal.tsx create mode 100644 frontend/counter-panel/src/components/Shared/CuitInput.tsx create mode 100644 frontend/counter-panel/src/services/clientService.ts create mode 100644 frontend/counter-panel/src/utils/cuitValidator.ts create mode 100644 src/SIGCM.Application/DTOs/ClientDtos.cs diff --git a/frontend/admin-panel/src/components/Companies/CompanyModal.tsx b/frontend/admin-panel/src/components/Companies/CompanyModal.tsx index 016c5e1..c12437b 100644 --- a/frontend/admin-panel/src/components/Companies/CompanyModal.tsx +++ b/frontend/admin-panel/src/components/Companies/CompanyModal.tsx @@ -1,8 +1,10 @@ import { useState, useEffect } from 'react'; import type { Company } from '../../types/Company'; import { companyService } from '../../services/companyService'; -import { X, Save, Building2, FileText, MapPin, Link } from 'lucide-react'; +import { X, Save, Building2, MapPin, Link } from 'lucide-react'; import { motion } from 'framer-motion'; +import CuitInput from '../Shared/CuitInput'; +import clsx from 'clsx'; interface Props { company: Company | null; @@ -11,6 +13,7 @@ interface Props { export default function CompanyModal({ company, onClose }: Props) { const [loading, setLoading] = useState(false); + const [isCuitValid, setIsCuitValid] = useState(true); const [formData, setFormData] = useState>({ name: '', taxId: '', @@ -66,11 +69,15 @@ export default function CompanyModal({ company, onClose }: Props) {
- - setFormData({ ...formData, taxId: e.target.value })} /> + { + setFormData({ ...formData, taxId: val }); + setIsCuitValid(valid); + }} + />