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

73/feat eventos mostrar atividades #112

Merged
merged 23 commits into from
Dec 1, 2023

Conversation

claudionsc
Copy link
Contributor

@claudionsc claudionsc commented Nov 23, 2023

#73 - Feat: Eventos: Mostrar atividades

🆙 CHANGELOG

  • Exibimos dos subeventos e oficinas nas páginas dos eventos que possuem subeventos e oficinas
  • Redirecionamos os subeventos e as oficinas para suas respectivas páginas descritivas ao ser clicado o botão saiba mais
  • Criamos a lógica pra não exibir a seção de programação, caso o evento não possua subeventos e/ou oficinas

⚠️ Me certifico que:

  • Não deixei nenhum novo warning, erro ou console.log nas minhas modificações
  • Fiz deploy para ambiente de teste certificando que o build não quebrou
  • Solicitei code review para 2 pessoas
  • Solicitei QA para 2 pessoas
  • Obtive aprovação de QA e posso fazer merge

⚠️ Como testar:

  • Acesse a branch 73/Feat:Eventos: Mostrar atividades;
  • Inicie a aplicação;
  • Visite a página de eventos, e clique em "Saiba mais" para visualizar a descrição dos eventos.
  • Na descrição dos eventos, verifique se existe ou não a seção "Programação" caso haja subeventos ou oficinas;
  • Navegue pelo carrossel de subeventos e oficinas, clicando em "saiba mais para ser redirecionado";
  • Verifique se as páginas descritivas estão sendo renderizadas corretamente;

thayanneregoo and others added 12 commits October 26, 2023 15:23
…tion\Caroulsel.jsx): exibindo informações no carrosel, criando componente de carrosel, iniciando renderização condicional da seção de atividades (subeventos e oficinas) - @claudionsc - @thayanerego
…zanção condicional das atividades (subeventos e oficinas) - @claudionsc - @thayanerego
…raçaõ de dados de oficinas (oficinas) - @claudionsc - @thayanerego
…das suboficinas e subeventos da página de descrição de eventos, alterando rota oficina para workshop - @claudionsc - @thayanerego
…tion\Caroulsel.jsx): exibindo data conforme verificação de duração de evento, exibindo horaraio de inicio no carrossel (subeventos e oficinas) - @claudionsc - @thayanerego
…o de data das suboficinas e subevento - @claudionsc - @thayanerego
…redirecionando para a página específica com o botão saiba mais - @claudionsc - @fernandesmelo
…cription\styled.js): reestruturando descrição de eventos - finalizando estilização da descrição - @claudionsc - @fernandesmelo
src/pages/events-description/Caroulsel.jsx Outdated Show resolved Hide resolved
@@ -74,96 +116,106 @@ export const EventsPageDescription = () => {
}

return (
<div className='full-container'>
<div className="full-container">
Copy link
Member

Choose a reason for hiding this comment

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

A gente está usando aspas simples em todos os lugares, o certo aqui também seria manter o padrão. Foi o eslint que fez isso?

Copy link
Member

Choose a reason for hiding this comment

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

Isso valeria pro arquivo todo

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Nesse caso, deveríamos colocar as aspas simples? Ficamos na dúvida pois a alteração sugere as aspas duplas, porém percebemos que o padrão são as simples e alteramos para aspas simples

Copy link
Member

Choose a reason for hiding this comment

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

Não, o certo seria aspas simples. Eu vou ver o motivo de ele tá sugerindo isso

Comment on lines 83 to 84
activitiesList.push(subeventos)
setActivities(activitiesList)
Copy link
Member

@yrachid yrachid Nov 24, 2023

Choose a reason for hiding this comment

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

Isso aqui está um pouco estranho, não sei se deveríamos alterar o estado manualmente com push. O React preza por imutabilidade então talvez isso tenha consequências inesperadas. Minha sugestão é usar destructuring ao invés de push:

Suggested change
activitiesList.push(subeventos)
setActivities(activitiesList)
setActivities([
...activitiesList,
...subeventos
])

Nesse caso, o destructuring cria uma lista nova ao invés de alterar a lista existente, mantendo o comportamento de imutabilidade esperado pelo React.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fizemos a mudança, porém para funcionar corretamente foi preciso adicionar a mudança de estado dentro do bloco then e excluir os spreads.

Copy link
Member

Choose a reason for hiding this comment

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

Vi a versão final agora, tá perfeito! Desde que a gente não altere activities diretamente como estávamos fazendo com push antes.

Entretanto, do jeito que está, estamos criando um array de arrays, certo?

Um array contendo dois arrays, mais precisamente, o primeiro com subeventos e o segundo com oficinas. Não sei se isso é o que vocês queriam fazer mesmo. Se não for, dá para usar concat para deixar tudo num array único. Seria algo mais ou menos assim:

  setActivities(subeventos.concat(oficinas))

Copy link
Member

@yrachid yrachid Nov 29, 2023

Choose a reason for hiding this comment

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

Lendo o código agora, estamos fazendo map dentro de map, provavelmente porque temos esse array de arrays, eu acho que o mais eficiente seria ter apenas um array com todos os items de subeventos e oficinas, dado que um subevento e uma oficina têm os mesmos atributos, então é ok eles ficarem num mesmo array.

Acho que seria legal olharmos isso juntos no Discord, essa mudança é um pouco complexa.

@@ -0,0 +1,35 @@
const daysOfWeekInPtBr = [
Copy link
Member

Choose a reason for hiding this comment

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

Show de bola! Essa refatoracao ficou otima!

const month = date.toLocaleDateString('pt-BR', { month: 'short' })
const year = date.toLocaleDateString(undefined, {
year: 'numeric',
Timezone: 'UTF'
Copy link
Member

@yrachid yrachid Nov 28, 2023

Choose a reason for hiding this comment

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

Isso aqui ainda esta errado, o certo seria:

Suggested change
Timezone: 'UTF'
timeZone: 'UTC'

Copy link
Member

@yrachid yrachid left a comment

Choose a reason for hiding this comment

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

Acho que a única coisa que poderíamos revisar seria a maneira como estamos populando o estado da página dos eventos. Acho que a maneira que está atualmente é ok e funciona bem, mas podemos simplificar:

#112 (comment)

… sugeridas pela mentora - fix erro de chave única - @claudionsc - @thayannregoo
… sugeridas pela mentora - fix erro de chave única - @claudionsc - @thayannregoo
@@ -74,96 +116,106 @@ export const EventsPageDescription = () => {
}

return (
<div className='full-container'>
<div className="full-container">
Copy link
Member

Choose a reason for hiding this comment

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

Não, o certo seria aspas simples. Eu vou ver o motivo de ele tá sugerindo isso

@claudionsc claudionsc merged commit e2e4be0 into main Dec 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants