feat(Gallery, UX): added swipe animation for mobile users #960
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Descripción
Se añade soporte para dispositivos táctiles en
Gallery.astro
para pasar de foto.Problema solucionado
En dispositivos móviles, tablet o similares, al no aparecer las flechas para pasar de foto, había que cerrar y volver a elegir foto. Con esta PR se añade una manera intuitiva de pasar de foto usando gestos de movimiento
touch{start|move|end}
.Cambios propuestos
swipe-element
para la imagen que va a ser animada.eventListener("touchstart", swipeImage, { passive: true })
con la opción depassive: true
para mejorar rendimiento de estos eventos.swipeImage
en la cuál se realizará la animación y la lógica para saber si hay que mostrar la siguiente image o la anterior a la actualmente mostrada.eventListener("touchmove", ...)
yevenListener("thouchend", ...)
dentro de la funciónswipeImage
.Capturas de pantalla (si corresponde)
Screen.Recording.2024-05-28.at.13.51.41.mov
Note
También he probado los cambios en mi dispositivo móvil haciendo uso de
pnpm dev --host
.Comprobación de cambios
Impacto potencial
Mejoras de experiencia para usuarios de dispositivos táctiles como móvil, tablet, etc.
Contexto adicional
He probado a no realizar ninguna animación indicativa del
swipe
pero creo que el usuario llega a entender mejor que movimiento se está realizando si se muestra la imagen deslizándose y desapareciendo conforme se realiza la acción.Enlaces útiles