'use client' import { useMemo, useState } from 'react' import { useSearchParams, useRouter } from 'next/navigation' import { Button } from '@/components/ui/button' import { Card } from '@/components/ui/card' import { Toggle } from '@/components/ui/toggle' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' import { Badge } from '@/components/ui/badge' import { Building2, Filter, Globe, HeartPulse, Languages, MapPin, ShieldCheck, Star, Stethoscope, ChevronRight } from 'lucide-react' import { cn } from '@/lib/utils' type TipoConsulta = 'teleconsulta' | 'local' type Medico = { id: number nome: string especialidade: string avaliacao: number avaliacaoQtd: number convenios: string[] endereco?: string bairro?: string cidade?: string precoLocal?: string precoTeleconsulta?: string atendeLocal: boolean atendeTele: boolean } const especialidadesHero = ['Psicólogo', 'Médico clínico geral', 'Pediatra', 'Dentista', 'Ginecologista', 'Veja mais'] const medicosMock: Medico[] = [ { id: 1, nome: 'Paula Pontes', especialidade: 'Psicóloga', avaliacao: 4.9, avaliacaoQtd: 23, convenios: ['Amil', 'Unimed'], endereco: 'Av. Doutor José Machado de Souza, 200 - Jardins', bairro: 'Jardins', cidade: 'Aracaju • SE', precoLocal: 'R$ 180', precoTeleconsulta: 'R$ 160', atendeLocal: true, atendeTele: true }, { id: 2, nome: 'Dr. Carlos Andrade', especialidade: 'Cardiologista', avaliacao: 4.8, avaliacaoQtd: 128, convenios: ['SulAmérica', 'Bradesco Saúde'], endereco: 'Rua Sergipe, 88 - Centro Médico Jardins', bairro: 'Centro', cidade: 'Aracaju • SE', precoLocal: 'R$ 320', precoTeleconsulta: 'R$ 290', atendeLocal: true, atendeTele: true }, { id: 3, nome: 'Dra. Fernanda Lima', especialidade: 'Dermatologista', avaliacao: 5, avaliacaoQtd: 210, convenios: ['Amil', 'Particular'], precoTeleconsulta: 'R$ 250', atendeLocal: false, atendeTele: true }, { id: 4, nome: 'Dr. João Silva', especialidade: 'Ortopedista', avaliacao: 4.7, avaliacaoQtd: 96, convenios: ['Unimed', 'Bradesco Saúde'], endereco: 'Av. Beira Mar, 1450 - Farolândia', bairro: 'Farolândia', cidade: 'Aracaju • SE', precoLocal: 'R$ 310', atendeLocal: true, atendeTele: false } ] export default function ResultadosPage() { const params = useSearchParams() const router = useRouter() const [tipoConsulta, setTipoConsulta] = useState( params.get('tipo') === 'presencial' ? 'local' : 'teleconsulta' ) const [especialidadeHero, setEspecialidadeHero] = useState(params.get('especialidade') || 'Psicólogo') const [convenio, setConvenio] = useState('Todos') const [bairro, setBairro] = useState('Todos') const profissionais = useMemo(() => { return medicosMock.filter(medico => { if (tipoConsulta === 'local' && !medico.atendeLocal) return false if (tipoConsulta === 'teleconsulta' && !medico.atendeTele) return false if (convenio !== 'Todos' && !medico.convenios.includes(convenio)) return false if (bairro !== 'Todos' && medico.bairro !== bairro) return false if (especialidadeHero !== 'Veja mais' && medico.especialidade !== especialidadeHero) return false return true }) }, [bairro, convenio, especialidadeHero, tipoConsulta]) const toggleBase = 'rounded-full px-4 py-[10px] text-sm font-medium transition hover:bg-primary hover:text-primary-foreground focus-visible:ring-2 focus-visible:ring-primary/60 active:scale-[0.97]' return (

Resultados da procura

Qual especialização você deseja?

{especialidadesHero.map(item => ( ))}
setTipoConsulta('teleconsulta')} className={cn(toggleBase, tipoConsulta === 'teleconsulta' ? 'bg-primary text-primary-foreground' : 'border border-primary/40 text-primary')} > Teleconsulta setTipoConsulta('local')} className={cn(toggleBase, tipoConsulta === 'local' ? 'bg-primary text-primary-foreground' : 'border border-primary/40 text-primary')} > Consulta no local
{profissionais.map(medico => (

{medico.nome}

{medico.especialidade}
{medico.avaliacao.toFixed(1)} • {medico.avaliacaoQtd} avaliações {medico.convenios.join(', ')}
{tipoConsulta === 'local' && medico.atendeLocal && (
{medico.endereco}
{medico.cidade} {medico.precoLocal}
)} {tipoConsulta === 'teleconsulta' && medico.atendeTele && (
Teleconsulta {medico.precoTeleconsulta}
)}
Idiomas: Português, Inglês Acolhimento em cada consulta Pagamento seguro Especialista recomendado
))} {!profissionais.length && ( Nenhum profissional encontrado. Ajuste os filtros para ver outras opções. )}
) }