devhatt / octopost

Octopost is an open source service from Devhat that was created to guide new developers for free
https://devhatt.github.io/octopost/
MIT License
76 stars 50 forks source link

Issue 371 - Refatorar os componentes de media input #447

Closed DominMFD closed 5 months ago

DominMFD commented 6 months ago

Closes #371

Feature Refatoração dos componentes de media input.
Bugfix - **Description** Havia um bug onde a mídia não quebrava a linha no limite proposto e era cortada, dificultando assim sua visualização. Esse bug só ocorria em algumas resoluções. ![image](https://github.com/devhatt/octopost/assets/134434652/8ea56f5f-b46c-4b2d-b5fd-b611f19f57a4) - **Cause** Pela minha análise e testes, a causa desse bug foi a propriedade css `display` no qual recebia `grid` como valor. - **Solution** A solução foi mudar o valor da propriedade `display` para `flex` e adicionar a propriedade `flex-wrap` com o valor `wrap`, para quebrar a linha corretamente e não cortar nenhuma imagem.
Changelog Conforme minha análise dos componentes `InputMedia` e `MediaInput`, também meus estudos de arquitetura até o momento eu cheguei a conclusão que como os dois componentes deviam fazer parte do mesmo contexto DDD, não tinha a necessidade de ser separados. O componente `InputMedia` era apenas um botão para adicionar a mídia, percebendo isso coloquei ele dentro do componente `MediaInput` pois ele fazia parte do mesmo contexto DDD. Tomei a liberdade para nomear o componente `MediaInput` para `InputMediaComposer`, apesar de ser um nome maior, achei mais legível para a situação pois ele na verdade é um compositor que une outros componentes, `InputMedia` e `MediaGroup`, que também fiz as mudanças no nome para ficar mais legível e compatível com o contexto. Os nomes ficaram `InputMediaButton` e `InputMediaGroup` respectivamente. A lógica não achei necessário simplificar, baseado em meu atual conhecimento. Apenas fiz uma pequena mudança na função de alterar a mídia. Também fiz uma mudança no **CSS**, diminuindo o `gap` das imagens de `1.6rem` para `0.8rem`, isso garantiu uma melhor distribuição das imagens nas seguintes resoluções: **`1920x1080`**, **`1366x768`**, **`1280x800`**, **`1600x900`**, **`2560x1440`**, **`960x540`**, .Nas demais resoluções(resoluções mobile) não houve mudanças relevantes, por isso preferi usar `0.8.rem` Referência que usei para fazer os testes de distribuição em diferentes resoluções: [https://gs.statcounter.com/screen-resolution-stats](https://gs.statcounter.com/screen-resolution-stats). Também foi testado em algumas resoluções que a imagem ficava cortada, como por exemplo a resolução **`2560x1440`**.
Visual evidences :framed_picture: As imagens a seguir são nas duas resoluções mais usadas de `Desktop`, `Tablet` e `Mobile` atualmente ### Mobile **`360x800`** ![image](https://github.com/devhatt/octopost/assets/134434652/050b5af5-ec80-4ae6-a1b1-1657a75f205d) **`390x844`** ![image](https://github.com/devhatt/octopost/assets/134434652/a92e4808-4900-4b9e-a5cb-ca8f65dde65d) ### Tablet **`768x1024`** ![image](https://github.com/devhatt/octopost/assets/134434652/9bc60caf-7226-44a2-b5d3-e30e46fefb1d) **`810x1080`** ![image](https://github.com/devhatt/octopost/assets/134434652/44148263-a984-4cca-9892-4b5dae237ad6) ### Desktop **`1366x768`** ![image](https://github.com/devhatt/octopost/assets/134434652/4a873e10-1d5c-4a37-b9a7-450ed8b2fff8) **`1920x1080`** ![image](https://github.com/devhatt/octopost/assets/134434652/3fb259cd-8120-43d9-9ea3-2e9987ca3984) ### Resolução do Ale **`2560x1440`** ![image](https://github.com/devhatt/octopost/assets/134434652/13f32861-cc40-41df-8408-90ceecd3bfbc)

Todas as imagens inseridas no teste são de resoluções diferentes, garantindo a escala correta da imagem.

Checklist - [x] Issue linked - [ ] Build working correctly - [ ] Tests created
Additional info N/A