ampproject / ampproject/amp-react-prototype

Lightbox, back button, and vetoable closing

Ouverte
#44 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

TBD
Langage dominant
JavaScript
Étoiles
36
Forks
6
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par les modifications de la lightbox référencées dans PR #8 et lisez la discussion dans issue #43. Étudiez comment l’historique du navigateur, les fermetures pouvant faire l’objet d’un veto et les interactions avec React Router affectent l’API contrôlée ou non contrôlée proposée. Le travail est terminé lorsqu’une approche décidée et documentée du comportement du bouton Retour et des fermetures pouvant faire l’objet d’un veto est définie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, react
Domaine
frontend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.