ampproject / ampproject/amp-react-prototype
Lightbox, back button, and vetoable closing
- Lenguaje dominante
- JavaScript
- Estrellas
- 36
- Forks
- 6
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Context: https://github.com/ampproject/amp-react-prototype/pull/8/files#diff-c554b9bd31408e663cff269f69a1c567R51
Issues:
1. Some component libraries take a stand that “back button” support has to be arranged by the caller outside the lightbox (controlled). But that causes numerous issues, including inability to make closing vetoable.
2. Back button support is HARD. Standard doesn’t exist.
Supporting back button involves the following considerations:
- Rollback of history pop for vetoable close is especially hard and requires in-depth knowledge of the stack to re-push the popped states. Some routers (e.g. ReactRouter) allow history-stack blocking for this. But it’s rare and usually buggy.
- A naive `history.pushState` can break a React router and can never be fully featured.
See also #43 on the discussion about controlled-vs-uncontrolled lightbox API.
Guía de contribución
Línea de trabajo
Comienza con los cambios de lightbox referenciados en PR #8 y lee la discusión en issue #43. Investiga cómo afectan el historial del navegador, los cierres que pueden vetarse y las interacciones con React Router a la API controlada o no controlada propuesta. Se considera terminado cuando exista un enfoque decidido y documentado para el comportamiento del botón de retroceso y los cierres que pueden vetarse.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, react
- Área
- frontend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100