diff --git a/backend/server.js b/backend/server.js index 597704a..d349c0e 100644 --- a/backend/server.js +++ b/backend/server.js @@ -7588,7 +7588,13 @@ app.get('/api/comunicacao/:usuarioId', authGuard, async (req, res) => { if (!(await podeEditarComunicacao(req.authUser.userId, alvo, clinicaId))) return res.status(403).json({ error: 'Sem permissão.' }); const { rows } = await pool.query('SELECT endereco, numeros, agenda, completo FROM pessoa_comunicacao WHERE usuario_id=$1 AND clinica_id=$2', [alvo, clinicaId]); const p = rows[0] || { endereco: {}, numeros: [], agenda: {}, completo: false }; - res.json({ usuario_id: alvo, clinica_id: clinicaId, ...p }); + // Perfil ainda sem endereço próprio → sugere o endereço da CLÍNICA (só confirmar, não redigitar). + let enderecoDaClinica = false; + if (!p.endereco || !p.endereco.cidade) { + const { rows: cr } = await pool.query('SELECT logradouro, numero, bairro, cidade, estado, cep FROM clinicas WHERE id=$1', [clinicaId]); + if (cr[0] && (cr[0].cidade || cr[0].logradouro)) { p.endereco = { ...cr[0], ...(p.endereco || {}) }; enderecoDaClinica = true; } + } + res.json({ usuario_id: alvo, clinica_id: clinicaId, ...p, endereco_da_clinica: enderecoDaClinica }); } catch (e) { res.status(500).json({ error: e.message }); } }); diff --git a/frontend/components/ComunicacaoInternaModal.tsx b/frontend/components/ComunicacaoInternaModal.tsx index 04d8b61..1bea337 100644 --- a/frontend/components/ComunicacaoInternaModal.tsx +++ b/frontend/components/ComunicacaoInternaModal.tsx @@ -77,6 +77,7 @@ export const ComunicacaoInternaModal: React.FC<{ const [endereco, setEndereco] = useState({}); const [numeros, setNumeros] = useState([]); const [agenda, setAgenda] = useState({}); + const [enderecoDaClinica, setEnderecoDaClinica] = useState(false); const load = useCallback(async () => { setLoading(true); @@ -87,6 +88,7 @@ export const ComunicacaoInternaModal: React.FC<{ setEndereco(d.endereco || {}); setNumeros(Array.isArray(d.numeros) ? d.numeros : []); setAgenda(d.agenda || {}); + setEnderecoDaClinica(!!d.endereco_da_clinica); } catch { /* mantém vazio */ } finally { setLoading(false); } }, [usuarioId, clinicaId]); useEffect(() => { load(); }, [load]); @@ -158,7 +160,8 @@ export const ComunicacaoInternaModal: React.FC<{ {/* ── Endereço ── */}
-

Endereço

+

Endereço

+ {enderecoDaClinica &&

Puxamos o endereço da clínica — é só conferir (ou ajustar, se o seu for diferente).

}