richie-education 2.26.0 → 2.27.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 (75) hide show
  1. package/i18n/locales/ar-SA.json +49 -25
  2. package/i18n/locales/es-ES.json +49 -25
  3. package/i18n/locales/fa-IR.json +49 -25
  4. package/i18n/locales/fr-CA.json +53 -29
  5. package/i18n/locales/fr-FR.json +51 -27
  6. package/i18n/locales/ko-KR.json +49 -25
  7. package/i18n/locales/pt-PT.json +55 -31
  8. package/i18n/locales/ru-RU.json +53 -29
  9. package/i18n/locales/vi-VN.json +49 -25
  10. package/js/components/ContractFrame/AbstractContractFrame.spec.tsx +1 -2
  11. package/js/components/EnrollmentDate/index.spec.tsx +93 -0
  12. package/js/components/EnrollmentDate/index.tsx +36 -0
  13. package/js/components/Modal/index.tsx +21 -23
  14. package/js/components/Pagination/index.spec.tsx +4 -14
  15. package/js/components/PaymentButton/_styles.scss +1 -0
  16. package/js/components/PaymentInterfaces/LyraPopIn.tsx +12 -6
  17. package/js/components/SaleTunnel/GenericPaymentButton/index.tsx +30 -21
  18. package/js/components/SaleTunnel/GenericSaleTunnel.tsx +20 -4
  19. package/js/components/SaleTunnel/ProductPath/CourseRunsList.tsx +1 -1
  20. package/js/components/SaleTunnel/SaleTunnelNotValidated/index.tsx +70 -0
  21. package/js/components/SaleTunnel/SaleTunnelSuccess/index.tsx +11 -11
  22. package/js/components/SaleTunnel/_styles.scss +29 -0
  23. package/js/components/SaleTunnel/index.spec.tsx +150 -24
  24. package/js/components/SuccessIcon/_styles.scss +1 -15
  25. package/js/components/WarningIcon/_styles.scss +84 -0
  26. package/js/components/WarningIcon/index.tsx +18 -0
  27. package/js/hooks/useCourseProductUnion/index.spec.tsx +9 -23
  28. package/js/hooks/useDateFormat/index.spec.tsx +37 -0
  29. package/js/hooks/{useDateFormat.tsx → useDateFormat/index.tsx} +6 -1
  30. package/js/hooks/useUnionResource/index.spec.tsx +10 -14
  31. package/js/pages/DashboardAddressesManagement/DashboardCreateAddress.spec.tsx +5 -10
  32. package/js/pages/DashboardAddressesManagement/DashboardEditAddress.spec.tsx +19 -29
  33. package/js/pages/DashboardAddressesManagement/index.spec.tsx +42 -75
  34. package/js/pages/DashboardCertificates/index.spec.tsx +2 -3
  35. package/js/pages/DashboardContracts/index.spec.tsx +4 -24
  36. package/js/pages/DashboardCreditCardsManagement/CreditCardBrandLogo.spec.tsx +29 -0
  37. package/js/pages/DashboardCreditCardsManagement/CreditCardBrandLogo.tsx +6 -2
  38. package/js/pages/DashboardOrderLayout/index.spec.tsx +5 -10
  39. package/js/pages/TeacherDashboardContractsLayout/hooks/useTeacherContractFilters/index.spec.tsx +1 -2
  40. package/js/pages/TeacherDashboardCourseLearnersLayout/hooks/useCourseLearnersFilters/index.spec.tsx +1 -2
  41. package/js/pages/TeacherDashboardCourseLoader/CourseRunList/utils.tsx +2 -2
  42. package/js/translations/ar-SA.json +1 -1
  43. package/js/translations/es-ES.json +1 -1
  44. package/js/translations/fa-IR.json +1 -1
  45. package/js/translations/fr-CA.json +1 -1
  46. package/js/translations/fr-FR.json +1 -1
  47. package/js/translations/ko-KR.json +1 -1
  48. package/js/translations/pt-PT.json +1 -1
  49. package/js/translations/ru-RU.json +1 -1
  50. package/js/translations/vi-VN.json +1 -1
  51. package/js/types/Joanie.ts +1 -1
  52. package/js/utils/test/makeHistoryOf.ts +11 -0
  53. package/js/utils/test/wrappers/AppWrapper.tsx +26 -0
  54. package/js/utils/test/wrappers/BaseAppWrapper.tsx +3 -3
  55. package/js/utils/test/wrappers/BaseJoanieAppWrapper.tsx +3 -3
  56. package/js/utils/test/wrappers/JoanieAppWrapper.tsx +3 -6
  57. package/js/utils/test/wrappers/PresentationalAppWrapper.tsx +5 -7
  58. package/js/utils/test/wrappers/types.ts +2 -0
  59. package/js/widgets/Dashboard/components/DashboardItem/CourseEnrolling/hooks/useCourseRunPeriodMessage.ts +4 -2
  60. package/js/widgets/Dashboard/components/DashboardLayoutRoute/index.tsx +8 -11
  61. package/js/widgets/Dashboard/contexts/DashboardBreadcrumbsContext.tsx +5 -3
  62. package/js/widgets/Search/hooks/useCourseSearch/index.spec.tsx +2 -2
  63. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/components/CourseProductCourseRuns/EnrollableCourseRunList.tsx +1 -1
  64. package/js/widgets/SyllabusCourseRunsList/components/CourseProductItem/index.tsx +2 -2
  65. package/js/widgets/SyllabusCourseRunsList/components/CourseRunItem/index.tsx +2 -2
  66. package/js/widgets/SyllabusCourseRunsList/components/SyllabusCourseRun/index.tsx +3 -2
  67. package/js/widgets/UserLogin/index.not.isJoanieEnabled.spec.tsx +1 -2
  68. package/js/widgets/UserLogin/index.spec.tsx +1 -2
  69. package/js/widgets/index.tsx +8 -5
  70. package/package.json +33 -33
  71. package/scss/colors/_theme.scss +2 -0
  72. package/scss/components/_index.scss +1 -1
  73. package/scss/tools/_index.scss +1 -0
  74. package/{js/components/SaleTunnel/SaleTunnelSuccess/_styles.scss → scss/tools/_keyframes.scss} +14 -37
  75. package/js/utils/test/wrappers/ReactQueryAppWrapper.tsx +0 -16
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "components.CourseProductItem.fromTo": {
215
215
  "description": "Course run date range",
216
- "message": "From {from} to {to}"
216
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
217
217
  },
218
218
  "components.CourseProductItem.loadingInitial": {
219
219
  "description": "Accessible text for the initial loading spinner displayed when product is fetching",
@@ -293,11 +293,11 @@
293
293
  },
294
294
  "components.CourseRunItem.courseRunTitleWithDates": {
295
295
  "description": "Course run details displayed on the syllabus",
296
- "message": "{title}, from {start} to {end}"
296
+ "message": "{title}, from {start} {end, select, undefined {} other {to {end}}}"
297
297
  },
298
298
  "components.CourseRunItem.courseRunWithDates": {
299
299
  "description": "Course run details displayed on the syllabus when it has no title",
300
- "message": "From {start} to {end}"
300
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
301
301
  },
302
302
  "components.CourseRunItemWithEnrollment.enrolled": {
303
303
  "description": "Help text for users are enrolled in the course run.",
@@ -317,7 +317,7 @@
317
317
  },
318
318
  "components.CourseRunList.dataCourseRunPeriod": {
319
319
  "description": "Message displayed in course run datagrid for course run period",
320
- "message": "From {from} to {to}"
320
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
321
321
  },
322
322
  "components.CourseRunList.noCourseRunAvailable": {
323
323
  "description": "Text displayed when no course run are opened for the course",
@@ -877,7 +877,7 @@
877
877
  },
878
878
  "components.EnrollableCourseRunList.ariaSelectCourseRun": {
879
879
  "description": "Accessible label used by screen reader when user checked a course run radio input.",
880
- "message": "Select course run from {start} to {end}."
880
+ "message": "Select course run from {start} {end, select, undefined {} other {to {end}}}."
881
881
  },
882
882
  "components.EnrollableCourseRunList.enroll": {
883
883
  "description": "Text label for the enroll button",
@@ -919,10 +919,18 @@
919
919
  "description": "Accessible label displayed when user is being unenrolled.",
920
920
  "message": "Unenrolling..."
921
921
  },
922
+ "components.EnrollmentDate.enrollClosed": {
923
+ "description": "Text label for the enrollment dates when enrollment is passed",
924
+ "message": "Enrollment closed since {date}"
925
+ },
922
926
  "components.EnrollmentDate.enrollFrom": {
923
927
  "description": "Text label for the enrollment dates when enrollment is not yet opened",
924
928
  "message": "Enrollment from {date}"
925
929
  },
930
+ "components.EnrollmentDate.enrollSince": {
931
+ "description": "Text label for the enrollment dates when enrollment opened and never closed",
932
+ "message": "Enrollment open since {date}"
933
+ },
926
934
  "components.EnrollmentDate.enrollUntil": {
927
935
  "description": "Text label for the enrollment dates when enrollment is opened",
928
936
  "message": "Enrollment until {date}"
@@ -1223,45 +1231,61 @@
1223
1231
  "description": "Title of clickable link included in the terms message",
1224
1232
  "message": "Open a preview of the General Terms of Sale"
1225
1233
  },
1226
- "components.SaleTunnelStepResume.congratulations": {
1234
+ "components.SaleTunnelStepValidation.availableCourseRuns": {
1235
+ "description": "Course runs available text",
1236
+ "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
1237
+ },
1238
+ "components.SaleTunnelStepValidation.courseRunDates": {
1239
+ "description": "Course run date text",
1240
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
1241
+ },
1242
+ "components.SaleTunnelStepValidation.language": {
1243
+ "description": "Label displayed before the list of languages",
1244
+ "message": "{ count, plural, one {Language:} other {Languages:} }"
1245
+ },
1246
+ "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1247
+ "description": "Text displayed when no course run are opened for the course",
1248
+ "message": "No session available for this course."
1249
+ },
1250
+ "components.SaleTunnelSuccess.congratulations": {
1227
1251
  "description": "Text displayed to thank user for his order",
1228
1252
  "message": "Congratulations!"
1229
1253
  },
1230
- "components.SaleTunnelStepResume.cta": {
1254
+ "components.SaleTunnelSuccess.cta": {
1231
1255
  "description": "Label to the call to action to close sale tunnel",
1232
1256
  "message": "Start this course now!"
1233
1257
  },
1234
- "components.SaleTunnelStepResume.ctaSignature": {
1258
+ "components.SaleTunnelSuccess.ctaSignature": {
1235
1259
  "description": "Label to the call to action to close sale tunnel if there is a pending signature",
1236
1260
  "message": "Sign the training contract"
1237
1261
  },
1238
- "components.SaleTunnelStepResume.successDetailMessage": {
1262
+ "components.SaleTunnelSuccess.successDetailMessage": {
1239
1263
  "description": "Text to remind that order's invoice will be send by email soon",
1240
1264
  "message": "You will receive your invoice by email in a few moments."
1241
1265
  },
1242
- "components.SaleTunnelStepResume.successDetailSignatureMessage": {
1266
+ "components.SaleTunnelSuccess.successDetailSignatureMessage": {
1243
1267
  "description": "Text to remind that order needs to be signed",
1244
1268
  "message": "In order to enroll to course runs you first need to sign the training contract."
1245
1269
  },
1246
- "components.SaleTunnelStepResume.successMessage": {
1270
+ "components.SaleTunnelSuccess.successMessage": {
1247
1271
  "description": "Message to confirm that order has been created",
1248
1272
  "message": "Your order has been successfully created."
1249
1273
  },
1250
- "components.SaleTunnelStepValidation.availableCourseRuns": {
1251
- "description": "Course runs available text",
1252
- "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
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!"
1253
1277
  },
1254
- "components.SaleTunnelStepValidation.courseRunDates": {
1255
- "description": "Course run date text",
1256
- "message": "From {start} to {end}"
1278
+ "components.SaleTunnelSuccessNotValidated.cta": {
1279
+ "description": "Label to the call to action to close sale tunnel",
1280
+ "message": "Close"
1257
1281
  },
1258
- "components.SaleTunnelStepValidation.language": {
1259
- "description": "Label displayed before the list of languages",
1260
- "message": "{ count, plural, one {Language:} other {Languages:} }"
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."
1261
1285
  },
1262
- "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1263
- "description": "Text displayed when no course run are opened for the course",
1264
- "message": "No session available for this course."
1286
+ "components.SaleTunnelSuccessNotValidated.title": {
1287
+ "description": "Message to confirm that order has been created",
1288
+ "message": "It takes too long to validate your order."
1265
1289
  },
1266
1290
  "components.Search.errorMessage": {
1267
1291
  "description": "Error message for Search view when the request to load courses fails",
@@ -1629,11 +1653,11 @@
1629
1653
  },
1630
1654
  "components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod": {
1631
1655
  "description": "Text to display when a course run is ongoing and the user is enrolled to.",
1632
- "message": "You are enrolled for this session. It's open from {startDate} to {endDate}"
1656
+ "message": "You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}"
1633
1657
  },
1634
1658
  "components.useCourseRunPeriodMessage.onGoingRunPeriod": {
1635
1659
  "description": "Text to display when a course run is on going.",
1636
- "message": "This session started on {startDate} and will end on {endDate}"
1660
+ "message": "This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}"
1637
1661
  },
1638
1662
  "components.useStaticFilters.courses": {
1639
1663
  "description": "localized human_name label for coursesConfig filter name",
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "components.CourseProductItem.fromTo": {
215
215
  "description": "Course run date range",
216
- "message": "From {from} to {to}"
216
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
217
217
  },
218
218
  "components.CourseProductItem.loadingInitial": {
219
219
  "description": "Accessible text for the initial loading spinner displayed when product is fetching",
@@ -293,11 +293,11 @@
293
293
  },
294
294
  "components.CourseRunItem.courseRunTitleWithDates": {
295
295
  "description": "Course run details displayed on the syllabus",
296
- "message": "{title}, from {start} to {end}"
296
+ "message": "{title}, from {start} {end, select, undefined {} other {to {end}}}"
297
297
  },
298
298
  "components.CourseRunItem.courseRunWithDates": {
299
299
  "description": "Course run details displayed on the syllabus when it has no title",
300
- "message": "From {start} to {end}"
300
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
301
301
  },
302
302
  "components.CourseRunItemWithEnrollment.enrolled": {
303
303
  "description": "Help text for users are enrolled in the course run.",
@@ -317,7 +317,7 @@
317
317
  },
318
318
  "components.CourseRunList.dataCourseRunPeriod": {
319
319
  "description": "Message displayed in course run datagrid for course run period",
320
- "message": "From {from} to {to}"
320
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
321
321
  },
322
322
  "components.CourseRunList.noCourseRunAvailable": {
323
323
  "description": "Text displayed when no course run are opened for the course",
@@ -877,7 +877,7 @@
877
877
  },
878
878
  "components.EnrollableCourseRunList.ariaSelectCourseRun": {
879
879
  "description": "Accessible label used by screen reader when user checked a course run radio input.",
880
- "message": "Select course run from {start} to {end}."
880
+ "message": "Select course run from {start} {end, select, undefined {} other {to {end}}}."
881
881
  },
882
882
  "components.EnrollableCourseRunList.enroll": {
883
883
  "description": "Text label for the enroll button",
@@ -919,10 +919,18 @@
919
919
  "description": "Accessible label displayed when user is being unenrolled.",
920
920
  "message": "Unenrolling..."
921
921
  },
922
+ "components.EnrollmentDate.enrollClosed": {
923
+ "description": "Text label for the enrollment dates when enrollment is passed",
924
+ "message": "Enrollment closed since {date}"
925
+ },
922
926
  "components.EnrollmentDate.enrollFrom": {
923
927
  "description": "Text label for the enrollment dates when enrollment is not yet opened",
924
928
  "message": "Enrollment from {date}"
925
929
  },
930
+ "components.EnrollmentDate.enrollSince": {
931
+ "description": "Text label for the enrollment dates when enrollment opened and never closed",
932
+ "message": "Enrollment open since {date}"
933
+ },
926
934
  "components.EnrollmentDate.enrollUntil": {
927
935
  "description": "Text label for the enrollment dates when enrollment is opened",
928
936
  "message": "Enrollment until {date}"
@@ -1223,45 +1231,61 @@
1223
1231
  "description": "Title of clickable link included in the terms message",
1224
1232
  "message": "Open a preview of the General Terms of Sale"
1225
1233
  },
1226
- "components.SaleTunnelStepResume.congratulations": {
1234
+ "components.SaleTunnelStepValidation.availableCourseRuns": {
1235
+ "description": "Course runs available text",
1236
+ "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
1237
+ },
1238
+ "components.SaleTunnelStepValidation.courseRunDates": {
1239
+ "description": "Course run date text",
1240
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
1241
+ },
1242
+ "components.SaleTunnelStepValidation.language": {
1243
+ "description": "Label displayed before the list of languages",
1244
+ "message": "{ count, plural, one {Language:} other {Languages:} }"
1245
+ },
1246
+ "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1247
+ "description": "Text displayed when no course run are opened for the course",
1248
+ "message": "No session available for this course."
1249
+ },
1250
+ "components.SaleTunnelSuccess.congratulations": {
1227
1251
  "description": "Text displayed to thank user for his order",
1228
1252
  "message": "Congratulations!"
1229
1253
  },
1230
- "components.SaleTunnelStepResume.cta": {
1254
+ "components.SaleTunnelSuccess.cta": {
1231
1255
  "description": "Label to the call to action to close sale tunnel",
1232
1256
  "message": "Start this course now!"
1233
1257
  },
1234
- "components.SaleTunnelStepResume.ctaSignature": {
1258
+ "components.SaleTunnelSuccess.ctaSignature": {
1235
1259
  "description": "Label to the call to action to close sale tunnel if there is a pending signature",
1236
1260
  "message": "Sign the training contract"
1237
1261
  },
1238
- "components.SaleTunnelStepResume.successDetailMessage": {
1262
+ "components.SaleTunnelSuccess.successDetailMessage": {
1239
1263
  "description": "Text to remind that order's invoice will be send by email soon",
1240
1264
  "message": "You will receive your invoice by email in a few moments."
1241
1265
  },
1242
- "components.SaleTunnelStepResume.successDetailSignatureMessage": {
1266
+ "components.SaleTunnelSuccess.successDetailSignatureMessage": {
1243
1267
  "description": "Text to remind that order needs to be signed",
1244
1268
  "message": "In order to enroll to course runs you first need to sign the training contract."
1245
1269
  },
1246
- "components.SaleTunnelStepResume.successMessage": {
1270
+ "components.SaleTunnelSuccess.successMessage": {
1247
1271
  "description": "Message to confirm that order has been created",
1248
1272
  "message": "Your order has been successfully created."
1249
1273
  },
1250
- "components.SaleTunnelStepValidation.availableCourseRuns": {
1251
- "description": "Course runs available text",
1252
- "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
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!"
1253
1277
  },
1254
- "components.SaleTunnelStepValidation.courseRunDates": {
1255
- "description": "Course run date text",
1256
- "message": "De {start} a {end}"
1278
+ "components.SaleTunnelSuccessNotValidated.cta": {
1279
+ "description": "Label to the call to action to close sale tunnel",
1280
+ "message": "Close"
1257
1281
  },
1258
- "components.SaleTunnelStepValidation.language": {
1259
- "description": "Label displayed before the list of languages",
1260
- "message": "{ count, plural, one {Language:} other {Languages:} }"
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."
1261
1285
  },
1262
- "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1263
- "description": "Text displayed when no course run are opened for the course",
1264
- "message": "No session available for this course."
1286
+ "components.SaleTunnelSuccessNotValidated.title": {
1287
+ "description": "Message to confirm that order has been created",
1288
+ "message": "It takes too long to validate your order."
1265
1289
  },
1266
1290
  "components.Search.errorMessage": {
1267
1291
  "description": "Error message for Search view when the request to load courses fails",
@@ -1629,11 +1653,11 @@
1629
1653
  },
1630
1654
  "components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod": {
1631
1655
  "description": "Text to display when a course run is ongoing and the user is enrolled to.",
1632
- "message": "You are enrolled for this session. It's open from {startDate} to {endDate}"
1656
+ "message": "You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}"
1633
1657
  },
1634
1658
  "components.useCourseRunPeriodMessage.onGoingRunPeriod": {
1635
1659
  "description": "Text to display when a course run is on going.",
1636
- "message": "This session started on {startDate} and will end on {endDate}"
1660
+ "message": "This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}"
1637
1661
  },
1638
1662
  "components.useStaticFilters.courses": {
1639
1663
  "description": "localized human_name label for coursesConfig filter name",
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "components.CourseProductItem.fromTo": {
215
215
  "description": "Course run date range",
216
- "message": "From {from} to {to}"
216
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
217
217
  },
218
218
  "components.CourseProductItem.loadingInitial": {
219
219
  "description": "Accessible text for the initial loading spinner displayed when product is fetching",
@@ -293,11 +293,11 @@
293
293
  },
294
294
  "components.CourseRunItem.courseRunTitleWithDates": {
295
295
  "description": "Course run details displayed on the syllabus",
296
- "message": "{title}, from {start} to {end}"
296
+ "message": "{title}, from {start} {end, select, undefined {} other {to {end}}}"
297
297
  },
298
298
  "components.CourseRunItem.courseRunWithDates": {
299
299
  "description": "Course run details displayed on the syllabus when it has no title",
300
- "message": "From {start} to {end}"
300
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
301
301
  },
302
302
  "components.CourseRunItemWithEnrollment.enrolled": {
303
303
  "description": "Help text for users are enrolled in the course run.",
@@ -317,7 +317,7 @@
317
317
  },
318
318
  "components.CourseRunList.dataCourseRunPeriod": {
319
319
  "description": "Message displayed in course run datagrid for course run period",
320
- "message": "From {from} to {to}"
320
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
321
321
  },
322
322
  "components.CourseRunList.noCourseRunAvailable": {
323
323
  "description": "Text displayed when no course run are opened for the course",
@@ -877,7 +877,7 @@
877
877
  },
878
878
  "components.EnrollableCourseRunList.ariaSelectCourseRun": {
879
879
  "description": "Accessible label used by screen reader when user checked a course run radio input.",
880
- "message": "Select course run from {start} to {end}."
880
+ "message": "Select course run from {start} {end, select, undefined {} other {to {end}}}."
881
881
  },
882
882
  "components.EnrollableCourseRunList.enroll": {
883
883
  "description": "Text label for the enroll button",
@@ -919,10 +919,18 @@
919
919
  "description": "Accessible label displayed when user is being unenrolled.",
920
920
  "message": "Unenrolling..."
921
921
  },
922
+ "components.EnrollmentDate.enrollClosed": {
923
+ "description": "Text label for the enrollment dates when enrollment is passed",
924
+ "message": "Enrollment closed since {date}"
925
+ },
922
926
  "components.EnrollmentDate.enrollFrom": {
923
927
  "description": "Text label for the enrollment dates when enrollment is not yet opened",
924
928
  "message": "Enrollment from {date}"
925
929
  },
930
+ "components.EnrollmentDate.enrollSince": {
931
+ "description": "Text label for the enrollment dates when enrollment opened and never closed",
932
+ "message": "Enrollment open since {date}"
933
+ },
926
934
  "components.EnrollmentDate.enrollUntil": {
927
935
  "description": "Text label for the enrollment dates when enrollment is opened",
928
936
  "message": "Enrollment until {date}"
@@ -1223,45 +1231,61 @@
1223
1231
  "description": "Title of clickable link included in the terms message",
1224
1232
  "message": "Open a preview of the General Terms of Sale"
1225
1233
  },
1226
- "components.SaleTunnelStepResume.congratulations": {
1234
+ "components.SaleTunnelStepValidation.availableCourseRuns": {
1235
+ "description": "Course runs available text",
1236
+ "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
1237
+ },
1238
+ "components.SaleTunnelStepValidation.courseRunDates": {
1239
+ "description": "Course run date text",
1240
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
1241
+ },
1242
+ "components.SaleTunnelStepValidation.language": {
1243
+ "description": "Label displayed before the list of languages",
1244
+ "message": "{ count, plural, one {Language:} other {Languages:} }"
1245
+ },
1246
+ "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1247
+ "description": "Text displayed when no course run are opened for the course",
1248
+ "message": "No session available for this course."
1249
+ },
1250
+ "components.SaleTunnelSuccess.congratulations": {
1227
1251
  "description": "Text displayed to thank user for his order",
1228
1252
  "message": "Congratulations!"
1229
1253
  },
1230
- "components.SaleTunnelStepResume.cta": {
1254
+ "components.SaleTunnelSuccess.cta": {
1231
1255
  "description": "Label to the call to action to close sale tunnel",
1232
1256
  "message": "Start this course now!"
1233
1257
  },
1234
- "components.SaleTunnelStepResume.ctaSignature": {
1258
+ "components.SaleTunnelSuccess.ctaSignature": {
1235
1259
  "description": "Label to the call to action to close sale tunnel if there is a pending signature",
1236
1260
  "message": "Sign the training contract"
1237
1261
  },
1238
- "components.SaleTunnelStepResume.successDetailMessage": {
1262
+ "components.SaleTunnelSuccess.successDetailMessage": {
1239
1263
  "description": "Text to remind that order's invoice will be send by email soon",
1240
1264
  "message": "You will receive your invoice by email in a few moments."
1241
1265
  },
1242
- "components.SaleTunnelStepResume.successDetailSignatureMessage": {
1266
+ "components.SaleTunnelSuccess.successDetailSignatureMessage": {
1243
1267
  "description": "Text to remind that order needs to be signed",
1244
1268
  "message": "In order to enroll to course runs you first need to sign the training contract."
1245
1269
  },
1246
- "components.SaleTunnelStepResume.successMessage": {
1270
+ "components.SaleTunnelSuccess.successMessage": {
1247
1271
  "description": "Message to confirm that order has been created",
1248
1272
  "message": "Your order has been successfully created."
1249
1273
  },
1250
- "components.SaleTunnelStepValidation.availableCourseRuns": {
1251
- "description": "Course runs available text",
1252
- "message": "{ count, plural, =0 {No course runs} one {One course run} other {# course runs} } available"
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!"
1253
1277
  },
1254
- "components.SaleTunnelStepValidation.courseRunDates": {
1255
- "description": "Course run date text",
1256
- "message": "From {start} to {end}"
1278
+ "components.SaleTunnelSuccessNotValidated.cta": {
1279
+ "description": "Label to the call to action to close sale tunnel",
1280
+ "message": "Close"
1257
1281
  },
1258
- "components.SaleTunnelStepValidation.language": {
1259
- "description": "Label displayed before the list of languages",
1260
- "message": "{ count, plural, one {Language:} other {Languages:} }"
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."
1261
1285
  },
1262
- "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1263
- "description": "Text displayed when no course run are opened for the course",
1264
- "message": "No session available for this course."
1286
+ "components.SaleTunnelSuccessNotValidated.title": {
1287
+ "description": "Message to confirm that order has been created",
1288
+ "message": "It takes too long to validate your order."
1265
1289
  },
1266
1290
  "components.Search.errorMessage": {
1267
1291
  "description": "Error message for Search view when the request to load courses fails",
@@ -1629,11 +1653,11 @@
1629
1653
  },
1630
1654
  "components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod": {
1631
1655
  "description": "Text to display when a course run is ongoing and the user is enrolled to.",
1632
- "message": "You are enrolled for this session. It's open from {startDate} to {endDate}"
1656
+ "message": "You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}"
1633
1657
  },
1634
1658
  "components.useCourseRunPeriodMessage.onGoingRunPeriod": {
1635
1659
  "description": "Text to display when a course run is on going.",
1636
- "message": "This session started on {startDate} and will end on {endDate}"
1660
+ "message": "This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}"
1637
1661
  },
1638
1662
  "components.useStaticFilters.courses": {
1639
1663
  "description": "localized human_name label for coursesConfig filter name",
@@ -213,7 +213,7 @@
213
213
  },
214
214
  "components.CourseProductItem.fromTo": {
215
215
  "description": "Course run date range",
216
- "message": "Du {from} au {to}"
216
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
217
217
  },
218
218
  "components.CourseProductItem.loadingInitial": {
219
219
  "description": "Accessible text for the initial loading spinner displayed when product is fetching",
@@ -293,11 +293,11 @@
293
293
  },
294
294
  "components.CourseRunItem.courseRunTitleWithDates": {
295
295
  "description": "Course run details displayed on the syllabus",
296
- "message": "{title}, du {start} au {end}"
296
+ "message": "{title}, from {start} {end, select, undefined {} other {to {end}}}"
297
297
  },
298
298
  "components.CourseRunItem.courseRunWithDates": {
299
299
  "description": "Course run details displayed on the syllabus when it has no title",
300
- "message": "Du {start} au {end}"
300
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
301
301
  },
302
302
  "components.CourseRunItemWithEnrollment.enrolled": {
303
303
  "description": "Help text for users are enrolled in the course run.",
@@ -317,7 +317,7 @@
317
317
  },
318
318
  "components.CourseRunList.dataCourseRunPeriod": {
319
319
  "description": "Message displayed in course run datagrid for course run period",
320
- "message": "From {from} to {to}"
320
+ "message": "From {from} {to, select, undefined {} other {to {to}}}"
321
321
  },
322
322
  "components.CourseRunList.noCourseRunAvailable": {
323
323
  "description": "Text displayed when no course run are opened for the course",
@@ -877,7 +877,7 @@
877
877
  },
878
878
  "components.EnrollableCourseRunList.ariaSelectCourseRun": {
879
879
  "description": "Accessible label used by screen reader when user checked a course run radio input.",
880
- "message": "Sélectionnez la session se déroulant du {start} au {end}."
880
+ "message": "Select course run from {start} {end, select, undefined {} other {to {end}}}."
881
881
  },
882
882
  "components.EnrollableCourseRunList.enroll": {
883
883
  "description": "Text label for the enroll button",
@@ -919,10 +919,18 @@
919
919
  "description": "Accessible label displayed when user is being unenrolled.",
920
920
  "message": "Désinscription en cours..."
921
921
  },
922
+ "components.EnrollmentDate.enrollClosed": {
923
+ "description": "Text label for the enrollment dates when enrollment is passed",
924
+ "message": "Enrollment closed since {date}"
925
+ },
922
926
  "components.EnrollmentDate.enrollFrom": {
923
927
  "description": "Text label for the enrollment dates when enrollment is not yet opened",
924
928
  "message": "Inscription à partir du {date}"
925
929
  },
930
+ "components.EnrollmentDate.enrollSince": {
931
+ "description": "Text label for the enrollment dates when enrollment opened and never closed",
932
+ "message": "Enrollment open since {date}"
933
+ },
926
934
  "components.EnrollmentDate.enrollUntil": {
927
935
  "description": "Text label for the enrollment dates when enrollment is opened",
928
936
  "message": "Inscription jusqu'au {date}"
@@ -1223,45 +1231,61 @@
1223
1231
  "description": "Title of clickable link included in the terms message",
1224
1232
  "message": "Open a preview of the General Terms of Sale"
1225
1233
  },
1226
- "components.SaleTunnelStepResume.congratulations": {
1234
+ "components.SaleTunnelStepValidation.availableCourseRuns": {
1235
+ "description": "Course runs available text",
1236
+ "message": "{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}"
1237
+ },
1238
+ "components.SaleTunnelStepValidation.courseRunDates": {
1239
+ "description": "Course run date text",
1240
+ "message": "From {start} {end, select, undefined {} other {to {end}}}"
1241
+ },
1242
+ "components.SaleTunnelStepValidation.language": {
1243
+ "description": "Label displayed before the list of languages",
1244
+ "message": "{ count, plural, one {Langue :} other {Langues :} }"
1245
+ },
1246
+ "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1247
+ "description": "Text displayed when no course run are opened for the course",
1248
+ "message": "Aucune session disponible pour ce cours."
1249
+ },
1250
+ "components.SaleTunnelSuccess.congratulations": {
1227
1251
  "description": "Text displayed to thank user for his order",
1228
- "message": "Félicitations !"
1252
+ "message": "Congratulations!"
1229
1253
  },
1230
- "components.SaleTunnelStepResume.cta": {
1254
+ "components.SaleTunnelSuccess.cta": {
1231
1255
  "description": "Label to the call to action to close sale tunnel",
1232
- "message": "Commencer ce cours dès maintenant !"
1256
+ "message": "Start this course now!"
1233
1257
  },
1234
- "components.SaleTunnelStepResume.ctaSignature": {
1258
+ "components.SaleTunnelSuccess.ctaSignature": {
1235
1259
  "description": "Label to the call to action to close sale tunnel if there is a pending signature",
1236
1260
  "message": "Sign the training contract"
1237
1261
  },
1238
- "components.SaleTunnelStepResume.successDetailMessage": {
1262
+ "components.SaleTunnelSuccess.successDetailMessage": {
1239
1263
  "description": "Text to remind that order's invoice will be send by email soon",
1240
- "message": "Vous allez recevoir votre facture par courriel dans quelques instants."
1264
+ "message": "You will receive your invoice by email in a few moments."
1241
1265
  },
1242
- "components.SaleTunnelStepResume.successDetailSignatureMessage": {
1266
+ "components.SaleTunnelSuccess.successDetailSignatureMessage": {
1243
1267
  "description": "Text to remind that order needs to be signed",
1244
1268
  "message": "In order to enroll to course runs you first need to sign the training contract."
1245
1269
  },
1246
- "components.SaleTunnelStepResume.successMessage": {
1270
+ "components.SaleTunnelSuccess.successMessage": {
1247
1271
  "description": "Message to confirm that order has been created",
1248
- "message": "Votre commande a été créée avec succès."
1272
+ "message": "Your order has been successfully created."
1249
1273
  },
1250
- "components.SaleTunnelStepValidation.availableCourseRuns": {
1251
- "description": "Course runs available text",
1252
- "message": "{ count, plural, =0 {Aucune session disponible} one {Une session disponible} other {# sessions disponibles}}"
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!"
1253
1277
  },
1254
- "components.SaleTunnelStepValidation.courseRunDates": {
1255
- "description": "Course run date text",
1256
- "message": "Du {start} au {end}"
1278
+ "components.SaleTunnelSuccessNotValidated.cta": {
1279
+ "description": "Label to the call to action to close sale tunnel",
1280
+ "message": "Close"
1257
1281
  },
1258
- "components.SaleTunnelStepValidation.language": {
1259
- "description": "Label displayed before the list of languages",
1260
- "message": "{ count, plural, one {Langue :} other {Langues :} }"
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."
1261
1285
  },
1262
- "components.SaleTunnelStepValidation.noCourseRunAvailable": {
1263
- "description": "Text displayed when no course run are opened for the course",
1264
- "message": "Aucune session disponible pour ce cours."
1286
+ "components.SaleTunnelSuccessNotValidated.title": {
1287
+ "description": "Message to confirm that order has been created",
1288
+ "message": "It takes too long to validate your order."
1265
1289
  },
1266
1290
  "components.Search.errorMessage": {
1267
1291
  "description": "Error message for Search view when the request to load courses fails",
@@ -1629,11 +1653,11 @@
1629
1653
  },
1630
1654
  "components.useCourseRunPeriodMessage.onGoingEnrolledRunPeriod": {
1631
1655
  "description": "Text to display when a course run is ongoing and the user is enrolled to.",
1632
- "message": "You are enrolled for this session. It's open from {startDate} to {endDate}"
1656
+ "message": "You are enrolled for this session. It's open from {startDate} {endDate, select, undefined {} other {to {endDate}}}"
1633
1657
  },
1634
1658
  "components.useCourseRunPeriodMessage.onGoingRunPeriod": {
1635
1659
  "description": "Text to display when a course run is on going.",
1636
- "message": "This session started on {startDate} and will end on {endDate}"
1660
+ "message": "This session started on {startDate} {endDate, select, undefined {} other {and will end on {endDate}}}"
1637
1661
  },
1638
1662
  "components.useStaticFilters.courses": {
1639
1663
  "description": "localized human_name label for coursesConfig filter name",