import React from 'react'; import { Professional } from '../types'; import { Button } from './Button'; import { X, Mail, Phone, MapPin, Building, Star, Camera, DollarSign, Award, User, Car, CreditCard, AlertTriangle } from 'lucide-react'; interface ProfessionalDetailsModalProps { professional: Professional; isOpen: boolean; onClose: () => void; } export const ProfessionalDetailsModal: React.FC = ({ professional, isOpen, onClose, }) => { if (!isOpen) return null; return (
{/* Header com Capa/Avatar Style */}
{/* Conteúdo Principal */}
{/* Avatar Grande */}

{professional.name || professional.nome}

{professional.role || "Profissional"} {professional.media !== undefined && professional.media !== null && ( {typeof professional.media === 'number' ? professional.media.toFixed(1) : parseFloat(String(professional.media)).toFixed(1)} )}
{/* Dados Pessoais */}

Dados Pessoais

{professional.email && (
{professional.email}
)} {professional.whatsapp && (
{professional.whatsapp}
)} {(professional.cidade || professional.uf) && (
{professional.cidade}{professional.cidade && professional.uf ? ", " : ""}{professional.uf}
)} {professional.endereco && (
{professional.endereco}
)}
{/* Equipamentos */}

Equipamentos

{professional.equipamentos || "Nenhum equipamento listado."}
{professional.carro_disponivel && ( Carro Próprio )} {professional.tem_estudio && ( Estúdio ({professional.qtd_estudio}) )} {professional.extra_por_equipamento && ( Extra p/ Equip. )}
{/* Dados Financeiros */}

Dados Financeiros

CPF/CNPJ Titular {professional.cpf_cnpj_titular || "-"}
Chave Pix {professional.conta_pix || "-"}
Banco / Agência {professional.banco || "-"}{professional.agencia ? ` / ${professional.agencia}` : ""}
Tabela Free R$ {professional.tabela_free || "0,00"}
Tipo de Cartão {professional.tipo_cartao || "-"}
{/* Performance / Observations */}

Performance & Avaliação

Técnica
{professional.qual_tec || 0}
Simpatia
{professional.educacao_simpatia || 0}
Desempenho
{professional.desempenho_evento || 0}
Horário
{professional.disp_horario || 0}

Média Geral: {professional.media ? (typeof professional.media === 'number' ? professional.media.toFixed(1) : parseFloat(String(professional.media)).toFixed(1)) : "N/A"}

{professional.observacao && (
"{professional.observacao}"
)}
); };