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

#494 [FEAT]: Curadoria de respostas e aprimoramento do manuseio/apresentação de datas e localizações #507

Conversation

IosBonaldi
Copy link
Contributor

@IosBonaldi IosBonaldi commented Jan 24, 2025

Esta solicitação de pull inclui várias alterações na base de código, com foco principal na adição de novas dependências, simplificação da lógica do componente e integração do Leaflet para funcionalidades de mapa.

Atualizações de dependência:

  • package.json: Adicionadas novas dependências, incluindo leaflet, leaflet-defaulticon-compatibility, react-app-rewired e react-leaflet.

Alterações no Dockerfile:

  • Dockerfile: Adicionados arquivos config-overrides.js e .env à imagem do Docker.

Simplificação da lógica do componente:

Integração de Leaflet:

Alterações adicionais:

@IosBonaldi IosBonaldi self-assigned this Jan 24, 2025
Copy link
Contributor

@YuriTobias YuriTobias left a comment

Choose a reason for hiding this comment

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

  • Excelente! Uma única ressalva quanto ao uso de um Popup aparentemente desnecessário em LocationInput (motivo da não aprovação); uma dúvida quanto a atualização dos valores default de TimeInput e DateInput; e, uma observação quanto ao seed dos protocolos já existentes.

@@ -549,60 +559,6 @@ function ApplicationPage(props) {
}
</div>
);
case 'DATEBOX':
Copy link
Contributor

Choose a reason for hiding this comment

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

No seed (main) ainda existem 9 DATEBOX, 8 TIMEBOX e 9 LOCATIONBOX o que causa o seguinte erro no front: input type not found. Eh interessante remover do seed também, e lembrar de solicitar a remoção de tais itens no banco em produção!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • De acordo quanto ao seed;
  • Quanto ao servidor, os itens não podem ser diretamente removidos, uma vez que possuem respostas e dados neles contidos. Será necessário tratar a migração para o novo formato manualmente;

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmmm, ok!

const [currentPageIndex, setCurrentPageIndex] = useState(0);
const [itemAnswerGroups, setItemAnswerGroups] = useState({});
const [answerDate, setAnswerDate] = useState(undefined);
Copy link
Contributor

Choose a reason for hiding this comment

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

Se answerDate começa como undefined e só é atualizada com setAnswerDate que só é chamada quando se altera o valor da entrada, como a aplicação já aparece logo de cara com valores "atuais"?? Eh só uma dúvida mesmo, não peguei a ideia 👀

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • Excelente questão. A definição dos valores default para os componentes de data, horário e localização estão implementadas dentro dos próprios componentes, visando encapsulamento e coesão. Portanto, por mais que o componente pai, a página, guarde o estado da aplicação e de suas partes (além de fornecer as funções para atualizá-las), a tentativa foi para que tais chamadas ocorressem sempre a partir dos componentes responsáveis por tais partes (se houver);
  • No caso específico da data, ver código;
  • Um ponto a salientar é que, por melhor que tenha sido a intenção, esta não é a melhor forma de fazer isso. O ideal seria que os próprios componentes retivessem seu estado e o componente pai o solicitasse quando necessário (ao invés dos componentes filhos dispararem atualizações no componente pai, implicando em maior acoplamento). Acredito que isto possa ser feito adequadamente usando o hook useRef ou algo semelhante, conhecimento este que eu não possuía no momento da implementação original desta parte do sistema (e era mais feliz achando que estava certo, inesperada virtude da ignorância);

Copy link
Contributor

@YuriTobias YuriTobias Feb 12, 2025

Choose a reason for hiding this comment

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

Hmmm, entendido! Thanks 🙏 ! Acredito que essas alterações para useRef ou algo semelhante possam ser atribuídos a uma nova issue né?!

Comment on lines 149 to 153
<Popup>
<a className="color-dark-gray fw-bold fs-6" href="https://google.com">
Username - dd/mm/aaaa
</a>
</Popup>
Copy link
Contributor

Choose a reason for hiding this comment

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

Não vejo necessidade desse Popup neste momento.. Faz sentido??

Copy link
Contributor Author

Choose a reason for hiding this comment

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

  • Falha minha! Era um popup de debug da página de respostas, acabei copiando e esquecendo de apagar.

@IosBonaldi IosBonaldi merged commit e76252b into 488-fix-organizacao-de-variáaveis-de-ambiente Feb 14, 2025
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.

[FEAT]: Correções de gerenciamento de dados de data e localização
2 participants