import React from 'react'; import ReactMarkdown from 'react-markdown'; import { SheriffDataLogResponse } from '../types/sheriff'; import { AlertTriangle, Building, Landmark, TrendingUp, Briefcase, Scale, Users, FileText, Car, Banknote } from 'lucide-react'; interface CompanyInfoProps { company: SheriffDataLogResponse | null; loading: boolean; error: string | null | undefined; duxiterMD?: string | null; } const hasData = (value: any): boolean => { if (Array.isArray(value)) { return value.length > 0; } return value !== undefined && value !== null && value !== 'N/A' && value !== '' && value !== 0; }; const formatCurrency = (value: number): string => { if (isNaN(value)) return 'N/A'; return new Intl.NumberFormat('es-CL', { style: 'currency', currency: 'CLP' }).format(value); }; const InfoCard: React.FC<{ title: string; icon: React.ReactNode; children: React.ReactNode }> = ({ title, icon, children }) => (

{icon} {title}

{children}
); const InfoRow: React.FC<{ label: string; value: React.ReactNode }> = ({ label, value }) => (

{label}

{value}

); const CompanyInfo: React.FC = ({ company, loading, error, duxiterMD }) => { if (loading) { return null; // Loading state is handled in the parent component } if (error) { return (

Error al Cargar

{error}

); } if (!company) { return (

Sin Resultados

Ingrese un RUT para ver la información de la empresa.

); } return (
}> {hasData((company.siiData as any)?.['Inicio Actividades']) && } {duxiterMD && ( }>
{duxiterMD}
)} }> {hasData((company.siiData as any)?.['Situacion Actual']) && } {hasData((company.siiData as any)?.['Tamaño Empresa']) && } {hasData((company.siiData as any)?.['Ventas Anuales (UF)']) && } {hasData((company.siiData as any)?.['Actividades Economicas']) && (

Actividades Económicas

    {(company.siiData as any)['Actividades Economicas'].map((activity: any, index: number) => (
  • {activity.actividad} (Código: {activity.codigo}) - {activity.categoria}
  • ))}
)} {(hasData((company.siiData as any)?.['Cantidad de Propiedades']) || hasData((company.siiData as any)?.['Cantidad de Vehiculos'])) && ( }> {hasData((company.siiData as any)?.['Cantidad de Propiedades']) && ( )} {hasData((company.siiData as any)?.['Cantidad de Vehiculos']) && } )} {(hasData((company.siiData as any)?.['Clasificacion de Riesgo']) || hasData((company.siiData as any)?.['Deuda Bancaria'])) && ( }> {hasData((company.siiData as any)?.['Clasificacion de Riesgo']) && } {hasData((company.siiData as any)?.['Deuda Bancaria']) && (

Deuda Bancaria (al {(company.siiData as any)?.['Deuda Bancaria'].Fecha})

Comercial: {formatCurrency((company.siiData as any)?.['Deuda Bancaria']['Deuda Directa Comercial'])}

Vigente: {formatCurrency((company.siiData as any)?.['Deuda Bancaria']['Deuda Directa Vigente'])}

Línea de Crédito: {formatCurrency((company.siiData as any)?.['Deuda Bancaria']['Linea de Credito'])}

)}
)} {hasData((company.siiData as any)?.['Socios']) && (

Socios

{(company.siiData as any)?.['Socios'].map((socio: any, index: number) => (

{socio.nombre}

RUT: {socio.rut}

))}
)}

Fuente: {(company.siiData as any)?.source} {hasData(company.updatedAt) && ( • Última actualización: {new Date(company.updatedAt).toLocaleDateString('es-CL')} )}

); }; export default CompanyInfo;