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

geekha/composite-header #5

Merged
merged 5 commits into from
Mar 26, 2024

Conversation

geekhadev
Copy link
Contributor

  • Se crea el componente Header para simplificar un poco la página principal
  • Se crea el componente HeaderLink para simplificar el componente Header
  • Se simplifica un poco la sintaxis de los links:
{link.id == "linkedin" ? (
  <Linkedin strokeWidth={1} />
) : null}

a este cambio:

{link.id == "linkedin" && <Linkedin strokeWidth={1} />}

@geekhadev geekhadev changed the title Geekha/composite header geekha/composite header Mar 14, 2024
@geekhadev geekhadev changed the title geekha/composite header geekha/composite-header Mar 14, 2024
@joseglego
Copy link
Member

Hola 👋

Disculpa la demora! Buenas recomendaciones 👍

La idea de separar el Header es algo que teníamos mapeado pero no habíamos podido hacer por temas de tiempo y porque no se había complicado "tanto" aún.

El tema de los HeaderLinks también nos parece genial, pero es un poco más complicado llegar a un acuerdo.

Tengo 2 comentarios al respecto:

  1. Link es MUY subjetivo
    A. En vista de que HeaderLink esta solo asociado a Header entonces sería mejor tener una carpeta en components Header/ y allí podríamos tener Header.tsx y HeaderLink.tsx. De esta manera mantenemos la lógica y scope juntos. No hay ejemplos porque la página aún está chica y no habíamos comenzado a separar en componentes.
    B. Podríamos definir un component Link.tsx general para la app que también vamos a necesitar. Y le pasamos como parametro adicional el className. y Así queda inclusive más reusable par atodos.

Las 3 aproximaciones son correctas. Todas tienen sus pros y contras. Por eso te comento que es subjetivo. Sería mejor coordinar para llegar a un concenso.

  1. En lo personal (mucho enfásis en lo personal, porque es subjetivo), yo siempre prefiero usar ? sobre && para el render. Ya que a pesar de que podría ser más legible podría dar errores en ciertos casos (en este no, pero prefiero usar siempre el mismo estilo).
    Referencia: https://kentcdodds.com/blog/use-ternaries-rather-than-and-and-in-jsx.
    OJO: no sé si la referencia sigue aplicando en 2024 pero es la razón de porqué el código estaba así.

En conclusión:

  • Son buenas recomendaciones y está genial
  • El 1. Está genial pero sería mejor llegar a un conceso antes.
  • El 2. Es algo subjetivo en este caso, pero preferiría no cambiarlo en próximos PRs o deshacerlo.

Basados en que son buenas mejoras, nos parece genial mergearlo y discutimos próximos pasos en un nuevo PR :)

Muchas gracias por tu ayuda.

@joseglego
Copy link
Member

Al intentar mergearlo, da error:

[warn] Code style issues found in 3 files. Run Prettier to fix.
Error: Process completed with exit code 1.

Podrías solucionar los errores para mergearlo?

@irwingnaranjo
Copy link

Hola @joseglego lo voy a revisar y hacer la adaptación.

@joseglego
Copy link
Member

joseglego commented Mar 26, 2024

Hola @irwingnaranjo 👋

Toma en cuenta que el único cambio necesario para el merge es el error del linter. Lo demás era solo feedback y se puede discutir a futuro.

Nuevamente, muchas gracias.

@geekhadev
Copy link
Contributor Author

Hola @joseglego he realizado los cambios adaptaciones del estilo de código y creé una carpeta Header para mantener el scope de los componentes organizado.

Gracias por el consejo de la evaluación && no es correcto hacerlo así porque los valores no son los mismos. Seguiré componetizando lo que pueda y apoyando, te he escrito por discord precisamente para ponernos de acuerdo antes de ponerme a hacer cosas. 👋

@joseglego
Copy link
Member

Ohhhh muchísimas gracias! No era necesario porque cada aporte cuenta! Y podíamos dejarlo como próximo PR! Pero genial!

Mea culpa lo de Discord! tienes toda la razón!

@joseglego joseglego merged commit b754ae4 into JSConfCL:main Mar 26, 2024
3 checks passed
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.

3 participants