// Cadastro de Objetivos Pessoais — seleção de objetivos com detalhes (motivo, prazos, observações) const { useState: useStateOp } = React; const fmtDataOp = (v) => { if (!v) return ""; const p = String(v).split("-"); return p.length === 3 ? `${p[2]}/${p[1]}/${p[0]}` : v; }; const OBJ_PESSOAIS_CATALOGO = [ { id: "imovel", icone: "🏠", nome: "Aquisição de Imóvel", desc: "Realização do sonho da casa própria ou investimento imobiliário" }, { id: "automovel", icone: "🚗", nome: "Aquisição de Automóvel", desc: "Conquista do carro/moto ideal para seu dia-a-dia" }, { id: "viagens", icone: "✈️", nome: "Viagens e Experiências", desc: "Planejamento de viagens nacionais e internacionais" }, { id: "aposentadoria", icone: "🌴", nome: "Aposentadoria", desc: "Preparação para qualidade de vida futura" }, { id: "familiar", icone: "👨‍👩‍👧", nome: "Planejamento Familiar", desc: "Preparação para unificar vida financeira e trazer tranquilidade à família" }, { id: "seguranca", icone: "🛡️", nome: "Segurança Financeira Patrimonial", desc: "Proteção do patrimônio e preparo para sucessão" }, { id: "crescimento", icone: "📈", nome: "Crescimento Patrimonial", desc: "Expansão do patrimônio com estratégias financeiras" }, { id: "investimentos", icone: "🎯", nome: "Investimentos", desc: "Estratégias de investimentos seguras e diversificadas" }, { id: "organizacao", icone: "🧮", nome: "Organização Financeira", desc: "Gestão estratégica do orçamento e das contas pessoais" }, { id: "dividas", icone: "💳", nome: "Quitação de dívidas", desc: "Eliminação de dívidas e limpeza do nome" }, { id: "educacao", icone: "🎓", nome: "Educação e Capacitação", desc: "Investimentos em cursos, graduação ou especializações" }, { id: "outro", icone: "•••", nome: "Outro", desc: "Outros objetivos financeiros" }, ]; // Espelha cada objetivo pessoal selecionado como meta financeira na sessão 2 window.syncMetasPessoais = function(objetivos, dados) { const cat = OBJ_PESSOAIS_CATALOGO; const ativo = (k) => { const d = dados[k]; return d && d.selecionado && (d.confirmado || (d.motivo && d.fim)); }; let out = (objetivos || []).filter(o => !o.origem || ativo(o.origem)); cat.forEach(i => { const d = dados[i.id]; if (!d || !d.selecionado) return; if (!(d.confirmado || (d.motivo && d.fim))) return; const nome = i.id === "outro" && d.titulo ? d.titulo : i.nome; const existe = out.find(o => o.origem === i.id); if (!existe) { out = [...out, { id: "op_" + i.id, origem: i.id, nome, icone: i.icone, alvo: 0, acumulado: 0, prazo: d.fim || "" }]; } else { out = out.map(o => o.origem === i.id ? { ...o, nome, prazo: o.prazo || d.fim || "" } : o); } }); return out; }; function ObjPessoalCard({ item, data, open, onToggleSelect, onToggleOpen, onChange, onConfirm }) { const selected = !!data.selecionado; return (
{selected && ( )} {selected && open && (