Payer sans laisser l'ordre, et ne la perd plus jamais

Fixkamo-internal
Shipped
6 septembre 2026 à 23:51 UTC
Author
Kamo
Commit
1e71127

Envoyer quelqu'un à une autre page pour ajouter une carte était la mauvaise réponse, et c'était tort au pire moment possible. La console a remarqué qu'il n'y avait pas de carte et lié à la sous-notte Paiement Info. À la suite de ce lien, la console a été montée et l'ordre a vécu à l'état de React et nulle part ailleurs, donc le niveau, le terme, le siège compter, modules et blocs de stockage qu'ils venaient de passer des minutes à choisir étaient détruits en chemin. Ils sont arrivés à un formulaire de carte ayant perdu la chose qu'ils essayaient de payer, et est revenu à un cueilleur réinitialisé à n'importe quel L'organisation était déjà en place. Le paiement est une partie de l'ordre maintenant La section des paiements en ligne se trouve directement sous le total courant, et l'ordre est Jamais non monté. Confirmez la carte et achetez le plan dans une presse: save() prend un résolveur qui retourne un mode de paiement Stripe id, donc la carte l'étape se produit en premier, à l'intérieur de la même action, et un décodeur arrête tout avant que quoi que ce soit soit envoyé. Il montre l'une des deux formes sans qu'on lui demande. En l'absence de carte sur le dossier des champs sont simplement ouverts - il n'y a rien à choisir entre, donc une liste serait un pas qui n'existe que pour être écartée - et "Set as default" est vérifié et désactivé, parce qu'une première carte est la valeur par défaut de n'importe qui click. Avec des cartes au dossier la liste est affichée avec le compte par défaut déjà sélectionné, donc le commun chemin est un coup d'oeil et une presse; ajouter une autre est un lien qui élargit les champs en ligne, avec "Set as default" maintenant un vrai choix, et un moyen de revenir à la sauvegarde Carte. Qui que ce soit actif porte l'anneau de sélection, donc l'écran dit toujours ce qui sera facturé. Les cartes périmées sont montrées, peu fléchies et insélectionnables, au lieu de que ce qui est silencieusement offert. Payment Info revient à être ce à quoi il s'agit - la gestion des cartes - au lieu d'une détournez-vous au milieu d'un achat. L'ORDRE SUR VIVEILLANT LA PAGE Chaque changement est écrit sur la carte, point debounced et lue, le mot-clic du membre. Retour: un brouillon commencé sur un ordinateur portable attend du téléphone. Uniquement le ordre et pas de détails de carte passent par là, parce qu'une carte entre dans la sienne de Stripe iframe et est échangé contre un jeton qui ne nous touche jamais. C'est délibérément calme. Un projet correspondant à l'abonnement en direct n'est pas un projet, donc rien n'est stocké et rien n'est annoncé. Un qui diffère dit ainsi, avec un clic pour recommencer. Les projets expirent après une semaine, parce qu'un plan a été abandonné le dernier trimestre n'est pas une décision en cours et le catalogue a peut-être évolué sous c'est ça. Un lien nommant un plan bat un projet sauvegardé - la personne vient de dire ce qu'elle les ajouts et les ajouts que le catalogue ne sont plus abandonnés à la restauration plutôt que ce qui n'était tenu invisiblement contre une différence que personne ne pouvait voir. ALOMENTS Les champs de la carte lisent le thème MUI au lieu de coder en dur presque noir, qui était encre invisible sur fond sombre. Les marques de marque sont les propres réseaux abréviations plutôt qu'une tranche de quatre caractères qui a rendu Mastercard comme "MAST". Une Intention de configuration dépensée est jetée après un achat, donc une deuxième carte obtient un nouveau secret au lieu d'un secret déjà consommé en échec silencieusement. Deux courses trouvées sur un troisième laissez-passer et fixées: le panneau de paiement n'a jamais relu son cartes après un achat, donc l'achat avec une nouvelle carte a laissé les champs ouverts invitant la carte vient d'utiliser; et la restauration atterrit après l'URL preselect, en laissant un Un projet de lundi écrasé le plan quelqu'un avait cliqué un instant plus tôt. Fixé alors qu'ils sont ici, les deux sont apparus par cet ouvrage: Date.now() during render (le rendu) React la règle de pureté du compilateur, et un compte à rebours qui cocherait sur des icônes sans rapport re-renders), et un setState à l'intérieur de l'effet preselect - le dialogue de vente est dérivé du lien maintenant plutôt qu'écrit d'un effet. Suite verte première course: 495 fichiers, 6114 tests. 38 nouveaux ici. Typecheck propre, et eslint sur ces dossiers est propre là où HEAD a eu une erreur et un avertissement. Copie est en dictionnaire kamo-translation-diction 9526e398, poussé en premier.

All changes

Comme ce que tu vois expédier ?

Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.

Commencez gratuitement pour toujoursPrix de visualisation