feat(clientes-maestro): modal detalle + fix permisos roles
- Modal con 28 campos agrupados por sección (Datos, Contacto, Crédito, Propiedad, Marketing, Venta) - Click en fila abre modal - Dark mode completo - Agregado 'clientes-maestro' a todos los roles
This commit is contained in:
@@ -9,10 +9,11 @@ interface Props {
|
||||
cargando: boolean
|
||||
onPageChange: (pagina: number) => void
|
||||
onExportar: () => void
|
||||
onRowClick?: (cliente: ClienteMaestro) => void
|
||||
}
|
||||
|
||||
/** Tabla paginada de clientes maestro con dark mode completo */
|
||||
export function ClientesMaestroTable({ datos, total, pagina, limite, cargando, onPageChange, onExportar }: Props) {
|
||||
export function ClientesMaestroTable({ datos, total, pagina, limite, cargando, onPageChange, onExportar, onRowClick }: Props) {
|
||||
const totalPaginas = Math.ceil(total / limite)
|
||||
const inicio = (pagina - 1) * limite + 1
|
||||
const fin = Math.min(pagina * limite, total)
|
||||
@@ -108,7 +109,7 @@ export function ClientesMaestroTable({ datos, total, pagina, limite, cargando, o
|
||||
</thead>
|
||||
<tbody className="divide-y divide-[#E5E7EB] dark:divide-[#1E293B]">
|
||||
{datos.map((c) => (
|
||||
<tr key={c.id} className="transition-colors hover:bg-[#F8FAFC] dark:hover:bg-[#0F172A]">
|
||||
<tr key={c.id} className={`transition-colors hover:bg-[#F8FAFC] dark:hover:bg-[#0F172A] ${onRowClick ? "cursor-pointer" : ""}`} onClick={() => onRowClick?.(c)}>
|
||||
<td className="px-4 py-3 text-[#64748B] dark:text-[#94A3B8]">{c.numCliente}</td>
|
||||
<td className="px-4 py-3 font-medium text-[#111827] dark:text-[#E2E8F0]">
|
||||
{c.nombre} {c.apellidoPaterno} {c.apellidoMaterno ?? ''}
|
||||
|
||||
Reference in New Issue
Block a user