Utilizamos a URL para gerenciar o estado da aplicação, evitando o uso de `useState`. Criamos a UI de busca com um input, extraindo o componente para uma `search bar`. Implementamos a transferência do valor do input para a URL, utilizando `useRouter` e `useSearchParams` do Next.js. Evitamos a perda de outros parâmetros da URL ao atualizar o termo de busca.