diff --git a/susconecta/app/paciente/resultados/ResultadosClient.tsx b/susconecta/app/paciente/resultados/ResultadosClient.tsx index 8316f50..289abb1 100644 --- a/susconecta/app/paciente/resultados/ResultadosClient.tsx +++ b/susconecta/app/paciente/resultados/ResultadosClient.tsx @@ -53,7 +53,6 @@ export default function ResultadosClient() { // Filtros/controles da UI - initialize with defaults to avoid hydration mismatch const [tipoConsulta, setTipoConsulta] = useState('teleconsulta') const [especialidadeHero, setEspecialidadeHero] = useState('Psicólogo') - const [convenio, setConvenio] = useState('Todos') const [bairro, setBairro] = useState('Todos') // Busca por nome do médico const [searchQuery, setSearchQuery] = useState('') @@ -649,11 +648,27 @@ export default function ResultadosClient() { } } - // Filtro visual (convenio/bairro são cosméticos; quando sem dado, mantemos tudo) + // Extrair bairros únicos dos médicos + const bairrosDisponiveis = useMemo(() => { + const neighborhoods = new Set(); + (medicos || []).forEach((m: any) => { + if (m.neighborhood) { + neighborhoods.add(String(m.neighborhood)) + } + }) + return Array.from(neighborhoods).sort() + }, [medicos]) + + // Filtro visual (bairro é o único filtro; quando sem dado, mantemos tudo) const profissionais = useMemo(() => { let filtered = (medicos || []).filter((m: any) => { - if (convenio !== 'Todos' && m.convenios && !m.convenios.includes(convenio)) return false - if (bairro !== 'Todos' && m.neighborhood && String(m.neighborhood).toLowerCase() !== String(bairro).toLowerCase()) return false + // Se um bairro específico foi selecionado, filtrar rigorosamente + if (bairro !== 'Todos') { + // Se o médico não tem neighborhood, não incluir + if (!m.neighborhood) return false + // Se tem neighborhood, deve corresponder ao filtro + if (String(m.neighborhood).toLowerCase() !== String(bairro).toLowerCase()) return false + } return true }) @@ -668,7 +683,7 @@ export default function ResultadosClient() { } return filtered - }, [medicos, convenio, bairro, medicoFiltro]) + }, [medicos, bairro, medicoFiltro]) // Paginação local para a lista de médicos const [currentPage, setCurrentPage] = useState(1) @@ -824,23 +839,6 @@ export default function ResultadosClient() { {/* divider visual */}
- {/* Convênio */} -
- -
- {/* Bairro */}