richie-education 2.28.2-dev65 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/i18n/locales/ar-SA.json +125 -209
  2. package/i18n/locales/es-ES.json +126 -210
  3. package/i18n/locales/fa-IR.json +125 -209
  4. package/i18n/locales/fr-CA.json +125 -209
  5. package/i18n/locales/fr-FR.json +125 -209
  6. package/i18n/locales/ko-KR.json +125 -209
  7. package/i18n/locales/pt-PT.json +128 -212
  8. package/i18n/locales/ru-RU.json +125 -209
  9. package/i18n/locales/vi-VN.json +125 -209
  10. package/js/api/joanie.ts +17 -42
  11. package/js/api/lms/dummy.ts +12 -1
  12. package/js/components/ContractFrame/AbstractContractFrame.spec.tsx +9 -16
  13. package/js/components/ContractFrame/AbstractContractFrame.tsx +23 -28
  14. package/js/components/ContractFrame/LearnerContractFrame.tsx +2 -2
  15. package/js/components/ContractFrame/_styles.scss +14 -6
  16. package/js/components/DownloadContractButton/index.spec.tsx +1 -1
  17. package/js/components/OpenEdxFullNameForm/index.tsx +7 -7
  18. package/js/components/PaymentButton/_styles.scss +27 -0
  19. package/js/components/PaymentInterfaces/LyraPopIn.tsx +11 -6
  20. package/js/components/PaymentInterfaces/PayplugLightbox.tsx +1 -1
  21. package/js/components/PaymentInterfaces/__mocks__/index.tsx +4 -1
  22. package/js/components/PaymentInterfaces/types.ts +2 -5
  23. package/js/components/PaymentScheduleGrid/_styles.scss +0 -13
  24. package/js/components/PaymentScheduleGrid/index.tsx +70 -50
  25. package/js/components/PurchaseButton/index.spec.tsx +37 -84
  26. package/js/components/SaleTunnel/AddressSelector/index.spec.tsx +2 -2
  27. package/js/components/SaleTunnel/CertificateSaleTunnel/index.tsx +2 -2
  28. package/js/components/SaleTunnel/CredentialSaleTunnel/index.tsx +10 -6
  29. package/js/components/{CreditCardSelector → SaleTunnel/CreditCardSelector}/index.spec.tsx +45 -15
  30. package/js/components/{CreditCardSelector → SaleTunnel/CreditCardSelector}/index.tsx +26 -19
  31. package/js/components/SaleTunnel/GenericPaymentButton/index.tsx +340 -0
  32. package/js/components/SaleTunnel/GenericSaleTunnel.tsx +48 -105
  33. package/js/components/SaleTunnel/SaleTunnelInformation/index.tsx +20 -16
  34. package/js/components/SaleTunnel/SaleTunnelNotValidated/index.tsx +70 -0
  35. package/js/components/SaleTunnel/SaleTunnelSuccess/index.tsx +29 -15
  36. package/js/components/SaleTunnel/Sponsors/SaleTunnelSponsors.scss +5 -4
  37. package/js/components/SaleTunnel/Sponsors/SaleTunnelSponsors.tsx +11 -39
  38. package/js/components/SaleTunnel/_styles.scss +5 -16
  39. package/js/components/SaleTunnel/hooks/useTerms.tsx +77 -0
  40. package/js/components/SaleTunnel/index.credential.spec.tsx +25 -14
  41. package/js/components/SaleTunnel/index.full-process.spec.tsx +48 -114
  42. package/js/components/SaleTunnel/index.spec.tsx +717 -333
  43. package/js/components/SignContractButton/index.omniscientOrders.spec.tsx +11 -16
  44. package/js/components/SignContractButton/index.spec.tsx +20 -16
  45. package/js/components/SignContractButton/index.tsx +1 -3
  46. package/js/hooks/useCreditCards/index.spec.tsx +6 -70
  47. package/js/hooks/useCreditCards/index.ts +11 -49
  48. package/js/hooks/{useOrders/index.ts → useOrders.ts} +14 -40
  49. package/js/hooks/useProductOrder/index.spec.tsx +60 -77
  50. package/js/hooks/useProductOrder/index.tsx +2 -2
  51. package/js/hooks/useResources/useResourcesRoot.ts +3 -4
  52. package/js/index.tsx +0 -2
  53. package/js/pages/DashboardCreditCardsManagement/CreditCardBrandLogo.spec.tsx +1 -1
  54. package/js/pages/DashboardCreditCardsManagement/CreditCardBrandLogo.tsx +2 -4
  55. package/js/pages/TeacherDashboardContractsLayout/components/ContractActionsBar/index.spec.tsx +5 -8
  56. package/js/pages/TeacherDashboardContractsLayout/components/SignOrganizationContractButton/index.spec.tsx +9 -8
  57. package/js/pages/TeacherDashboardCourseLearnersLayout/components/CourseLearnerDataGrid/index.spec.tsx +1 -1
  58. package/js/pages/TeacherDashboardCourseLearnersLayout/components/CourseLearnerDataGrid/index.tsx +6 -1
  59. package/js/settings/settings.prod.ts +2 -0
  60. package/js/settings/settings.test.ts +2 -16
  61. package/js/translations/ar-SA.json +1 -1
  62. package/js/translations/es-ES.json +1 -1
  63. package/js/translations/fa-IR.json +1 -1
  64. package/js/translations/fr-CA.json +1 -1
  65. package/js/translations/fr-FR.json +1 -1
  66. package/js/translations/ko-KR.json +1 -1
  67. package/js/translations/pt-PT.json +1 -1
  68. package/js/translations/ru-RU.json +1 -1
  69. package/js/translations/vi-VN.json +1 -1
  70. package/js/types/Joanie.ts +31 -77
  71. package/js/utils/OrderHelper/index.ts +38 -53
  72. package/js/utils/test/factories/joanie.ts +68 -65
  73. package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/index.tsx +18 -8
  74. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.spec.tsx +32 -26
  75. package/js/widgets/Dashboard/components/DashboardItem/Enrollment/ProductCertificateFooter/index.tsx +23 -20
  76. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrder.spec.tsx +5 -114
  77. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrder.tsx +12 -99
  78. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.spec.tsx +1 -3
  79. package/js/widgets/Dashboard/components/DashboardItem/Order/DashboardItemOrderContract.useUnionResource.cache.spec.tsx +7 -6
  80. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateLearnerMessage/index.spec.tsx +71 -18
  81. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateLearnerMessage/index.tsx +25 -40
  82. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateMessage/index.tsx +22 -28
  83. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateTeacherMessage/index.spec.tsx +73 -18
  84. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderStateTeacherMessage/index.tsx +16 -32
  85. package/js/widgets/Dashboard/components/DashboardOrderLoader/index.tsx +11 -3
  86. package/js/widgets/Dashboard/components/Signature/SignatureDummy.tsx +3 -25
  87. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCourseRuns/EnrollableCourseRunList.tsx +6 -2
  88. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCourseRuns/index.spec.tsx +14 -7
  89. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseRunItem/index.spec.tsx +5 -7
  90. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseRunItem/index.tsx +7 -5
  91. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/ProductSignatureHeader/index.tsx +41 -0
  92. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.spec.tsx +332 -242
  93. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.stories.tsx +13 -12
  94. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.tsx +21 -10
  95. package/js/widgets/SyllabusCourseRunsList/components/CourseRunEnrollment/index.joanie.spec.tsx +2 -2
  96. package/package.json +1 -2
  97. package/scss/components/_index.scss +2 -4
  98. package/js/components/OpenEdxFullNameForm/index.spec.tsx +0 -229
  99. package/js/components/SaleTunnel/SaleTunnelSavePaymentMethod/_styles.scss +0 -12
  100. package/js/components/SaleTunnel/SaleTunnelSavePaymentMethod/index.tsx +0 -157
  101. package/js/components/SaleTunnel/SubscriptionButton/_styles.scss +0 -7
  102. package/js/components/SaleTunnel/SubscriptionButton/index.tsx +0 -202
  103. package/js/hooks/useOrders/index.spec.tsx +0 -322
  104. package/js/hooks/usePaymentSchedule.tsx +0 -23
  105. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentDetailsModal/_styles.scss +0 -7
  106. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentDetailsModal/index.tsx +0 -126
  107. package/js/widgets/Dashboard/components/DashboardItem/Order/OrderPaymentRetryModal/index.tsx +0 -210
  108. /package/js/components/{CreditCardSelector → SaleTunnel/CreditCardSelector}/_styles.scss +0 -0
@@ -207,6 +207,10 @@
207
207
  "description": "Course run languages",
208
208
  "message": "Available in {languages}"
209
209
  },
210
+ "components.CourseProductItem.contractSignActionLabel": {
211
+ "description": "Label of \"sign contract\" action on the syllabus.",
212
+ "message": "Sign your training contract"
213
+ },
210
214
  "components.CourseProductItem.fromTo": {
211
215
  "description": "Course run date range",
212
216
  "message": "From {from} {to, select, undefined {} other {to {to}}}"
@@ -223,10 +227,18 @@
223
227
  "description": "Message displayed when no seats are available for the product",
224
228
  "message": "Sorry, no seats available for now"
225
229
  },
230
+ "components.CourseProductItem.pending": {
231
+ "description": "Message displayed when authenticated user has purchased the product but order is still pending",
232
+ "message": "Pending"
233
+ },
226
234
  "components.CourseProductItem.purchased": {
227
235
  "description": "Message displayed when authenticated user owned the product",
228
236
  "message": "Purchased"
229
237
  },
238
+ "components.CourseProductItem.signatureNeeded": {
239
+ "description": "Banner displayed when the contract is not signed on the syllabus",
240
+ "message": "You need to sign your training contract before enrolling to course runs"
241
+ },
230
242
  "components.CourseProductsList.end": {
231
243
  "description": "End label displayed in the header of course run dates section",
232
244
  "message": "End"
@@ -577,7 +589,7 @@
577
589
  },
578
590
  "components.DashboardItem.Order.ContractFrame.finishedDescription": {
579
591
  "description": "Message displayed inside the contract signin modal when the contract is signed.",
580
- "message": "You will receive an email once your contract will be fully signed. You can now finalize your subscription."
592
+ "message": "You will receive an email once your contract will be fully signed. You can now enroll in your course runs!"
581
593
  },
582
594
  "components.DashboardItem.Order.ContractFrame.loadingContract": {
583
595
  "description": "Message displayed inside the contract signin modal when loading the contract.",
@@ -591,98 +603,74 @@
591
603
  "description": "Message displayed inside the contract signin modal when polling the order.",
592
604
  "message": "We are waiting for the signature to be validated from our signature platform. It can take up to few minutes. Do not close this page."
593
605
  },
594
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusAssigned": {
595
- "description": "Status shown on the dashboard order item when order is assigned.",
596
- "message": "Pending"
597
- },
598
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusCanceled": {
606
+ "components.DashboardItem.Order.OrderStateMessage.statusCanceled": {
599
607
  "description": "Status shown on the dashboard order item when order is canceled",
600
608
  "message": "Canceled"
601
609
  },
602
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusCompleted": {
603
- "description": "Status shown on the dashboard order item when order is completed",
604
- "message": "On going"
610
+ "components.DashboardItem.Order.OrderStateMessage.statusCompleted": {
611
+ "description": "Status shown on the dashboard order item when order is validated with certificate",
612
+ "message": "Completed"
605
613
  },
606
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusDraft": {
614
+ "components.DashboardItem.Order.OrderStateMessage.statusDraft": {
607
615
  "description": "Status shown on the dashboard order item when order is draft.",
608
- "message": "Pending"
609
- },
610
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusFailedPayment": {
611
- "description": "Status shown on the dashboard order item when order is in failed payment state",
612
- "message": "Last direct debit has failed"
616
+ "message": "Draft"
613
617
  },
614
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusNoPayment": {
615
- "description": "Status shown on the dashboard order item when order is in no payment state",
616
- "message": "First direct debit has failed"
618
+ "components.DashboardItem.Order.OrderStateMessage.statusOnGoing": {
619
+ "description": "Status shown on the dashboard order item when order is validated with no certificate",
620
+ "message": "On going"
617
621
  },
618
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusPassed": {
619
- "description": "Status shown on the dashboard order item when order is completed and has a certificate",
620
- "message": "Successfully completed"
622
+ "components.DashboardItem.Order.OrderStateMessage.statusOther": {
623
+ "description": "Status shown on the dashboard order item when order status is unknown",
624
+ "message": "{state}"
621
625
  },
622
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusPending": {
626
+ "components.DashboardItem.Order.OrderStateMessage.statusPending": {
623
627
  "description": "Status shown on the dashboard order item when order is pending.",
624
- "message": "Pending for the first direct debit"
628
+ "message": "Pending"
625
629
  },
626
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusPendingPayment": {
627
- "description": "Status shown on the dashboard order item when order is pending for payment",
628
- "message": "On going"
630
+ "components.DashboardItem.Order.OrderStateMessage.statusSubmitted": {
631
+ "description": "Status shown on the dashboard order item when order is submitted.",
632
+ "message": "Submitted"
629
633
  },
630
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingCounterSignature": {
634
+ "components.DashboardItem.Order.OrderStateMessage.statusWaitingCounterSignature": {
631
635
  "description": "Status shown on the dashboard order item when order is validated with contract's organization signature missing.",
632
636
  "message": "On going"
633
637
  },
634
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingPaymentMethod": {
635
- "description": "Status shown on the dashboard order item when order is in to_save_payment_method state.",
636
- "message": "Payment method is missing"
637
- },
638
- "components.DashboardItem.Order.OrderStateLearnerMessage.statusWaitingSignature": {
638
+ "components.DashboardItem.Order.OrderStateMessage.statusWaitingSignature": {
639
639
  "description": "Status shown on the dashboard order item when order is validated with contract's learner signature missing.",
640
640
  "message": "Signature required"
641
641
  },
642
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusAssigned": {
643
- "description": "Status shown on the dashboard order item when order is assigned.",
644
- "message": "Pending"
645
- },
646
642
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusCanceled": {
647
643
  "description": "Status shown on the dashboard order item when order is canceled",
648
644
  "message": "Canceled"
649
645
  },
650
646
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusCompleted": {
651
- "description": "Status shown on the dashboard order item when order is completed",
652
- "message": "On going"
647
+ "description": "Status shown on the dashboard order item when order is validated with certificate",
648
+ "message": "Certified"
653
649
  },
654
650
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusDraft": {
655
651
  "description": "Status shown on the dashboard order item when order is draft.",
656
652
  "message": "Pending"
657
653
  },
658
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusFailedPayment": {
659
- "description": "Status shown on the dashboard order item when order is in failed payment state",
660
- "message": "Last direct debit has failed"
661
- },
662
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusNoPayment": {
663
- "description": "Status shown on the dashboard order item when order is in no payment state",
664
- "message": "First direct debit has failed"
654
+ "components.DashboardItem.Order.OrderStateTeacherMessage.statusOnGoing": {
655
+ "description": "Status shown on the dashboard order item when order is validated with no certificate",
656
+ "message": "Enrolled"
665
657
  },
666
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusPassed": {
667
- "description": "Status shown on the dashboard order item when order is completed with certificate",
668
- "message": "Certified"
658
+ "components.DashboardItem.Order.OrderStateTeacherMessage.statusOther": {
659
+ "description": "Status shown on the dashboard order item when order status is unknown",
660
+ "message": "{state}"
669
661
  },
670
662
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusPending": {
671
663
  "description": "Status shown on the dashboard order item when order is pending.",
672
- "message": "Pending for the first direct debit"
664
+ "message": "Pending"
673
665
  },
674
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusPendingPayment": {
675
- "description": "Status shown on the dashboard order item when order is validated with no certificate",
676
- "message": "On going"
666
+ "components.DashboardItem.Order.OrderStateTeacherMessage.statusSubmitted": {
667
+ "description": "Status shown on the dashboard order item when order is submitted.",
668
+ "message": "Pending"
677
669
  },
678
670
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingCounterSignature": {
679
671
  "description": "Status shown on the dashboard order item when order is validated with contract's organization signature missing.",
680
672
  "message": "To be signed"
681
673
  },
682
- "components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingPaymentMethod": {
683
- "description": "Status shown on the dashboard order item when order is in to_save_payment_method state.",
684
- "message": "Payment method is missing"
685
- },
686
674
  "components.DashboardItem.Order.OrderStateTeacherMessage.statusWaitingSignature": {
687
675
  "description": "Status shown on the dashboard order item when order is validated with contract's learner signature missing.",
688
676
  "message": "Pending for learner's signature"
@@ -691,9 +679,9 @@
691
679
  "description": "Accessible label for the more button on the dashboard item",
692
680
  "message": "See additional options"
693
681
  },
694
- "components.DashboardItemCourseEnrollingRun.cannotEnroll": {
695
- "description": "Message displayed as disabled button title when the order state does not allow enrollment.",
696
- "message": "You cannot enroll yet to this training."
682
+ "components.DashboardItemCourseEnrollingRun.contractUnsigned": {
683
+ "description": "Message displayed as disabled button title when a contract needs to be signed.",
684
+ "message": "You have to sign the training contract before enrolling to your course."
697
685
  },
698
686
  "components.DashboardItemCourseEnrollingRun.courseRunsLoading": {
699
687
  "description": "Text displayed when course runs list is loading",
@@ -739,50 +727,6 @@
739
727
  "description": "Text shown when a course run is not active",
740
728
  "message": "Not enrolled"
741
729
  },
742
- "components.DashboardItemOrder.OrderPaymentRetryModal.description": {
743
- "description": "Message displayed when payment is needed",
744
- "message": "The payment failed, please choose another payment method or add a new one during the payment"
745
- },
746
- "components.DashboardItemOrder.OrderPaymentRetryModal.errorAbortingPolling": {
747
- "description": "Error message when submitting installment payment fails",
748
- "message": "Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later."
749
- },
750
- "components.DashboardItemOrder.OrderPaymentRetryModal.errorFailedSubmitInstallmentPayment": {
751
- "description": "Error message when submitting installment payment fails",
752
- "message": "Failed to submit installment payment, please retry later."
753
- },
754
- "components.DashboardItemOrder.OrderPaymentRetryModal.paymentInProgress": {
755
- "description": "Label for screen reader when a retry payment is in progress.",
756
- "message": "Payment in progress"
757
- },
758
- "components.DashboardItemOrder.OrderPaymentRetryModal.submit": {
759
- "description": "Message displayed when payment is needed",
760
- "message": "Pay {amount}"
761
- },
762
- "components.DashboardItemOrder.OrderPaymentRetryModal.successDescription": {
763
- "description": "Description of the payment success modal",
764
- "message": "The payment was successful"
765
- },
766
- "components.DashboardItemOrder.OrderPaymentRetryModal.successTitle": {
767
- "description": "Title of the payment success modal",
768
- "message": "Payment successful"
769
- },
770
- "components.DashboardItemOrder.OrderPaymentRetryModal.title": {
771
- "description": "Title of the payment retry modal",
772
- "message": "Retry payment"
773
- },
774
- "components.DashboardItemOrder.PaymentModal.paymentMethodTitle": {
775
- "description": "Title of the payment method section",
776
- "message": "Payment method"
777
- },
778
- "components.DashboardItemOrder.PaymentModal.scheduleTitle": {
779
- "description": "Title of the payment schedule",
780
- "message": "Repayment schedule"
781
- },
782
- "components.DashboardItemOrder.PaymentModal.title": {
783
- "description": "Title of the payment modal",
784
- "message": "Payment details"
785
- },
786
730
  "components.DashboardItemOrder.contactButton": {
787
731
  "description": "Button to contact the organization",
788
732
  "message": "Contact"
@@ -819,26 +763,6 @@
819
763
  "description": "Label for the organization phone contact",
820
764
  "message": "Phone"
821
765
  },
822
- "components.DashboardItemOrder.paymentButton": {
823
- "description": "Button label for the payment block",
824
- "message": "Manage payment"
825
- },
826
- "components.DashboardItemOrder.paymentLabel": {
827
- "description": "Label for the payment block",
828
- "message": "You can see and manage all installments."
829
- },
830
- "components.DashboardItemOrder.paymentNeededButton": {
831
- "description": "Button label for the payment needed message",
832
- "message": "Pay {amount}"
833
- },
834
- "components.DashboardItemOrder.paymentNeededMessage": {
835
- "description": "Message displayed when payment is needed",
836
- "message": "The payment failed, please update your payment method"
837
- },
838
- "components.DashboardItemOrder.paymentTitle": {
839
- "description": "Label for the payment block",
840
- "message": "Payment"
841
- },
842
766
  "components.DashboardItemOrder.syllabusLinkLabel": {
843
767
  "description": "Syllabus link label on order details",
844
768
  "message": "Go to syllabus"
@@ -1123,17 +1047,41 @@
1123
1047
  "description": "Error message shown when user aborts the payment.",
1124
1048
  "message": "You have aborted the payment."
1125
1049
  },
1050
+ "components.PaymentButton.errorAborting": {
1051
+ "description": "Error message shown when user asks to abort the payment.",
1052
+ "message": "Aborting the payment..."
1053
+ },
1054
+ "components.PaymentButton.errorAddress": {
1055
+ "description": "Error message shown when the user didn't select a billing address.",
1056
+ "message": "You must have a billing address."
1057
+ },
1126
1058
  "components.PaymentButton.errorDefault": {
1127
1059
  "description": "Error message shown when payment creation request failed.",
1128
1060
  "message": "An error occurred during payment. Please retry later."
1129
1061
  },
1130
- "components.PaymentButton.tokenizingPayment": {
1131
- "description": "Label for screen reader when a credit card is being tokenized.",
1132
- "message": "Payment method definition in progress."
1062
+ "components.PaymentButton.errorFullProduct": {
1063
+ "description": "Error message shown when payment creation request failed because there is no remaining available seat for the product.",
1064
+ "message": "There are no more places available for this product."
1065
+ },
1066
+ "components.PaymentButton.errorTerms": {
1067
+ "description": "Error message shown when the user didn't check the terms checkbox.",
1068
+ "message": "You must accept the terms."
1069
+ },
1070
+ "components.PaymentButton.pay": {
1071
+ "description": "CTA label to proceed to the payment of the product",
1072
+ "message": "Pay {price}"
1073
+ },
1074
+ "components.PaymentButton.payInOneClick": {
1075
+ "description": "CTA label to proceed to the one click payment of the product",
1076
+ "message": "Pay in one click {price}"
1077
+ },
1078
+ "components.PaymentButton.paymentInProgress": {
1079
+ "description": "Label for screen reader when a payment is in progress.",
1080
+ "message": "Payment in progress"
1133
1081
  },
1134
- "components.PaymentScheduleGrid.withdrawnAt": {
1135
- "description": "Label displayed to explain when the installment will be withdrawn.",
1136
- "message": "Withdrawn on {date}"
1082
+ "components.PaymentButton.termsMessage": {
1083
+ "description": "Message next to the checkbox in order to accept the terms",
1084
+ "message": "By checking this box, you accept the"
1137
1085
  },
1138
1086
  "components.ProductCertificateFooter.buyProductCertificateLabel": {
1139
1087
  "description": "Label on the enrollment row that propose to buy a product of type certificate",
@@ -1189,7 +1137,11 @@
1189
1137
  },
1190
1138
  "components.SaleTunnel.CreditCardSelector.creditCardEmptyInlineDescription": {
1191
1139
  "description": "Description for the empty credit card inline",
1192
- "message": "Use another credit card"
1140
+ "message": "Use another credit card during payment"
1141
+ },
1142
+ "components.SaleTunnel.CreditCardSelector.description": {
1143
+ "description": "Description for the credit card section",
1144
+ "message": "Choose your payment method or add a new one during the payment."
1193
1145
  },
1194
1146
  "components.SaleTunnel.CreditCardSelector.editCreditCardAriaLabel": {
1195
1147
  "description": "Aria label for the edit credit card button",
@@ -1219,6 +1171,10 @@
1219
1171
  "description": "Validate button for the credit card modal",
1220
1172
  "message": "Validate"
1221
1173
  },
1174
+ "components.SaleTunnel.CreditCardSelector.title": {
1175
+ "description": "Title for the credit card section",
1176
+ "message": "Payment method"
1177
+ },
1222
1178
  "components.SaleTunnel.Information.description": {
1223
1179
  "description": "Description of the information section",
1224
1180
  "message": "Those information will be used for billing"
@@ -1247,26 +1203,6 @@
1247
1203
  "description": "Label for the total amount",
1248
1204
  "message": "Total"
1249
1205
  },
1250
- "components.SaleTunnel.Sponsors.SaleTunnelSponsors.blockTitle": {
1251
- "description": "Title for the universities section in the sale tunnel",
1252
- "message": "University"
1253
- },
1254
- "components.SaleTunnel.SubscriptionButton.subscribe": {
1255
- "description": "Label of the button to subscribe to a product.",
1256
- "message": "Subscribe"
1257
- },
1258
- "components.SaleTunnel.SubscriptionButton.walkthroughToSavePayment": {
1259
- "description": "Message explaining the subscription process with only a payment method to set.",
1260
- "message": "To enroll in the training, you will be invited to define a payment method."
1261
- },
1262
- "components.SaleTunnel.SubscriptionButton.walkthroughToSign": {
1263
- "description": "Message explaining the subscription process with only a training agreement to sign.",
1264
- "message": "To enroll in the training, you will be invited to sign the training agreement."
1265
- },
1266
- "components.SaleTunnel.SubscriptionButton.walkthroughToSignAndSavePayment": {
1267
- "description": "Message explaining the subscription process with a training agreement to sign and a payment method to set.",
1268
- "message": "To enroll in the training, you will first be invited to sign the training agreement and then to define a payment method."
1269
- },
1270
1206
  "components.SaleTunnel.callToActionDescription": {
1271
1207
  "description": "Additional description announced by screen readers when focusing the call to action buying button",
1272
1208
  "message": "Purchase {product}"
@@ -1287,17 +1223,13 @@
1287
1223
  "description": "Label displayed below the product's CTA when there is no remaining available seat for the product",
1288
1224
  "message": "There are no more places available for this product."
1289
1225
  },
1290
- "components.SaleTunnelSavePaymentMethod.cta": {
1291
- "description": "Label to the call to action to close sale tunnel",
1292
- "message": "Define"
1293
- },
1294
- "components.SaleTunnelSavePaymentMethod.description": {
1295
- "description": "Text to explain what the user has to do in the 'save payment method' step",
1296
- "message": "This is the last step to validate your subscription, you must define a payment method. This one will be used to debit installments. You will not be charged during this step. Pick an existing payment method or add a new one."
1226
+ "components.SaleTunnelStepPayment.termsMessageLink": {
1227
+ "description": "Clickable link included in the terms message",
1228
+ "message": "General Terms of Sale"
1297
1229
  },
1298
- "components.SaleTunnelSavePaymentMethod.title": {
1299
- "description": "Content title",
1300
- "message": "Define a payment method"
1230
+ "components.SaleTunnelStepPayment.termsMessageLinkTitle": {
1231
+ "description": "Title of clickable link included in the terms message",
1232
+ "message": "Open a preview of the General Terms of Sale"
1301
1233
  },
1302
1234
  "components.SaleTunnelStepValidation.availableCourseRuns": {
1303
1235
  "description": "Course runs available text",
@@ -1317,19 +1249,43 @@
1317
1249
  },
1318
1250
  "components.SaleTunnelSuccess.congratulations": {
1319
1251
  "description": "Text displayed to thank user for his order",
1320
- "message": "Subscription confirmed!"
1252
+ "message": "Congratulations!"
1321
1253
  },
1322
1254
  "components.SaleTunnelSuccess.cta": {
1323
1255
  "description": "Label to the call to action to close sale tunnel",
1324
- "message": "Close"
1256
+ "message": "Start this course now!"
1257
+ },
1258
+ "components.SaleTunnelSuccess.ctaSignature": {
1259
+ "description": "Label to the call to action to close sale tunnel if there is a pending signature",
1260
+ "message": "Sign the training contract"
1325
1261
  },
1326
1262
  "components.SaleTunnelSuccess.successDetailMessage": {
1327
- "description": "Text to explain when the user will be able to start its training.",
1328
- "message": "You will be able to start your training once the first installment will be paid."
1263
+ "description": "Text to remind that order's invoice will be send by email soon",
1264
+ "message": "You will receive your invoice by email in a few moments."
1265
+ },
1266
+ "components.SaleTunnelSuccess.successDetailSignatureMessage": {
1267
+ "description": "Text to remind that order needs to be signed",
1268
+ "message": "In order to enroll to course runs you first need to sign the training contract."
1329
1269
  },
1330
1270
  "components.SaleTunnelSuccess.successMessage": {
1331
1271
  "description": "Message to confirm that order has been created",
1332
- "message": "Your order has been successfully registered."
1272
+ "message": "Your order has been successfully created."
1273
+ },
1274
+ "components.SaleTunnelSuccessNotValidated.apology": {
1275
+ "description": "Text displayed to thank user for his order",
1276
+ "message": "Sorry, you'll have to wait a little longer!"
1277
+ },
1278
+ "components.SaleTunnelSuccessNotValidated.cta": {
1279
+ "description": "Label to the call to action to close sale tunnel",
1280
+ "message": "Close"
1281
+ },
1282
+ "components.SaleTunnelSuccessNotValidated.description": {
1283
+ "description": "Text to remind that order's invoice will be send by email soon",
1284
+ "message": "Your payment has succeeded but your order validation is taking too long, you can close this dialog and come back later. You will receive your invoice by email in a few moments."
1285
+ },
1286
+ "components.SaleTunnelSuccessNotValidated.title": {
1287
+ "description": "Message to confirm that order has been created",
1288
+ "message": "It takes too long to validate your order."
1333
1289
  },
1334
1290
  "components.Search.errorMessage": {
1335
1291
  "description": "Error message for Search view when the request to load courses fails",
@@ -1435,22 +1391,6 @@
1435
1391
  "description": "Sub title of the dashboard sidebar",
1436
1392
  "message": "You are on your dashboard"
1437
1393
  },
1438
- "components.SubscriptionButton.errorAddress": {
1439
- "description": "Error message shown when the user didn't select a billing address.",
1440
- "message": "You must have a billing address."
1441
- },
1442
- "components.SubscriptionButton.errorDefault": {
1443
- "description": "Error message shown when order creation request failed.",
1444
- "message": "An error occurred during order creation. Please retry later."
1445
- },
1446
- "components.SubscriptionButton.errorFullProduct": {
1447
- "description": "Error message shown when order creation request failed because there is no remaining available seat for the product.",
1448
- "message": "There are no more places available for this product."
1449
- },
1450
- "components.SubscriptionButton.orderCreationInProgress": {
1451
- "description": "Label for screen reader when an order creation is in progress.",
1452
- "message": "Order creation in progress"
1453
- },
1454
1394
  "components.SyllabusAsideList.archived": {
1455
1395
  "description": "Message displayed on syllabus when there are archived course runs",
1456
1396
  "message": "Archived"
@@ -1503,22 +1443,6 @@
1503
1443
  "description": "Title of the languages section of an opened course run block",
1504
1444
  "message": "Languages"
1505
1445
  },
1506
- "components.SyllabusCourseRunCompacted.course": {
1507
- "description": "Title of the course dates section of an opened course run block",
1508
- "message": "Course"
1509
- },
1510
- "components.SyllabusCourseRunCompacted.languages": {
1511
- "description": "Title of the languages section of an opened course run block",
1512
- "message": "Languages"
1513
- },
1514
- "components.SyllabusCourseRunCompacted.selfPaceCoursePeriod": {
1515
- "description": "Course date of an opened and self paced course run block",
1516
- "message": "Available until {endDate}"
1517
- },
1518
- "components.SyllabusCourseRunCompacted.selfPaceNoEndDate": {
1519
- "description": "Self paced course run block with no end date",
1520
- "message": "Available"
1521
- },
1522
1446
  "components.SyllabusCourseRunsList.multipleOpenedCourseRuns": {
1523
1447
  "description": "Message displayed when there are multiple opened course runs on a syllabus",
1524
1448
  "message": "{count} course runs are currently open for this course"
@@ -1835,6 +1759,10 @@
1835
1759
  "description": "Error message shown to the user when course fetch request fails.",
1836
1760
  "message": "An error occurred while fetching course. Please retry later."
1837
1761
  },
1762
+ "hooks.useCreditCards.errorCreate": {
1763
+ "description": "Error message shown to the user when credit card creation request fails.",
1764
+ "message": "An error occurred while creating the credit card. Please retry later."
1765
+ },
1838
1766
  "hooks.useCreditCards.errorDelete": {
1839
1767
  "description": "Error message shown to the user when credit card deletion request fails.",
1840
1768
  "message": "An error occurred while deleting the credit card. Please retry later."
@@ -1847,10 +1775,6 @@
1847
1775
  "description": "Error message shown to the user when credit cards fetch request fails.",
1848
1776
  "message": "An error occurred while fetching credit cards. Please retry later."
1849
1777
  },
1850
- "hooks.useCreditCards.errorTokenize": {
1851
- "description": "Error message shown to the user when credit card tokenize request fails.",
1852
- "message": "An error occurred while adding a credit card. Please retry later."
1853
- },
1854
1778
  "hooks.useCreditCards.errorUpdate": {
1855
1779
  "description": "Error message shown to the user when credit card update request fails.",
1856
1780
  "message": "An error occurred while updating the credit card. Please retry later."
@@ -1903,10 +1827,6 @@
1903
1827
  "description": "Error message shown to the user when openEdx profile fullname post request fails.",
1904
1828
  "message": "An error occurred while updating your full name. Please retry later."
1905
1829
  },
1906
- "hooks.useOrders.errorCancel": {
1907
- "description": "Error message shown to the user when cancel mutation failed.",
1908
- "message": "Cannot cancel the order."
1909
- },
1910
1830
  "hooks.useOrders.errorGet": {
1911
1831
  "description": "Error message shown to the user when orders fetch request fails.",
1912
1832
  "message": "An error occurred while fetching orders. Please retry later."
@@ -1915,10 +1835,6 @@
1915
1835
  "description": "Error message shown to the user when no orders matches.",
1916
1836
  "message": "Cannot find the orders."
1917
1837
  },
1918
- "hooks.useOrders.errorSetPaymentMethod": {
1919
- "description": "Error message shown to the user when set payment method mutation failed.",
1920
- "message": "Cannot set the order's payment method."
1921
- },
1922
1838
  "hooks.useOrdersEnrollments.errorGet": {
1923
1839
  "description": "Error message shown to the user when orders or enrollments fetch request fails.",
1924
1840
  "message": "An error occurred while fetching orders and enrollments. Please retry later."