import React, { useEffect, useState } from 'react'; import { motion } from 'framer-motion'; import { AlertCircle, CalendarDays, CheckCircle2, Users, X } from 'lucide-react'; import { fetchOrganizationInsights } from '../../api/sysadmin'; import type { OrganizationInsights } from '../../api/sysadmin'; interface OrganizationInsightsModalProps { company: any; onClose: () => void; } const formatDate = (value?: string) => { if (!value) return '-'; return new Intl.DateTimeFormat('es-AR', { dateStyle: 'medium' }).format(new Date(value)); }; const fullName = (owner: OrganizationInsights['owner']) => { if (!owner) return '-'; return [owner.firstName, owner.lastName].filter(Boolean).join(' ') || owner.email || '-'; }; const phone = (owner: OrganizationInsights['owner']) => { if (!owner) return '-'; return [owner.phoneCountryCode, owner.phoneAreaCode, owner.phoneNumber].filter(Boolean).join(' ') || '-'; }; const collaboratorName = (collaborator: OrganizationInsights['collaborators'][number]) => { return collaborator.fullName || [collaborator.firstName, collaborator.lastName].filter(Boolean).join(' ') || collaborator.email || collaborator.userId || '-'; }; const StatCard = ({ label, value }: { label: string; value: number }) => (
Vista de solo lectura para SysAdmin.
{loading ? (Nombre: {insights.organization.name}
Slug: {insights.organization.slug || '-'}
Estado: {insights.organization.banned ? 'Baneada' : 'Activa'}
Publicación: {insights.organization.published || '-'}
Onboarding: {insights.organization.onboardingCompleted ? 'Completo' : `Paso ${insights.organization.onboardingStep || 0}`}
Nombre: {fullName(insights.owner)}
Email: {insights.owner?.email || '-'}
Teléfono: {phone(insights.owner)}
Verificado: {insights.owner?.verificated ? 'Sí' : 'No'}
Plan: {insights.subscription.plan?.name || 'Sin plan asociado'}
Código: {insights.subscription.plan?.code || '-'}
Estado: {insights.subscription.mpStatus || (insights.subscription.isActive ? 'active' : 'inactive')}
Inicio: {formatDate(insights.subscription.startDate)}
Fin: {formatDate(insights.subscription.endDate)}
> ) : (No se encontró suscripción.
)}No hay colaboradores asociados.
) : (