-
Notifications
You must be signed in to change notification settings - Fork 0
PR de Correção #32
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
base: correcao
Are you sure you want to change the base?
PR de Correção #32
Conversation
Layout do Header
Primeira versão footer
…lterado ordem de exibição do footer e header no appContainer.js.
Criado diretório para criação dos componentes da página de produto. A…
Página Home
Pagina do vendedor layout pronto.
Organizando em pasta para Header/LayoutHeader
Atualizando branch
Merge pull request #7 from future4code/master
Refatorado página de produtos.
Voltando a renderizar a home.
Funções do carrinho.
Implementado funcionalidade de deletar produto do carrinho.
…rdem crescente, decrescente e alfabética.
Implementado funcionalidade do primeiro filtro, podendo filtrar por o…
Implementado parte da funcionalidade do filtro.
Funcionalidade de filtro por valor e nome do produto concluída.
Alteração tamanho e link do LayoutHeader
Renderização da lista de produtos no AddProduct
… máximo e nome do produto.
Terminado implementação da funcionalidade do filtro por valor mínimo,…
adicionado o gerenciamento de produtos e botão de deletar o produto
Reajustado estilos do site.
Revisão do código
Implementado funcionalidade de filtrar produtos por categoria.
Tentativa de apagar os inputs o único que funciona é o payment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pessoal,
O projetinho de vocês foi avaliado como: acima do esperado!!! Parabéns!!!
O projeto de vocês ficou MUITO bom!!! O código muuuuito bem organizado, muito bem escrito! Houve uma clara preocupação com o layout e com a UX em cada detalhe. As lógicas também foram muito bem implementadas!!
Deixei alguns comentários só com dicas de coisinhas que podem ser melhoradas!
Vocês fecharam com chave de ouro 🥇 esse módulo 2 e me encheram de orgulho!!! Continuem voando!! 🚀
| ## Bibliotecas utilizadas no projeto: | ||
| * Material UI; | ||
| * React Bootstrap; | ||
| * styled-components. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AMEI esse README completinho ❤️ ! Fizeram o meu dia! Parabéeeeeens!
| ); | ||
| } | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Só queria falar: INCRÍVEL! Adoreeeei a ideia do carrossel e ainda mais o fato de ter ficado muito bem feito! 👏 👏 👏
| &:hover { | ||
| background-color: #f1f1f1; | ||
| } | ||
| `; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Colocar os componentes de estilização em um outro arquivo ajuda a manter os componentes React com o código mais limpo, então é bem recomendável!
| <option>4x</option> | ||
| <option>5x</option> | ||
| <option>6x</option> | ||
| </select> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uma dica mais relacionada a UX aqui: como o cartão de crédito é a única forma de pagamento que conseguimos parcelar, seria legal que esse select só aparecesse caso a forma de pagamento selecionada fosse cartão de crédito. Uma renderização condicional faria isso! ;)
| return 0; | ||
| } */ | ||
| }); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Essa lógica de ordenação poderia estar isolada em uma função fora do render(). Nesse caso, a função retornaria o array ordenado e dentro do render vocês armazenariam o retorno da função em uma variável!
ex:
//fora do render()
sortProducts = () => {
//lógica de ordenar produtos aqui dentro
}
//dentro do render()
const sortedProducts = sortProducts()
Assim o código fica mais organizado, pois estamos isolando as nossas lógicas em funções!
| onChangeSelectinstallments = (event) => { | ||
| this.setState({ selectinstallments: event.target.value }); | ||
| }; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Para evitar repetir várias vezes as funções de setar o estado da aplicação com o valor do input, podemos usar essa sintaxe aqui:
handleFieldChange = event => {
this.setState({
[event.target.name]: event.target.value
});
}
Vocês só teriam que se lembrar de colocar o atributo name na tag do input igual ao nome dado a ele no estado e chamar apenas essa única função em todos os inputs.
Exemplo:
<h1>Área do Vendedor:</h1>
<InputDiv tamanho="80%">
<Input
tamanho="100%"
label="Nome do Produto"
variant="filled"
value={this.state.inputName}
name='inputName'
onChange={this.handleFieldChange}
/>
</InputDiv>
<InputDiv tamanho="80%">
<Input
tamanho="100%"
label="URL da Imagem"
variant="filled"
placeholder="Coloque apenas uma foto do produto."
value={this.state.inputImage}
name='inputImage'
onChange={this.handleFieldChange}
/>
</InputDiv>
<InputDiv tamanho="80%">
<Input
tamanho="100%"
label="Descriçao"
variant="filled"
value={this.state.inputDescription}
name='inputDescription'
onChange={this.handleFieldChange}
/>
</InputDiv>
| label="Preço" | ||
| variant="filled" | ||
| value={this.state.InputPrice} | ||
| onChange={this.onChangeInputPrice} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A verticalização do código é uma boa prática! Gostei muito de ver isso por todo o código de vocês!
| deleteProductCart={this.deleteProductCart} | ||
| /> | ||
| )} | ||
| <BtnCartContainer> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curti muito a forma como vocês fizeram o carrinho e do botão para o consumidor poder abrir e fechar a hora que quiser! Isso é pensar em UX!
Esse é um PR de correção, portanto não precisa mergear! :)