Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat implementando funcionalidades de busca por palavra chave na header #158

Merged
merged 4 commits into from
Aug 14, 2024

Conversation

m4rllon
Copy link
Collaborator

@m4rllon m4rllon commented Aug 14, 2024

Descrição

Descreva aqui as alterações feitas no pull request. Seja claro e conciso, e explique por que essas alterações são necessárias.

Tipo de Alteração

  • Correção de bug (alteração que corrige um problema)
  • Nova funcionalidade (alteração que adiciona uma funcionalidade)
  • Alteração na documentação (nenhuma alteração no código)
  • Refatoração de código (nenhuma alteração funcional ou correção de bug)
  • Alteração de configuração (ajustes em configurações ou arquivos de build)

Checklist

  • O código segue os padrões do projeto
  • Adicionei testes que comprovam que minha alteração é eficaz ou que minha funcionalidade funciona
  • Atualizei a documentação correspondente (se aplicável)
  • Verifiquei se há dependências quebradas e corrigi se necessário

@m4rllon m4rllon added the bug Something isn't working label Aug 14, 2024
@m4rllon m4rllon requested a review from MariaCHelena August 14, 2024 11:29
@m4rllon m4rllon self-assigned this Aug 14, 2024
… feat-Implementando-funcionalidades-Filter
Copy link

netlify bot commented Aug 14, 2024

Deploy Preview for licitabsb ready!

Name Link
🔨 Latest commit 3054390
🔍 Latest deploy log https://app.netlify.com/sites/licitabsb/deploys/66bc990e79b928000860b28d
😎 Deploy Preview https://deploy-preview-158--licitabsb.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Comment on lines 16 to 65
const [searchParams] = useSearchParams();

const filterTipo = searchParams.get('tipo') ? searchParams.get('tipo') : '';
const filterInput = searchParams.get('search')
? searchParams.get('search')
: '';
const filterValue = searchParams.get('value')
? searchParams.get('value')
: '';
const filterOrgaos = searchParams.get('orgao')
? searchParams.get('orgao')
: '';

const [filterParams, setFilterParams] = useState({
page: 1,
tipo: filterTipo,
status: '',
search: filterInput,
value: filterValue,
orgao: filterOrgaos,
});

const [listaLicitacoes, setListaLicitacoes] = useState([]);
const [resultCount, setResultCount] = useState(0);

async function loadData(filter) {
const data = await getLicitacoes(filter);
setResultCount(data.count);
setListaLicitacoes(data.results);
}

const buildFilterQuery = (params) => {
return Object.keys(params)
.filter((key) => params[key])
.map((key) => `${key}=${params[key]}`)
.join('&');
};

function handleSearch() {
const querySearch = `/licitacoes?${buildFilterQuery(filterParams)}`;
navigate(querySearch);
navigate(0);
}
useEffect(() => {
setFilterParams({
...filterParams,
search: input,
});
}, [input]);

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não tem necessidade de tudo isso. Só pega oq o usuário pesquisar e manda como parâmetro no filtro. Cria um objeto com um atributo search e nesse atributo você coloca o que o usuário escrever no input e aí você manda isso na URL pro caminho das licitações. Não precisa pegar parâmetro de URL no header.

@MariaCHelena MariaCHelena self-requested a review August 14, 2024 11:47
@MariaCHelena MariaCHelena merged commit aee253e into main Aug 14, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants