@edx/frontend-app-subscription-manage 1.18.2 → 1.20.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 (97) hide show
  1. package/dist/components/ActiveSubscription/ActiveSubscription.js +4 -4
  2. package/dist/components/ActiveSubscription/ActiveSubscription.js.map +1 -1
  3. package/dist/components/BecomeSubscriber/BecomeSubscriber.js +3 -3
  4. package/dist/components/BecomeSubscriber/BecomeSubscriber.js.map +1 -1
  5. package/dist/components/CancelConfirmation/CancelConfirmation.js +6 -6
  6. package/dist/components/CancelConfirmation/CancelConfirmation.js.map +1 -1
  7. package/dist/components/CancelSuccess/CancelSuccess.js +3 -3
  8. package/dist/components/CancelSuccess/CancelSuccess.js.map +1 -1
  9. package/dist/components/CanceledSubscription/CanceledSubscription.js +6 -6
  10. package/dist/components/CanceledSubscription/CanceledSubscription.js.map +1 -1
  11. package/dist/components/EnrolledCoursesList/EnrolledCoursesList.js +2 -2
  12. package/dist/components/EnrolledCoursesList/EnrolledCoursesList.js.map +1 -1
  13. package/dist/components/HelpFooter/HelpFooter.js +1 -1
  14. package/dist/components/HelpFooter/HelpFooter.js.map +1 -1
  15. package/dist/components/OrderHistory/OrderHistoryCard.d.ts +11 -0
  16. package/dist/components/OrderHistory/OrderHistoryCard.js +6 -0
  17. package/dist/components/OrderHistory/OrderHistoryCard.js.map +1 -0
  18. package/dist/components/OrderHistory/OrderHistoryDetails.d.ts +2 -0
  19. package/dist/components/OrderHistory/OrderHistoryDetails.js +120 -0
  20. package/dist/components/OrderHistory/OrderHistoryDetails.js.map +1 -0
  21. package/dist/components/OrderHistory/OrderList.d.ts +3 -0
  22. package/dist/components/OrderHistory/OrderList.js +13 -0
  23. package/dist/components/OrderHistory/OrderList.js.map +1 -0
  24. package/dist/components/OrderHistory/OrderPurchases.d.ts +4 -0
  25. package/dist/components/OrderHistory/OrderPurchases.js +44 -0
  26. package/dist/components/OrderHistory/OrderPurchases.js.map +1 -0
  27. package/dist/components/OrderHistory/ProgramItemsTable.d.ts +7 -0
  28. package/dist/components/OrderHistory/ProgramItemsTable.js +49 -0
  29. package/dist/components/OrderHistory/ProgramItemsTable.js.map +1 -0
  30. package/dist/components/OrderHistory/data/receiptRows.d.ts +17 -0
  31. package/dist/components/OrderHistory/data/receiptRows.js +16 -0
  32. package/dist/components/OrderHistory/data/receiptRows.js.map +1 -0
  33. package/dist/components/OrderHistory/messages.d.ts +118 -0
  34. package/dist/components/OrderHistory/messages.js +120 -0
  35. package/dist/components/OrderHistory/messages.js.map +1 -0
  36. package/dist/components/OrderHistoryHeader/OrderHistoryHeader.js +1 -1
  37. package/dist/components/OrderHistoryHeader/OrderHistoryHeader.js.map +1 -1
  38. package/dist/components/PaymentHistory/PaymentHistory.js +5 -5
  39. package/dist/components/PaymentHistory/PaymentHistory.js.map +1 -1
  40. package/dist/components/RefundNotice/RefundNotice.d.ts +3 -0
  41. package/dist/components/RefundNotice/RefundNotice.js +15 -0
  42. package/dist/components/RefundNotice/RefundNotice.js.map +1 -0
  43. package/dist/components/RefundNotice/messages.d.ts +18 -0
  44. package/dist/components/RefundNotice/messages.js +20 -0
  45. package/dist/components/RefundNotice/messages.js.map +1 -0
  46. package/dist/components/RenewSubscriptionModal/RenewSubscriptionModal.js +10 -10
  47. package/dist/components/RenewSubscriptionModal/RenewSubscriptionModal.js.map +1 -1
  48. package/dist/components/ResubscribeCard/ResubscribeCard.js +5 -5
  49. package/dist/components/ResubscribeCard/ResubscribeCard.js.map +1 -1
  50. package/dist/components/UpdatePaymentMethodModal/UpdatePaymentMethodModal.js +12 -12
  51. package/dist/components/UpdatePaymentMethodModal/UpdatePaymentMethodModal.js.map +1 -1
  52. package/dist/components/messages.d.ts +89 -99
  53. package/dist/components/messages.js +182 -192
  54. package/dist/components/messages.js.map +1 -1
  55. package/dist/constants.d.ts +7 -1
  56. package/dist/constants.js +7 -1
  57. package/dist/constants.js.map +1 -1
  58. package/dist/data/hooks/keys.d.ts +5 -0
  59. package/dist/data/hooks/keys.js +5 -0
  60. package/dist/data/hooks/keys.js.map +1 -1
  61. package/dist/data/hooks/useOrderHistoryQueries.d.ts +11 -0
  62. package/dist/data/hooks/useOrderHistoryQueries.js +30 -0
  63. package/dist/data/hooks/useOrderHistoryQueries.js.map +1 -0
  64. package/dist/data/services/orderHistory/orderHistory.d.ts +7 -0
  65. package/dist/data/services/orderHistory/orderHistory.js +40 -0
  66. package/dist/data/services/orderHistory/orderHistory.js.map +1 -0
  67. package/dist/{manageSubscriptionPage → orderHistory}/CancelSubscriptionPage.js +4 -4
  68. package/dist/orderHistory/CancelSubscriptionPage.js.map +1 -0
  69. package/dist/{manageSubscriptionPage → orderHistory}/CancelSuccessPage.js +2 -2
  70. package/dist/orderHistory/CancelSuccessPage.js.map +1 -0
  71. package/dist/orderHistory/OrderHistoryPage.d.ts +3 -0
  72. package/dist/orderHistory/OrderHistoryPage.js +127 -0
  73. package/dist/orderHistory/OrderHistoryPage.js.map +1 -0
  74. package/dist/routes.d.ts +23 -2
  75. package/dist/routes.js +44 -19
  76. package/dist/routes.js.map +1 -1
  77. package/dist/style.scss +1 -1
  78. package/dist/styles/components/{manageSubscription.scss → orderHistory.scss} +60 -24
  79. package/dist/types.d.ts +55 -0
  80. package/dist/types.js.map +1 -1
  81. package/dist/utils/currency.d.ts +6 -0
  82. package/dist/utils/currency.js +6 -0
  83. package/dist/utils/currency.js.map +1 -0
  84. package/dist/utils/queries.d.ts +6 -0
  85. package/dist/utils/queries.js +12 -0
  86. package/dist/utils/queries.js.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/components/SubscriptionTabs/SubscriptionTabs.d.ts +0 -8
  89. package/dist/components/SubscriptionTabs/SubscriptionTabs.js +0 -15
  90. package/dist/components/SubscriptionTabs/SubscriptionTabs.js.map +0 -1
  91. package/dist/manageSubscriptionPage/CancelSubscriptionPage.js.map +0 -1
  92. package/dist/manageSubscriptionPage/CancelSuccessPage.js.map +0 -1
  93. package/dist/manageSubscriptionPage/ManageSubscriptionPage.d.ts +0 -3
  94. package/dist/manageSubscriptionPage/ManageSubscriptionPage.js +0 -88
  95. package/dist/manageSubscriptionPage/ManageSubscriptionPage.js.map +0 -1
  96. /package/dist/{manageSubscriptionPage → orderHistory}/CancelSubscriptionPage.d.ts +0 -0
  97. /package/dist/{manageSubscriptionPage → orderHistory}/CancelSuccessPage.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/components/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'manage.page.title': {\n id: 'manage.page.title',\n defaultMessage: 'Order History | {siteName}',\n description: 'Document title for the manage subscription page',\n },\n 'manage.loading': {\n id: 'manage.loading',\n defaultMessage: 'Loading subscription…',\n description: 'Loading state for the manage subscription page',\n },\n 'manage.error': {\n id: 'manage.error',\n defaultMessage: 'We could not load your subscription. Please try again later.',\n description: 'Error alert when subscription fetch fails',\n },\n 'manage.header.title': {\n id: 'manage.header.title',\n defaultMessage: 'Order History',\n description: 'Page heading for order history / manage subscription',\n },\n 'manage.header.subtitle': {\n id: 'manage.header.subtitle',\n defaultMessage: 'View previous purchases and manage your subscription.',\n description: 'Page subtitle under Order History',\n },\n 'manage.tab.subscription': {\n id: 'manage.tab.subscription',\n defaultMessage: 'Subscription',\n description: 'Subscription tab label',\n },\n 'manage.tab.paymentHistory': {\n id: 'manage.tab.paymentHistory',\n defaultMessage: 'Payment history',\n description: 'Payment history tab label',\n },\n 'manage.paymentHistory.heading': {\n id: 'manage.paymentHistory.heading',\n defaultMessage: 'Payment history',\n description: 'Heading for the payment history panel',\n },\n 'manage.paymentHistory.nextPayment': {\n id: 'manage.paymentHistory.nextPayment',\n defaultMessage: 'Next payment scheduled for {date}.',\n description: 'Next payment line above the invoice list',\n },\n 'manage.paymentHistory.empty': {\n id: 'manage.paymentHistory.empty',\n defaultMessage: 'No payments yet.',\n description: 'Empty state when the learner has no invoices',\n },\n 'manage.paymentHistory.error': {\n id: 'manage.paymentHistory.error',\n defaultMessage: 'We could not load your payment history. Please try again later.',\n description: 'Error alert when invoice fetch fails',\n },\n 'manage.paymentHistory.noSubscription': {\n id: 'manage.paymentHistory.noSubscription',\n defaultMessage: 'Payment history is available after you subscribe.',\n description: 'Shown when there is no subscriptionBiId to query invoices',\n },\n 'manage.paymentHistory.tileTitle': {\n id: 'manage.paymentHistory.tileTitle',\n defaultMessage: 'edX Plus Subscription',\n description: 'Title on each payment history invoice tile',\n },\n 'manage.paymentHistory.startOfService': {\n id: 'manage.paymentHistory.startOfService',\n defaultMessage: 'Start of service:',\n description: 'Label for invoice period start on payment history tile',\n },\n 'manage.paymentHistory.totalCost': {\n id: 'manage.paymentHistory.totalCost',\n defaultMessage: 'Total cost:',\n description: 'Label for invoice total on payment history tile',\n },\n 'manage.paymentHistory.orderNumber': {\n id: 'manage.paymentHistory.orderNumber',\n defaultMessage: 'Order number:',\n description: 'Label for order number on payment history tile',\n },\n 'manage.paymentHistory.paymentMethod': {\n id: 'manage.paymentHistory.paymentMethod',\n defaultMessage: 'Paid with:',\n description: 'Label for the payment method (card or PayPal) on a payment history tile',\n },\n 'manage.paymentHistory.method.stripe': {\n id: 'manage.paymentHistory.method.stripe',\n defaultMessage: 'Card',\n description: 'Payment method value for an invoice billed through Stripe',\n },\n 'manage.paymentHistory.method.paypal': {\n id: 'manage.paymentHistory.method.paypal',\n defaultMessage: 'PayPal',\n description: 'Payment method value for an invoice billed through PayPal',\n },\n 'manage.paymentHistory.desc.trial': {\n id: 'manage.paymentHistory.desc.trial',\n defaultMessage: 'edX Plus Subscription — free trial',\n description: 'Description for a $0 trial invoice',\n },\n 'manage.paymentHistory.desc.paid': {\n id: 'manage.paymentHistory.desc.paid',\n defaultMessage: 'edX Plus Subscription',\n description: 'Description for a paid subscription invoice',\n },\n 'manage.paymentHistory.status.paid': {\n id: 'manage.paymentHistory.status.paid',\n defaultMessage: 'Paid',\n description: 'Invoice status label: PAID',\n },\n 'manage.paymentHistory.status.open': {\n id: 'manage.paymentHistory.status.open',\n defaultMessage: 'Open',\n description: 'Invoice status label: OPEN',\n },\n 'manage.paymentHistory.status.draft': {\n id: 'manage.paymentHistory.status.draft',\n defaultMessage: 'Draft',\n description: 'Invoice status label: DRAFT',\n },\n 'manage.help.prefix': {\n id: 'manage.help.prefix',\n defaultMessage: 'Need more help? Visit the',\n description: 'Prefix before Learner Help Center link',\n },\n 'manage.help.link': {\n id: 'manage.help.link',\n defaultMessage: 'Learner Help Center',\n description: 'Learner Help Center link text',\n },\n\n // Become a subscriber\n 'manage.none.heading': {\n id: 'manage.none.heading',\n defaultMessage: 'Become a subscriber',\n description: 'Section heading when user has no subscription',\n },\n 'manage.none.subheading': {\n id: 'manage.none.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading when user has no subscription',\n },\n 'manage.none.cardTitle': {\n id: 'manage.none.cardTitle',\n defaultMessage: 'Try edX Subscription for free',\n description: 'Upsell card title for non-subscribers',\n },\n 'manage.none.cardBody': {\n id: 'manage.none.cardBody',\n defaultMessage: 'Get access to hundreds of courses for ${price}/month {currency}',\n description: 'Upsell card body including monthly price',\n },\n 'manage.none.cardBodyNoPrice': {\n id: 'manage.none.cardBodyNoPrice',\n defaultMessage: 'Get access to hundreds of courses with edX subscription',\n description: 'Upsell card body when price is unavailable',\n },\n 'manage.none.subscribe': {\n id: 'manage.none.subscribe',\n defaultMessage: 'Subscribe',\n description: 'Primary subscribe CTA',\n },\n 'manage.none.learnMore': {\n id: 'manage.none.learnMore',\n defaultMessage: 'Learn about edX Subscription',\n description: 'Secondary learn-more link on upsell card',\n },\n\n // Active\n 'manage.active.heading': {\n id: 'manage.active.heading',\n defaultMessage: 'Manage your subscription',\n description: 'Section heading for active subscribers',\n },\n 'manage.active.since': {\n id: 'manage.active.since',\n defaultMessage: 'Subscriber since {date}.',\n description: 'Subscriber since date line',\n },\n 'manage.active.statusMonthly': {\n id: 'manage.active.statusMonthly',\n defaultMessage: 'Active, Monthly Plan',\n description: 'Active monthly plan status label',\n },\n 'manage.active.statusAnnual': {\n id: 'manage.active.statusAnnual',\n defaultMessage: 'Active, Annual Plan',\n description: 'Active annual plan status label',\n },\n 'manage.active.nextPayment': {\n id: 'manage.active.nextPayment',\n defaultMessage: 'Your next payment is {date}.',\n description: 'Next payment date line for active subscribers',\n },\n 'manage.active.changeAnnual': {\n id: 'manage.active.changeAnnual',\n defaultMessage: 'Change to annual and save',\n description: 'CTA to switch to annual billing',\n },\n 'manage.active.updatePayment': {\n id: 'manage.active.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'CTA to update payment method',\n },\n 'manage.updatePayment.title': {\n id: 'manage.updatePayment.title',\n defaultMessage: 'Update payment method.',\n description: 'Update payment method modal title',\n },\n 'manage.updatePayment.intro': {\n id: 'manage.updatePayment.intro',\n defaultMessage: 'By providing your card information, you allow edX to charge your card for future payments.',\n description: 'Update payment method modal intro copy',\n },\n 'manage.updatePayment.sectionTitle': {\n id: 'manage.updatePayment.sectionTitle',\n defaultMessage: 'Add new payment method',\n description: 'Heading above Stripe card fields',\n },\n 'manage.updatePayment.cardNumber': {\n id: 'manage.updatePayment.cardNumber',\n defaultMessage: 'Card number',\n description: 'Label for Stripe card number field',\n },\n 'manage.updatePayment.cvc': {\n id: 'manage.updatePayment.cvc',\n defaultMessage: 'Security code',\n description: 'Label for Stripe CVC field',\n },\n 'manage.updatePayment.expiry': {\n id: 'manage.updatePayment.expiry',\n defaultMessage: 'Expiration date',\n description: 'Label for Stripe expiry field',\n },\n 'manage.updatePayment.postal': {\n id: 'manage.updatePayment.postal',\n defaultMessage: 'Zip/Postal code',\n description: 'Label for postal code field',\n },\n 'manage.updatePayment.submit': {\n id: 'manage.updatePayment.submit',\n defaultMessage: 'Update card',\n description: 'Primary CTA to submit new payment method',\n },\n 'manage.updatePayment.submitting': {\n id: 'manage.updatePayment.submitting',\n defaultMessage: 'Updating…',\n description: 'Submit button label while update is in progress',\n },\n 'manage.updatePayment.close': {\n id: 'manage.updatePayment.close',\n defaultMessage: 'Close',\n description: 'Close button on update payment method modal',\n },\n 'manage.updatePayment.successTitle': {\n id: 'manage.updatePayment.successTitle',\n defaultMessage: 'Payment method updated.',\n description: 'Success modal title after payment method update',\n },\n 'manage.updatePayment.successBody': {\n id: 'manage.updatePayment.successBody',\n defaultMessage: 'Your new payment method will be applied on your next billing date, {date}.',\n description: 'Success modal body with next billing date',\n },\n 'manage.updatePayment.successBodyNoDate': {\n id: 'manage.updatePayment.successBodyNoDate',\n defaultMessage: 'Your new payment method will be applied on your next billing date.',\n description: 'Success modal body when next billing date is unknown',\n },\n 'manage.updatePayment.postalRequired': {\n id: 'manage.updatePayment.postalRequired',\n defaultMessage: 'Enter a zip/postal code.',\n description: 'Validation error when postal code is empty',\n },\n 'manage.updatePayment.error': {\n id: 'manage.updatePayment.error',\n defaultMessage: 'We could not update your payment method. Please try again.',\n description: 'Generic error when payment method update fails',\n },\n 'manage.updatePayment.invalidCard': {\n id: 'manage.updatePayment.invalidCard',\n defaultMessage: 'This card is not valid. Please try a different card.',\n description: 'Shown when the backend rejects the card during validation',\n },\n 'manage.updatePayment.stripeMissing': {\n id: 'manage.updatePayment.stripeMissing',\n defaultMessage: 'Payment updates are temporarily unavailable. Please try again later.',\n description: 'Shown when Stripe publishable key is not configured',\n },\n 'manage.active.cancelPrompt': {\n id: 'manage.active.cancelPrompt',\n defaultMessage: 'Need a break?',\n description: 'Prompt before cancel subscription link',\n },\n 'manage.active.cancelLink': {\n id: 'manage.active.cancelLink',\n defaultMessage: 'Cancel subscription',\n description: 'Cancel subscription link text',\n },\n\n // Canceled with access / renew banner\n 'manage.canceled.bannerTitle': {\n id: 'manage.canceled.bannerTitle',\n defaultMessage: 'Renew your subscription before it expires.',\n description: 'Expiring subscription banner title',\n },\n 'manage.canceled.bannerBody': {\n id: 'manage.canceled.bannerBody',\n defaultMessage: 'Your subscription is set to expire on {date} and you will have limited access to edX. Renew your subscription to keep your learning flexible.',\n description: 'Expiring subscription banner body',\n },\n 'manage.canceled.statusMonthly': {\n id: 'manage.canceled.statusMonthly',\n defaultMessage: 'Cancelled, Monthly plan',\n description: 'Cancelled monthly plan status label',\n },\n 'manage.canceled.statusAnnual': {\n id: 'manage.canceled.statusAnnual',\n defaultMessage: 'Cancelled, Annual plan',\n description: 'Cancelled annual plan status label',\n },\n 'manage.canceled.noPayments': {\n id: 'manage.canceled.noPayments',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription on {date}.',\n description: 'Cancelled status card body with cancel date',\n },\n 'manage.canceled.noPaymentsNoDate': {\n id: 'manage.canceled.noPaymentsNoDate',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription.',\n description: 'Cancelled status card body without cancel date',\n },\n 'manage.canceled.renew': {\n id: 'manage.canceled.renew',\n defaultMessage: 'Renew subscription',\n description: 'Renew subscription CTA',\n },\n 'manage.canceled.renewing': {\n id: 'manage.canceled.renewing',\n defaultMessage: 'Renewing…',\n description: 'Renew button label while reactivation mutation is in progress',\n },\n 'manage.canceled.renewError': {\n id: 'manage.canceled.renewError',\n defaultMessage: 'We could not renew your subscription. Please try again.',\n description: 'Error when reactivate mutation fails',\n },\n\n // Renew confirmation modal\n 'manage.renewModal.title': {\n id: 'manage.renewModal.title',\n defaultMessage: 'Renew your edX Plus subscription for ${price}/{frequency}',\n description: 'Renew modal title with price',\n },\n 'manage.renewModal.titleNoPrice': {\n id: 'manage.renewModal.titleNoPrice',\n defaultMessage: 'Renew your edX Plus subscription',\n description: 'Renew modal title when price is unavailable',\n },\n 'manage.renewModal.body': {\n id: 'manage.renewModal.body',\n defaultMessage: 'Your subscription will renew on {date} for ${price}/{frequency} {currency} (inclusive of applicable taxes). Cancel your subscription anytime from your dashboard. By clicking “Confirm subscription” you agree to our {termsLink}, and {refundLink}.',\n description: 'Renew modal body with terms links',\n },\n 'manage.renewModal.termsOfUse': {\n id: 'manage.renewModal.termsOfUse',\n defaultMessage: 'Terms of Use',\n description: 'Terms of Use link text in renew modal',\n },\n 'manage.renewModal.refundPolicy': {\n id: 'manage.renewModal.refundPolicy',\n defaultMessage: 'Refund Policy',\n description: 'Refund Policy link text in renew modal',\n },\n 'manage.renewModal.paymentMethod': {\n id: 'manage.renewModal.paymentMethod',\n defaultMessage: 'Payment Method',\n description: 'Payment method section heading in renew modal',\n },\n 'manage.renewModal.card': {\n id: 'manage.renewModal.card',\n defaultMessage: 'Card',\n description: 'Card payment method label in renew modal',\n },\n 'manage.renewModal.updatePayment': {\n id: 'manage.renewModal.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'Update payment method button in renew modal',\n },\n 'manage.renewModal.recurringConfirm': {\n id: 'manage.renewModal.recurringConfirm',\n defaultMessage: 'I agree to enroll in a recurring {cycle} subscription for ${price}/{frequency} {currency}.',\n description: 'Recurring subscription consent checkbox',\n },\n 'manage.renewModal.ukCaConfirm': {\n id: 'manage.renewModal.ukCaConfirm',\n defaultMessage: 'Second checkbox only for UK and CA residents',\n description: 'Extra consent checkbox for UK and CA residents',\n },\n 'manage.renewModal.confirm': {\n id: 'manage.renewModal.confirm',\n defaultMessage: 'Confirm subscription',\n description: 'Confirm renew / reactivate button',\n },\n\n // Canceled expired / resubscribe\n 'manage.expired.heading': {\n id: 'manage.expired.heading',\n defaultMessage: 'Pick up where you left off',\n description: 'Section heading for expired / canceled without access (placeholder until final copy lands)',\n },\n 'manage.expired.subheading': {\n id: 'manage.expired.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading for expired subscription state',\n },\n 'manage.expired.resubscribeTitle': {\n id: 'manage.expired.resubscribeTitle',\n defaultMessage: 'Resubscribe for ${price}/month {currency}',\n description: 'Resubscribe card title with price',\n },\n 'manage.expired.resubscribeTitleNoPrice': {\n id: 'manage.expired.resubscribeTitleNoPrice',\n defaultMessage: 'Resubscribe to edX Subscription',\n description: 'Resubscribe card title when price is unavailable',\n },\n 'manage.expired.canceledOn': {\n id: 'manage.expired.canceledOn',\n defaultMessage: 'You cancelled your subscription on {date}.',\n description: 'Resubscribe card cancelled-on line',\n },\n 'manage.expired.canceledOnNoDate': {\n id: 'manage.expired.canceledOnNoDate',\n defaultMessage: 'You cancelled your subscription.',\n description: 'Resubscribe card when cancel date is unknown',\n },\n\n // Cancel confirmation\n 'manage.cancel.title': {\n id: 'manage.cancel.title',\n defaultMessage: 'Are you sure you want to cancel?',\n description: 'Cancel confirmation page title',\n },\n 'manage.cancel.body': {\n id: 'manage.cancel.body',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires on {date}. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body with period end date',\n },\n 'manage.cancel.bodyNoDate': {\n id: 'manage.cancel.bodyNoDate',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body without period end date',\n },\n 'manage.cancel.coursesHeading': {\n id: 'manage.cancel.coursesHeading',\n defaultMessage: 'Courses you are enrolled in ({count})',\n description: 'Heading for enrolled courses list on cancel confirmation',\n },\n 'manage.cancel.keep': {\n id: 'manage.cancel.keep',\n defaultMessage: 'No, keep my subscription',\n description: 'Secondary button to abort cancellation',\n },\n 'manage.cancel.confirm': {\n id: 'manage.cancel.confirm',\n defaultMessage: 'Yes, cancel subscription',\n description: 'Primary button to confirm cancellation',\n },\n 'manage.cancel.confirming': {\n id: 'manage.cancel.confirming',\n defaultMessage: 'Cancelling…',\n description: 'Cancel button label while mutation is in progress',\n },\n 'manage.cancel.error': {\n id: 'manage.cancel.error',\n defaultMessage: 'We could not cancel your subscription. Please try again.',\n description: 'Error when cancel mutation fails',\n },\n 'manage.cancel.viewCertificate': {\n id: 'manage.cancel.viewCertificate',\n defaultMessage: 'View certificate',\n description: 'View certificate button on enrolled course row',\n },\n\n // Cancel success\n 'manage.cancelSuccess.title': {\n id: 'manage.cancelSuccess.title',\n defaultMessage: 'Thank you for learning with us on edX. Your subscription is cancelled.',\n description: 'Cancel success page title',\n },\n 'manage.cancelSuccess.body': {\n id: 'manage.cancelSuccess.body',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged after {date}. You will receive a confirmation email shortly.',\n description: 'Cancel success body with last charge / access date',\n },\n 'manage.cancelSuccess.bodyNoDate': {\n id: 'manage.cancelSuccess.bodyNoDate',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged. You will receive a confirmation email shortly.',\n description: 'Cancel success body without date',\n },\n 'manage.cancelSuccess.return': {\n id: 'manage.cancelSuccess.return',\n defaultMessage: 'Return to Dashboard',\n description: 'Return to dashboard CTA after cancel success',\n },\n});\n\nexport default messages;\n"]}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/components/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,0BAA0B,EAAE;QAC1B,EAAE,EAAE,0BAA0B;QAC9B,cAAc,EAAE,4BAA4B;QAC5C,WAAW,EAAE,2CAA2C;KACzD;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,uBAAuB;QAC3B,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,0CAA0C;KACxD;IACD,qBAAqB,EAAE;QACrB,EAAE,EAAE,qBAAqB;QACzB,cAAc,EAAE,8DAA8D;QAC9E,WAAW,EAAE,2CAA2C;KACzD;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,sDAAsD;KACpE;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,uDAAuD;QACvE,WAAW,EAAE,mCAAmC;KACjD;IACD,sCAAsC,EAAE;QACtC,EAAE,EAAE,sCAAsC;QAC1C,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,uCAAuC;KACrD;IACD,0CAA0C,EAAE;QAC1C,EAAE,EAAE,0CAA0C;QAC9C,cAAc,EAAE,oCAAoC;QACpD,WAAW,EAAE,0CAA0C;KACxD;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,8CAA8C;KAC5D;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,iEAAiE;QACjF,WAAW,EAAE,sCAAsC;KACpD;IACD,6CAA6C,EAAE;QAC7C,EAAE,EAAE,6CAA6C;QACjD,cAAc,EAAE,iDAAiD;QACjE,WAAW,EAAE,2DAA2D;KACzE;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,4CAA4C;KAC1D;IACD,6CAA6C,EAAE;QAC7C,EAAE,EAAE,6CAA6C;QACjD,cAAc,EAAE,mBAAmB;QACnC,WAAW,EAAE,wDAAwD;KACtE;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,iDAAiD;KAC/D;IACD,0CAA0C,EAAE;QAC1C,EAAE,EAAE,0CAA0C;QAC9C,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,gDAAgD;KAC9D;IACD,4CAA4C,EAAE;QAC5C,EAAE,EAAE,4CAA4C;QAChD,cAAc,EAAE,YAAY;QAC5B,WAAW,EAAE,yEAAyE;KACvF;IACD,qCAAqC,EAAE;QACrC,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,2DAA2D;KACzE;IACD,qCAAqC,EAAE;QACrC,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,2DAA2D;KACzE;IACD,yCAAyC,EAAE;QACzC,EAAE,EAAE,yCAAyC;QAC7C,cAAc,EAAE,oCAAoC;QACpD,WAAW,EAAE,oCAAoC;KAClD;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,6CAA6C;KAC3D;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,4BAA4B;KAC1C;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,4BAA4B;KAC1C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,6BAA6B;KAC3C;IACD,2BAA2B,EAAE;QAC3B,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,2BAA2B;QAC3C,WAAW,EAAE,wCAAwC;KACtD;IACD,yBAAyB,EAAE;QACzB,EAAE,EAAE,yBAAyB;QAC7B,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,+BAA+B;KAC7C;IAED,sBAAsB;IACtB,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,+CAA+C;KAC7D;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,yCAAyC;QACzD,WAAW,EAAE,kDAAkD;KAChE;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,+BAA+B;QAC/C,WAAW,EAAE,uCAAuC;KACrD;IACD,6BAA6B,EAAE;QAC7B,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,iEAAiE;QACjF,WAAW,EAAE,0CAA0C;KACxD;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,yDAAyD;QACzE,WAAW,EAAE,4CAA4C;KAC1D;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,uBAAuB;KACrC;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,8BAA8B;QAC9C,WAAW,EAAE,0CAA0C;KACxD;IAED,SAAS;IACT,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,0BAA0B;QAC1C,WAAW,EAAE,wCAAwC;KACtD;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,0BAA0B;QAC1C,WAAW,EAAE,4BAA4B;KAC1C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,sBAAsB;QACtC,WAAW,EAAE,kCAAkC;KAChD;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,iCAAiC;KAC/C;IACD,kCAAkC,EAAE;QAClC,EAAE,EAAE,kCAAkC;QACtC,cAAc,EAAE,8BAA8B;QAC9C,WAAW,EAAE,+CAA+C;KAC7D;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,2BAA2B;QAC3C,WAAW,EAAE,iCAAiC;KAC/C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,8BAA8B;KAC5C;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE,mCAAmC;KACjD;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,4FAA4F;QAC5G,WAAW,EAAE,wCAAwC;KACtD;IACD,0CAA0C,EAAE;QAC1C,EAAE,EAAE,0CAA0C;QAC9C,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE,kCAAkC;KAChD;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,oCAAoC;KAClD;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,4BAA4B;KAC1C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,+BAA+B;KAC7C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,6BAA6B;KAC3C;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,0CAA0C;KACxD;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,iDAAiD;KAC/D;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,6CAA6C;KAC3D;IACD,0CAA0C,EAAE;QAC1C,EAAE,EAAE,0CAA0C;QAC9C,cAAc,EAAE,yBAAyB;QACzC,WAAW,EAAE,iDAAiD;KAC/D;IACD,yCAAyC,EAAE;QACzC,EAAE,EAAE,yCAAyC;QAC7C,cAAc,EAAE,4EAA4E;QAC5F,WAAW,EAAE,2CAA2C;KACzD;IACD,+CAA+C,EAAE;QAC/C,EAAE,EAAE,+CAA+C;QACnD,cAAc,EAAE,oEAAoE;QACpF,WAAW,EAAE,sDAAsD;KACpE;IACD,4CAA4C,EAAE;QAC5C,EAAE,EAAE,4CAA4C;QAChD,cAAc,EAAE,0BAA0B;QAC1C,WAAW,EAAE,4CAA4C;KAC1D;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,4DAA4D;QAC5E,WAAW,EAAE,gDAAgD;KAC9D;IACD,yCAAyC,EAAE;QACzC,EAAE,EAAE,yCAAyC;QAC7C,cAAc,EAAE,sDAAsD;QACtE,WAAW,EAAE,2DAA2D;KACzE;IACD,2CAA2C,EAAE;QAC3C,EAAE,EAAE,2CAA2C;QAC/C,cAAc,EAAE,sEAAsE;QACtF,WAAW,EAAE,qDAAqD;KACnE;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,wCAAwC;KACtD;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,+BAA+B;KAC7C;IAED,sCAAsC;IACtC,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,4CAA4C;QAC5D,WAAW,EAAE,oCAAoC;KAClD;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,+IAA+I;QAC/J,WAAW,EAAE,mCAAmC;KACjD;IACD,sCAAsC,EAAE;QACtC,EAAE,EAAE,sCAAsC;QAC1C,cAAc,EAAE,yBAAyB;QACzC,WAAW,EAAE,qCAAqC;KACnD;IACD,qCAAqC,EAAE;QACrC,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,wBAAwB;QACxC,WAAW,EAAE,oCAAoC;KAClD;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,2EAA2E;QAC3F,WAAW,EAAE,6CAA6C;KAC3D;IACD,yCAAyC,EAAE;QACzC,EAAE,EAAE,yCAAyC;QAC7C,cAAc,EAAE,iEAAiE;QACjF,WAAW,EAAE,gDAAgD;KAC9D;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,oBAAoB;QACpC,WAAW,EAAE,wBAAwB;KACtC;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,+DAA+D;KAC7E;IACD,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,yDAAyD;QACzE,WAAW,EAAE,sCAAsC;KACpD;IAED,2BAA2B;IAC3B,gCAAgC,EAAE;QAChC,EAAE,EAAE,gCAAgC;QACpC,cAAc,EAAE,2DAA2D;QAC3E,WAAW,EAAE,8BAA8B;KAC5C;IACD,uCAAuC,EAAE;QACvC,EAAE,EAAE,uCAAuC;QAC3C,cAAc,EAAE,kCAAkC;QAClD,WAAW,EAAE,6CAA6C;KAC3D;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,sPAAsP;QACtQ,WAAW,EAAE,mCAAmC;KACjD;IACD,qCAAqC,EAAE;QACrC,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,uCAAuC;KACrD;IACD,uCAAuC,EAAE;QACvC,EAAE,EAAE,uCAAuC;QAC3C,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,wCAAwC;KACtD;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,gBAAgB;QAChC,WAAW,EAAE,+CAA+C;KAC7D;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,0CAA0C;KACxD;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,6CAA6C;KAC3D;IACD,2CAA2C,EAAE;QAC3C,EAAE,EAAE,2CAA2C;QAC/C,cAAc,EAAE,4FAA4F;QAC5G,WAAW,EAAE,yCAAyC;KACvD;IACD,sCAAsC,EAAE;QACtC,EAAE,EAAE,sCAAsC;QAC1C,cAAc,EAAE,8CAA8C;QAC9D,WAAW,EAAE,gDAAgD;KAC9D;IACD,kCAAkC,EAAE;QAClC,EAAE,EAAE,kCAAkC;QACtC,cAAc,EAAE,sBAAsB;QACtC,WAAW,EAAE,mCAAmC;KACjD;IAED,iCAAiC;IACjC,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,4BAA4B;QAC5C,WAAW,EAAE,4FAA4F;KAC1G;IACD,kCAAkC,EAAE;QAClC,EAAE,EAAE,kCAAkC;QACtC,cAAc,EAAE,yCAAyC;QACzD,WAAW,EAAE,mDAAmD;KACjE;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,2CAA2C;QAC3D,WAAW,EAAE,mCAAmC;KACjD;IACD,+CAA+C,EAAE;QAC/C,EAAE,EAAE,+CAA+C;QACnD,cAAc,EAAE,iCAAiC;QACjD,WAAW,EAAE,kDAAkD;KAChE;IACD,kCAAkC,EAAE;QAClC,EAAE,EAAE,kCAAkC;QACtC,cAAc,EAAE,4CAA4C;QAC5D,WAAW,EAAE,oCAAoC;KAClD;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,kCAAkC;QAClD,WAAW,EAAE,8CAA8C;KAC5D;IAED,sBAAsB;IACtB,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,kCAAkC;QAClD,WAAW,EAAE,gCAAgC;KAC9C;IACD,2BAA2B,EAAE;QAC3B,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,6LAA6L;QAC7M,WAAW,EAAE,+CAA+C;KAC7D;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,mLAAmL;QACnM,WAAW,EAAE,kDAAkD;KAChE;IACD,qCAAqC,EAAE;QACrC,EAAE,EAAE,qCAAqC;QACzC,cAAc,EAAE,uCAAuC;QACvD,WAAW,EAAE,0DAA0D;KACxE;IACD,2BAA2B,EAAE;QAC3B,EAAE,EAAE,2BAA2B;QAC/B,cAAc,EAAE,0BAA0B;QAC1C,WAAW,EAAE,wCAAwC;KACtD;IACD,8BAA8B,EAAE;QAC9B,EAAE,EAAE,8BAA8B;QAClC,cAAc,EAAE,0BAA0B;QAC1C,WAAW,EAAE,wCAAwC;KACtD;IACD,iCAAiC,EAAE;QACjC,EAAE,EAAE,iCAAiC;QACrC,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,mDAAmD;KACjE;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,0DAA0D;QAC1E,WAAW,EAAE,kCAAkC;KAChD;IACD,sCAAsC,EAAE;QACtC,EAAE,EAAE,sCAAsC;QAC1C,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,gDAAgD;KAC9D;IAED,iBAAiB;IACjB,mCAAmC,EAAE;QACnC,EAAE,EAAE,mCAAmC;QACvC,cAAc,EAAE,wEAAwE;QACxF,WAAW,EAAE,2BAA2B;KACzC;IACD,kCAAkC,EAAE;QAClC,EAAE,EAAE,kCAAkC;QACtC,cAAc,EAAE,8IAA8I;QAC9J,WAAW,EAAE,oDAAoD;KAClE;IACD,wCAAwC,EAAE;QACxC,EAAE,EAAE,wCAAwC;QAC5C,cAAc,EAAE,iIAAiI;QACjJ,WAAW,EAAE,kCAAkC;KAChD;IACD,oCAAoC,EAAE;QACpC,EAAE,EAAE,oCAAoC;QACxC,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,8CAA8C;KAC5D;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'order-history.page.title': {\n id: 'order-history.page.title',\n defaultMessage: 'Order History | {siteName}',\n description: 'Document title for the order history page',\n },\n 'order-history.loading': {\n id: 'order-history.loading',\n defaultMessage: 'Loading subscription…',\n description: 'Loading state for the order history page',\n },\n 'order-history.error': {\n id: 'order-history.error',\n defaultMessage: 'We could not load your subscription. Please try again later.',\n description: 'Error alert when subscription fetch fails',\n },\n 'order-history.header.title': {\n id: 'order-history.header.title',\n defaultMessage: 'Order History',\n description: 'Page heading for order history / manage subscription',\n },\n 'order-history.header.subtitle': {\n id: 'order-history.header.subtitle',\n defaultMessage: 'View previous purchases and manage your subscription.',\n description: 'Page subtitle under Order History',\n },\n 'order-history.paymentHistory.heading': {\n id: 'order-history.paymentHistory.heading',\n defaultMessage: 'Subscription payments',\n description: 'Heading for the payment history panel',\n },\n 'order-history.paymentHistory.nextPayment': {\n id: 'order-history.paymentHistory.nextPayment',\n defaultMessage: 'Next payment scheduled for {date}.',\n description: 'Next payment line above the invoice list',\n },\n 'order-history.paymentHistory.empty': {\n id: 'order-history.paymentHistory.empty',\n defaultMessage: 'No payments yet.',\n description: 'Empty state when the learner has no invoices',\n },\n 'order-history.paymentHistory.error': {\n id: 'order-history.paymentHistory.error',\n defaultMessage: 'We could not load your payment history. Please try again later.',\n description: 'Error alert when invoice fetch fails',\n },\n 'order-history.paymentHistory.noSubscription': {\n id: 'order-history.paymentHistory.noSubscription',\n defaultMessage: 'Your subscription payments will be logged here.',\n description: 'Shown when there is no subscriptionBiId to query invoices',\n },\n 'order-history.paymentHistory.tileTitle': {\n id: 'order-history.paymentHistory.tileTitle',\n defaultMessage: 'edX Plus Subscription',\n description: 'Title on each payment history invoice tile',\n },\n 'order-history.paymentHistory.startOfService': {\n id: 'order-history.paymentHistory.startOfService',\n defaultMessage: 'Start of service:',\n description: 'Label for invoice period start on payment history tile',\n },\n 'order-history.paymentHistory.totalCost': {\n id: 'order-history.paymentHistory.totalCost',\n defaultMessage: 'Total cost:',\n description: 'Label for invoice total on payment history tile',\n },\n 'order-history.paymentHistory.orderNumber': {\n id: 'order-history.paymentHistory.orderNumber',\n defaultMessage: 'Order number:',\n description: 'Label for order number on payment history tile',\n },\n 'order-history.paymentHistory.paymentMethod': {\n id: 'order-history.paymentHistory.paymentMethod',\n defaultMessage: 'Paid with:',\n description: 'Label for the payment method (card or PayPal) on a payment history tile',\n },\n 'manage.paymentHistory.method.stripe': {\n id: 'manage.paymentHistory.method.stripe',\n defaultMessage: 'Card',\n description: 'Payment method value for an invoice billed through Stripe',\n },\n 'manage.paymentHistory.method.paypal': {\n id: 'manage.paymentHistory.method.paypal',\n defaultMessage: 'PayPal',\n description: 'Payment method value for an invoice billed through PayPal',\n },\n 'order-history.paymentHistory.desc.trial': {\n id: 'order-history.paymentHistory.desc.trial',\n defaultMessage: 'edX Plus Subscription — free trial',\n description: 'Description for a $0 trial invoice',\n },\n 'manage.paymentHistory.desc.paid': {\n id: 'manage.paymentHistory.desc.paid',\n defaultMessage: 'edX Plus Subscription',\n description: 'Description for a paid subscription invoice',\n },\n 'manage.paymentHistory.status.paid': {\n id: 'manage.paymentHistory.status.paid',\n defaultMessage: 'Paid',\n description: 'Invoice status label: PAID',\n },\n 'manage.paymentHistory.status.open': {\n id: 'manage.paymentHistory.status.open',\n defaultMessage: 'Open',\n description: 'Invoice status label: OPEN',\n },\n 'manage.paymentHistory.status.draft': {\n id: 'manage.paymentHistory.status.draft',\n defaultMessage: 'Draft',\n description: 'Invoice status label: DRAFT',\n },\n 'order-history.help.prefix': {\n id: 'order-history.help.prefix',\n defaultMessage: 'Need more help? Visit the',\n description: 'Prefix before Learner Help Center link',\n },\n 'order-history.help.link': {\n id: 'order-history.help.link',\n defaultMessage: 'Learner Help Center',\n description: 'Learner Help Center link text',\n },\n\n // Become a subscriber\n 'order-history.none.heading': {\n id: 'order-history.none.heading',\n defaultMessage: 'Become a subscriber',\n description: 'Section heading when user has no subscription',\n },\n 'order-history.none.subheading': {\n id: 'order-history.none.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading when user has no subscription',\n },\n 'order-history.none.cardTitle': {\n id: 'order-history.none.cardTitle',\n defaultMessage: 'Try edX Subscription for free',\n description: 'Upsell card title for non-subscribers',\n },\n 'order-history.none.cardBody': {\n id: 'order-history.none.cardBody',\n defaultMessage: 'Get access to hundreds of courses for ${price}/month {currency}',\n description: 'Upsell card body including monthly price',\n },\n 'order-history.none.cardBodyNoPrice': {\n id: 'order-history.none.cardBodyNoPrice',\n defaultMessage: 'Get access to hundreds of courses with edX subscription',\n description: 'Upsell card body when price is unavailable',\n },\n 'order-history.none.subscribe': {\n id: 'order-history.none.subscribe',\n defaultMessage: 'Subscribe',\n description: 'Primary subscribe CTA',\n },\n 'order-history.none.learnMore': {\n id: 'order-history.none.learnMore',\n defaultMessage: 'Learn about edX Subscription',\n description: 'Secondary learn-more link on upsell card',\n },\n\n // Active\n 'order-history.active.heading': {\n id: 'order-history.active.heading',\n defaultMessage: 'Manage your subscription',\n description: 'Section heading for active subscribers',\n },\n 'order-history.active.since': {\n id: 'order-history.active.since',\n defaultMessage: 'Subscriber since {date}.',\n description: 'Subscriber since date line',\n },\n 'order-history.active.statusMonthly': {\n id: 'order-history.active.statusMonthly',\n defaultMessage: 'Active, Monthly Plan',\n description: 'Active monthly plan status label',\n },\n 'order-history.active.statusAnnual': {\n id: 'order-history.active.statusAnnual',\n defaultMessage: 'Active, Annual Plan',\n description: 'Active annual plan status label',\n },\n 'order-history.active.nextPayment': {\n id: 'order-history.active.nextPayment',\n defaultMessage: 'Your next payment is {date}.',\n description: 'Next payment date line for active subscribers',\n },\n 'manage.active.changeAnnual': {\n id: 'manage.active.changeAnnual',\n defaultMessage: 'Change to annual and save',\n description: 'CTA to switch to annual billing',\n },\n 'order-history.active.updatePayment': {\n id: 'order-history.active.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'CTA to update payment method',\n },\n 'order-history.updatePayment.title': {\n id: 'order-history.updatePayment.title',\n defaultMessage: 'Update payment method.',\n description: 'Update payment method modal title',\n },\n 'order-history.updatePayment.intro': {\n id: 'order-history.updatePayment.intro',\n defaultMessage: 'By providing your card information, you allow edX to charge your card for future payments.',\n description: 'Update payment method modal intro copy',\n },\n 'order-history.updatePayment.sectionTitle': {\n id: 'order-history.updatePayment.sectionTitle',\n defaultMessage: 'Add new payment method',\n description: 'Heading above Stripe card fields',\n },\n 'order-history.updatePayment.cardNumber': {\n id: 'order-history.updatePayment.cardNumber',\n defaultMessage: 'Card number',\n description: 'Label for Stripe card number field',\n },\n 'order-history.updatePayment.cvc': {\n id: 'order-history.updatePayment.cvc',\n defaultMessage: 'Security code',\n description: 'Label for Stripe CVC field',\n },\n 'order-history.updatePayment.expiry': {\n id: 'order-history.updatePayment.expiry',\n defaultMessage: 'Expiration date',\n description: 'Label for Stripe expiry field',\n },\n 'order-history.updatePayment.postal': {\n id: 'order-history.updatePayment.postal',\n defaultMessage: 'Zip/Postal code',\n description: 'Label for postal code field',\n },\n 'order-history.updatePayment.submit': {\n id: 'order-history.updatePayment.submit',\n defaultMessage: 'Update card',\n description: 'Primary CTA to submit new payment method',\n },\n 'order-history.updatePayment.submitting': {\n id: 'order-history.updatePayment.submitting',\n defaultMessage: 'Updating…',\n description: 'Submit button label while update is in progress',\n },\n 'order-history.updatePayment.close': {\n id: 'order-history.updatePayment.close',\n defaultMessage: 'Close',\n description: 'Close button on update payment method modal',\n },\n 'order-history.updatePayment.successTitle': {\n id: 'order-history.updatePayment.successTitle',\n defaultMessage: 'Payment method updated.',\n description: 'Success modal title after payment method update',\n },\n 'order-history.updatePayment.successBody': {\n id: 'order-history.updatePayment.successBody',\n defaultMessage: 'Your new payment method will be applied on your next billing date, {date}.',\n description: 'Success modal body with next billing date',\n },\n 'order-history.updatePayment.successBodyNoDate': {\n id: 'order-history.updatePayment.successBodyNoDate',\n defaultMessage: 'Your new payment method will be applied on your next billing date.',\n description: 'Success modal body when next billing date is unknown',\n },\n 'order-history.updatePayment.postalRequired': {\n id: 'order-history.updatePayment.postalRequired',\n defaultMessage: 'Enter a zip/postal code.',\n description: 'Validation error when postal code is empty',\n },\n 'order-history.updatePayment.error': {\n id: 'order-history.updatePayment.error',\n defaultMessage: 'We could not update your payment method. Please try again.',\n description: 'Generic error when payment method update fails',\n },\n 'order-history.updatePayment.invalidCard': {\n id: 'order-history.updatePayment.invalidCard',\n defaultMessage: 'This card is not valid. Please try a different card.',\n description: 'Shown when the backend rejects the card during validation',\n },\n 'order-history.updatePayment.stripeMissing': {\n id: 'order-history.updatePayment.stripeMissing',\n defaultMessage: 'Payment updates are temporarily unavailable. Please try again later.',\n description: 'Shown when Stripe publishable key is not configured',\n },\n 'order-history.active.cancelPrompt': {\n id: 'order-history.active.cancelPrompt',\n defaultMessage: 'Need a break?',\n description: 'Prompt before cancel subscription link',\n },\n 'order-history.active.cancelLink': {\n id: 'order-history.active.cancelLink',\n defaultMessage: 'Cancel subscription',\n description: 'Cancel subscription link text',\n },\n\n // Canceled with access / renew banner\n 'order-history.canceled.bannerTitle': {\n id: 'order-history.canceled.bannerTitle',\n defaultMessage: 'Renew your subscription before it expires.',\n description: 'Expiring subscription banner title',\n },\n 'order-history.canceled.bannerBody': {\n id: 'order-history.canceled.bannerBody',\n defaultMessage: 'Your subscription is set to expire on {date} and you will have limited access to edX. Renew your subscription to keep your learning flexible.',\n description: 'Expiring subscription banner body',\n },\n 'order-history.canceled.statusMonthly': {\n id: 'order-history.canceled.statusMonthly',\n defaultMessage: 'Cancelled, Monthly plan',\n description: 'Cancelled monthly plan status label',\n },\n 'order-history.canceled.statusAnnual': {\n id: 'order-history.canceled.statusAnnual',\n defaultMessage: 'Cancelled, Annual plan',\n description: 'Cancelled annual plan status label',\n },\n 'order-history.canceled.noPayments': {\n id: 'order-history.canceled.noPayments',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription on {date}.',\n description: 'Cancelled status card body with cancel date',\n },\n 'order-history.canceled.noPaymentsNoDate': {\n id: 'order-history.canceled.noPaymentsNoDate',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription.',\n description: 'Cancelled status card body without cancel date',\n },\n 'order-history.canceled.renew': {\n id: 'order-history.canceled.renew',\n defaultMessage: 'Renew subscription',\n description: 'Renew subscription CTA',\n },\n 'order-history.canceled.renewing': {\n id: 'order-history.canceled.renewing',\n defaultMessage: 'Renewing…',\n description: 'Renew button label while reactivation mutation is in progress',\n },\n 'order-history.canceled.renewError': {\n id: 'order-history.canceled.renewError',\n defaultMessage: 'We could not renew your subscription. Please try again.',\n description: 'Error when reactivate mutation fails',\n },\n\n // Renew confirmation modal\n 'order-history.renewModal.title': {\n id: 'order-history.renewModal.title',\n defaultMessage: 'Renew your edX Plus subscription for ${price}/{frequency}',\n description: 'Renew modal title with price',\n },\n 'order-history.renewModal.titleNoPrice': {\n id: 'order-history.renewModal.titleNoPrice',\n defaultMessage: 'Renew your edX Plus subscription',\n description: 'Renew modal title when price is unavailable',\n },\n 'order-history.renewModal.body': {\n id: 'order-history.renewModal.body',\n defaultMessage: 'Your subscription will renew on {date} for ${price}/{frequency} {currency} (inclusive of applicable taxes). Cancel your subscription anytime from your dashboard. By clicking “Confirm subscription” you agree to our {termsLink}, and {refundLink}.',\n description: 'Renew modal body with terms links',\n },\n 'order-history.renewModal.termsOfUse': {\n id: 'order-history.renewModal.termsOfUse',\n defaultMessage: 'Terms of Use',\n description: 'Terms of Use link text in renew modal',\n },\n 'order-history.renewModal.refundPolicy': {\n id: 'order-history.renewModal.refundPolicy',\n defaultMessage: 'Refund Policy',\n description: 'Refund Policy link text in renew modal',\n },\n 'order-history.renewModal.paymentMethod': {\n id: 'order-history.renewModal.paymentMethod',\n defaultMessage: 'Payment Method',\n description: 'Payment method section heading in renew modal',\n },\n 'order-history.renewModal.card': {\n id: 'order-history.renewModal.card',\n defaultMessage: 'Card',\n description: 'Card payment method label in renew modal',\n },\n 'order-history.renewModal.updatePayment': {\n id: 'order-history.renewModal.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'Update payment method button in renew modal',\n },\n 'order-history.renewModal.recurringConfirm': {\n id: 'order-history.renewModal.recurringConfirm',\n defaultMessage: 'I agree to enroll in a recurring {cycle} subscription for ${price}/{frequency} {currency}.',\n description: 'Recurring subscription consent checkbox',\n },\n 'order-history.renewModal.ukCaConfirm': {\n id: 'order-history.renewModal.ukCaConfirm',\n defaultMessage: 'Second checkbox only for UK and CA residents',\n description: 'Extra consent checkbox for UK and CA residents',\n },\n 'order-history.renewModal.confirm': {\n id: 'order-history.renewModal.confirm',\n defaultMessage: 'Confirm subscription',\n description: 'Confirm renew / reactivate button',\n },\n\n // Canceled expired / resubscribe\n 'order-history.expired.heading': {\n id: 'order-history.expired.heading',\n defaultMessage: 'Pick up where you left off',\n description: 'Section heading for expired / canceled without access (placeholder until final copy lands)',\n },\n 'order-history.expired.subheading': {\n id: 'order-history.expired.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading for expired subscription state',\n },\n 'order-history.expired.resubscribeTitle': {\n id: 'order-history.expired.resubscribeTitle',\n defaultMessage: 'Resubscribe for ${price}/month {currency}',\n description: 'Resubscribe card title with price',\n },\n 'order-history.expired.resubscribeTitleNoPrice': {\n id: 'order-history.expired.resubscribeTitleNoPrice',\n defaultMessage: 'Resubscribe to edX Subscription',\n description: 'Resubscribe card title when price is unavailable',\n },\n 'order-history.expired.canceledOn': {\n id: 'order-history.expired.canceledOn',\n defaultMessage: 'You cancelled your subscription on {date}.',\n description: 'Resubscribe card cancelled-on line',\n },\n 'order-history.expired.canceledOnNoDate': {\n id: 'order-history.expired.canceledOnNoDate',\n defaultMessage: 'You cancelled your subscription.',\n description: 'Resubscribe card when cancel date is unknown',\n },\n\n // Cancel confirmation\n 'order-history.cancel.title': {\n id: 'order-history.cancel.title',\n defaultMessage: 'Are you sure you want to cancel?',\n description: 'Cancel confirmation page title',\n },\n 'order-history.cancel.body': {\n id: 'order-history.cancel.body',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires on {date}. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body with period end date',\n },\n 'order-history.cancel.bodyNoDate': {\n id: 'order-history.cancel.bodyNoDate',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body without period end date',\n },\n 'order-history.cancel.coursesHeading': {\n id: 'order-history.cancel.coursesHeading',\n defaultMessage: 'Courses you are enrolled in ({count})',\n description: 'Heading for enrolled courses list on cancel confirmation',\n },\n 'order-history.cancel.keep': {\n id: 'order-history.cancel.keep',\n defaultMessage: 'No, keep my subscription',\n description: 'Secondary button to abort cancellation',\n },\n 'order-history.cancel.confirm': {\n id: 'order-history.cancel.confirm',\n defaultMessage: 'Yes, cancel subscription',\n description: 'Primary button to confirm cancellation',\n },\n 'order-history.cancel.confirming': {\n id: 'order-history.cancel.confirming',\n defaultMessage: 'Cancelling…',\n description: 'Cancel button label while mutation is in progress',\n },\n 'order-history.cancel.error': {\n id: 'order-history.cancel.error',\n defaultMessage: 'We could not cancel your subscription. Please try again.',\n description: 'Error when cancel mutation fails',\n },\n 'order-history.cancel.viewCertificate': {\n id: 'order-history.cancel.viewCertificate',\n defaultMessage: 'View certificate',\n description: 'View certificate button on enrolled course row',\n },\n\n // Cancel success\n 'order-history.cancelSuccess.title': {\n id: 'order-history.cancelSuccess.title',\n defaultMessage: 'Thank you for learning with us on edX. Your subscription is cancelled.',\n description: 'Cancel success page title',\n },\n 'order-history.cancelSuccess.body': {\n id: 'order-history.cancelSuccess.body',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged after {date}. You will receive a confirmation email shortly.',\n description: 'Cancel success body with last charge / access date',\n },\n 'order-history.cancelSuccess.bodyNoDate': {\n id: 'order-history.cancelSuccess.bodyNoDate',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged. You will receive a confirmation email shortly.',\n description: 'Cancel success body without date',\n },\n 'order-history.cancelSuccess.return': {\n id: 'order-history.cancelSuccess.return',\n defaultMessage: 'Return to Dashboard',\n description: 'Return to dashboard CTA after cancel success',\n },\n});\n\nexport default messages;\n"]}
@@ -4,7 +4,7 @@ export declare const subscriptionManageRole = "org.openedx.frontend.role.subscri
4
4
  export declare const subscriptionCheckoutRole = "org.openedx.frontend.role.subscription.checkout";
5
5
  /** Sibling search MFE route role (externalRoutes). */
6
6
  export declare const subscriptionSearchRole = "org.openedx.frontend.role.subscription.search";
7
- export declare const MANAGE_PAGE_PATH = "manage-subscription";
7
+ export declare const ORDER_HISTORY_PAGE_PATH = "order-history";
8
8
  /** Default help center URL when not overridden in app config. */
9
9
  export declare const DEFAULT_LEARNER_HELP_CENTER_URL = "https://support.edx.org/hc/en-us";
10
10
  /** Default marketing page for "Learn about edX Subscription". */
@@ -18,3 +18,9 @@ export declare const CANCELED_SUBSCRIPTION_STATUSES: Set<string>;
18
18
  export declare const appName = "learner-home";
19
19
  export declare const STRIPE_PAYMENT_GATEWAY = "stripe";
20
20
  export declare const PAYPAL_PAYMENT_GATEWAY = "paypal";
21
+ /** Path of the order history page (route `order-history`). */
22
+ export declare const ORDER_HISTORY_PATH = "/order-history";
23
+ /** Path of the order details page (route `order-details/:orderNumber`). */
24
+ export declare const ORDER_DETAILS_PATH = "/order-details";
25
+ /** Billing contact shown in the refund notice. */
26
+ export declare const BILLING_SUPPORT_EMAIL = "billing@edx.org";
package/dist/constants.js CHANGED
@@ -4,7 +4,7 @@ export const subscriptionManageRole = 'org.openedx.frontend.role.subscription.ma
4
4
  export const subscriptionCheckoutRole = 'org.openedx.frontend.role.subscription.checkout';
5
5
  /** Sibling search MFE route role (externalRoutes). */
6
6
  export const subscriptionSearchRole = 'org.openedx.frontend.role.subscription.search';
7
- export const MANAGE_PAGE_PATH = 'manage-subscription';
7
+ export const ORDER_HISTORY_PAGE_PATH = 'order-history';
8
8
  /** Default help center URL when not overridden in app config. */
9
9
  export const DEFAULT_LEARNER_HELP_CENTER_URL = 'https://support.edx.org/hc/en-us';
10
10
  /** Default marketing page for "Learn about edX Subscription". */
@@ -27,4 +27,10 @@ export const CANCELED_SUBSCRIPTION_STATUSES = new Set([
27
27
  export const appName = 'learner-home';
28
28
  export const STRIPE_PAYMENT_GATEWAY = 'stripe';
29
29
  export const PAYPAL_PAYMENT_GATEWAY = 'paypal';
30
+ /** Path of the order history page (route `order-history`). */
31
+ export const ORDER_HISTORY_PATH = '/order-history';
32
+ /** Path of the order details page (route `order-details/:orderNumber`). */
33
+ export const ORDER_DETAILS_PATH = '/order-details';
34
+ /** Billing contact shown in the refund notice. */
35
+ export const BILLING_SUPPORT_EMAIL = 'billing@edx.org';
30
36
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,8CAA8C,CAAC;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAEtF,wDAAwD;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,iDAAiD,CAAC;AAE1F,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAEtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAElF,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,sCAAsC,CAAC;AAE1F,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjF,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAClD,QAAQ;IACR,cAAc;IACd,UAAU;CACX,CAAC,CAAC;AAEH,qEAAqE;AACrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IACpD,UAAU;IACV,WAAW;IACX,sBAAsB;IACtB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC","sourcesContent":["export const appId = 'org.openedx.frontend.app.subscription.manage';\nexport const subscriptionManageRole = 'org.openedx.frontend.role.subscription.manage';\n\n/** Sibling checkout MFE route role (externalRoutes). */\nexport const subscriptionCheckoutRole = 'org.openedx.frontend.role.subscription.checkout';\n\n/** Sibling search MFE route role (externalRoutes). */\nexport const subscriptionSearchRole = 'org.openedx.frontend.role.subscription.search';\n\nexport const MANAGE_PAGE_PATH = 'manage-subscription';\n\n/** Default help center URL when not overridden in app config. */\nexport const DEFAULT_LEARNER_HELP_CENTER_URL = 'https://support.edx.org/hc/en-us';\n\n/** Default marketing page for \"Learn about edX Subscription\". */\nexport const DEFAULT_SUBSCRIPTION_LEARN_MORE_URL = 'https://www.edx.org/edx-subscription';\n\n/** Countries that require the extra renew consent checkbox (ISO alpha-2). */\nexport const COUNTRIES_REQUIRING_EXTRA_CONFIRM: readonly string[] = ['GB', 'CA'];\n\n/** Active / trial statuses that map to the manage (active) view. */\nexport const ACTIVE_SUBSCRIPTION_STATUSES = new Set([\n 'ACTIVE',\n 'TRIAL_ACTIVE',\n 'TRIALING',\n]);\n\n/** Canceled statuses that may still have access until period end. */\nexport const CANCELED_SUBSCRIPTION_STATUSES = new Set([\n 'CANCELED',\n 'CANCELLED',\n 'CANCEL_AT_PERIOD_END',\n 'PENDING_CANCEL',\n]);\n\nexport const appName = 'learner-home';\n\nexport const STRIPE_PAYMENT_GATEWAY = 'stripe';\n\nexport const PAYPAL_PAYMENT_GATEWAY = 'paypal';\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,8CAA8C,CAAC;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAEtF,wDAAwD;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,iDAAiD,CAAC;AAE1F,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAEtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAEvD,iEAAiE;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAElF,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,sCAAsC,CAAC;AAE1F,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjF,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAClD,QAAQ;IACR,cAAc;IACd,UAAU;CACX,CAAC,CAAC;AAEH,qEAAqE;AACrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IACpD,UAAU;IACV,WAAW;IACX,sBAAsB;IACtB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC","sourcesContent":["export const appId = 'org.openedx.frontend.app.subscription.manage';\nexport const subscriptionManageRole = 'org.openedx.frontend.role.subscription.manage';\n\n/** Sibling checkout MFE route role (externalRoutes). */\nexport const subscriptionCheckoutRole = 'org.openedx.frontend.role.subscription.checkout';\n\n/** Sibling search MFE route role (externalRoutes). */\nexport const subscriptionSearchRole = 'org.openedx.frontend.role.subscription.search';\n\nexport const ORDER_HISTORY_PAGE_PATH = 'order-history';\n\n/** Default help center URL when not overridden in app config. */\nexport const DEFAULT_LEARNER_HELP_CENTER_URL = 'https://support.edx.org/hc/en-us';\n\n/** Default marketing page for \"Learn about edX Subscription\". */\nexport const DEFAULT_SUBSCRIPTION_LEARN_MORE_URL = 'https://www.edx.org/edx-subscription';\n\n/** Countries that require the extra renew consent checkbox (ISO alpha-2). */\nexport const COUNTRIES_REQUIRING_EXTRA_CONFIRM: readonly string[] = ['GB', 'CA'];\n\n/** Active / trial statuses that map to the manage (active) view. */\nexport const ACTIVE_SUBSCRIPTION_STATUSES = new Set([\n 'ACTIVE',\n 'TRIAL_ACTIVE',\n 'TRIALING',\n]);\n\n/** Canceled statuses that may still have access until period end. */\nexport const CANCELED_SUBSCRIPTION_STATUSES = new Set([\n 'CANCELED',\n 'CANCELLED',\n 'CANCEL_AT_PERIOD_END',\n 'PENDING_CANCEL',\n]);\n\nexport const appName = 'learner-home';\n\nexport const STRIPE_PAYMENT_GATEWAY = 'stripe';\n\nexport const PAYPAL_PAYMENT_GATEWAY = 'paypal';\n\n/** Path of the order history page (route `order-history`). */\nexport const ORDER_HISTORY_PATH = '/order-history';\n\n/** Path of the order details page (route `order-details/:orderNumber`). */\nexport const ORDER_DETAILS_PATH = '/order-details';\n\n/** Billing contact shown in the refund notice. */\nexport const BILLING_SUPPORT_EMAIL = 'billing@edx.org';\n"]}
@@ -7,3 +7,8 @@ export declare const manageKeys: {
7
7
  paymentHistory: (subscriptionBiId: string) => readonly ["manage", "paymentHistory", string];
8
8
  paymentMethod: (subscriptionBiId: string) => readonly ["manage", "paymentMethod", string];
9
9
  };
10
+ export declare const orderHistoryKeys: {
11
+ all: readonly ["orderHistory"];
12
+ purchaseHistory: () => readonly ["orderHistory", "purchaseHistory"];
13
+ orderDetails: (orderNumber: string) => readonly ["orderHistory", "orderDetails", string];
14
+ };
@@ -7,4 +7,9 @@ export const manageKeys = {
7
7
  paymentHistory: (subscriptionBiId) => [...manageKeys.all, 'paymentHistory', subscriptionBiId],
8
8
  paymentMethod: (subscriptionBiId) => [...manageKeys.all, 'paymentMethod', subscriptionBiId],
9
9
  };
10
+ export const orderHistoryKeys = {
11
+ all: ['orderHistory'],
12
+ purchaseHistory: () => [...orderHistoryKeys.all, 'purchaseHistory'],
13
+ orderDetails: (orderNumber) => [...orderHistoryKeys.all, 'orderDetails', orderNumber],
14
+ };
10
15
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/data/hooks/keys.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,CAAC,QAAQ,CAAU;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAU;IAC9D,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAU;IAC3E,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAU;IAChE,WAAW,EAAE,CAAC,gBAAwB,EAAE,EAAE,CACxC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,CACpD;IACD,cAAc,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAC3C,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,CACvD;IACD,aAAa,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAC1C,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,CACtD;CACF,CAAC","sourcesContent":["export const manageKeys = {\n all: ['manage'] as const,\n viaxSession: () => [...manageKeys.all, 'viaxSession'] as const,\n isSubscriber: () => [...manageKeys.all, 'isCurrentUserSubscriber'] as const,\n billingPlans: () => [...manageKeys.all, 'billingPlans'] as const,\n enrollments: (subscriptionBiId: string) => (\n [...manageKeys.all, 'enrollments', subscriptionBiId] as const\n ),\n paymentHistory: (subscriptionBiId: string) => (\n [...manageKeys.all, 'paymentHistory', subscriptionBiId] as const\n ),\n paymentMethod: (subscriptionBiId: string) => (\n [...manageKeys.all, 'paymentMethod', subscriptionBiId] as const\n ),\n};\n"]}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/data/hooks/keys.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,CAAC,QAAQ,CAAU;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAU;IAC9D,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAU;IAC3E,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,cAAc,CAAU;IAChE,WAAW,EAAE,CAAC,gBAAwB,EAAE,EAAE,CACxC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,CACpD;IACD,cAAc,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAC3C,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,CACvD;IACD,aAAa,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAC1C,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,CACtD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,CAAC,cAAc,CAAU;IAC9B,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAU;IAC5E,YAAY,EAAE,CAAC,WAAmB,EAAE,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,CAAU;CACvG,CAAC","sourcesContent":["export const manageKeys = {\n all: ['manage'] as const,\n viaxSession: () => [...manageKeys.all, 'viaxSession'] as const,\n isSubscriber: () => [...manageKeys.all, 'isCurrentUserSubscriber'] as const,\n billingPlans: () => [...manageKeys.all, 'billingPlans'] as const,\n enrollments: (subscriptionBiId: string) => (\n [...manageKeys.all, 'enrollments', subscriptionBiId] as const\n ),\n paymentHistory: (subscriptionBiId: string) => (\n [...manageKeys.all, 'paymentHistory', subscriptionBiId] as const\n ),\n paymentMethod: (subscriptionBiId: string) => (\n [...manageKeys.all, 'paymentMethod', subscriptionBiId] as const\n ),\n};\n\nexport const orderHistoryKeys = {\n all: ['orderHistory'] as const,\n purchaseHistory: () => [...orderHistoryKeys.all, 'purchaseHistory'] as const,\n orderDetails: (orderNumber: string) => [...orderHistoryKeys.all, 'orderDetails', orderNumber] as const,\n};\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Hooks for the order history page. Viax client and session come from
3
+ * useManageQueries (useViaxClient / useViaxSession).
4
+ */
5
+ import { type UseQueryResult } from '@tanstack/react-query';
6
+ import type { PurchaseHistoryItem } from '../../types';
7
+ import type { ViaxGqlClient } from '../../utils/graphqlClient';
8
+ /** Learner's one-off course and program purchases. */
9
+ export declare function usePurchaseHistoryQuery(client: ViaxGqlClient | null, sessionReady: boolean): UseQueryResult<PurchaseHistoryItem[]>;
10
+ /** A single order's detailed payload for the order details page. */
11
+ export declare function useOrderDetailsQuery(client: ViaxGqlClient | null, orderNumber: string | null, sessionReady: boolean): UseQueryResult<unknown>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Hooks for the order history page. Viax client and session come from
3
+ * useManageQueries (useViaxClient / useViaxSession).
4
+ */
5
+ import { useQuery } from '@tanstack/react-query';
6
+ import { getOrderDetails, getPurchaseHistory } from '../services/orderHistory/orderHistory';
7
+ import { orderHistoryKeys } from './keys';
8
+ /** Learner's one-off course and program purchases. */
9
+ export function usePurchaseHistoryQuery(client, sessionReady) {
10
+ return useQuery({
11
+ queryKey: orderHistoryKeys.purchaseHistory(),
12
+ enabled: !!client && sessionReady,
13
+ queryFn: () => getPurchaseHistory(client.gql),
14
+ staleTime: 5 * 60 * 1000,
15
+ refetchOnWindowFocus: false,
16
+ retry: 1,
17
+ });
18
+ }
19
+ /** A single order's detailed payload for the order details page. */
20
+ export function useOrderDetailsQuery(client, orderNumber, sessionReady) {
21
+ return useQuery({
22
+ queryKey: orderHistoryKeys.orderDetails(orderNumber !== null && orderNumber !== void 0 ? orderNumber : 'none'),
23
+ enabled: !!client && sessionReady && !!orderNumber,
24
+ queryFn: () => getOrderDetails(client.gql, orderNumber),
25
+ staleTime: 5 * 60 * 1000,
26
+ refetchOnWindowFocus: false,
27
+ retry: 1,
28
+ });
29
+ }
30
+ //# sourceMappingURL=useOrderHistoryQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOrderHistoryQueries.js","sourceRoot":"","sources":["../../../src/data/hooks/useOrderHistoryQueries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAC;AAItE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,sDAAsD;AACtD,MAAM,UAAU,uBAAuB,CACrC,MAA4B,EAC5B,YAAqB;IAErB,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,gBAAgB,CAAC,eAAe,EAAE;QAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,YAAY;QACjC,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAO,CAAC,GAAG,CAAC;QAC9C,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,oBAAoB,EAAE,KAAK;QAC3B,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,oBAAoB,CAClC,MAA4B,EAC5B,WAA0B,EAC1B,YAAqB;IAErB,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,gBAAgB,CAAC,YAAY,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM,CAAC;QAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC,WAAW;QAClD,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAO,CAAC,GAAG,EAAE,WAAY,CAAC;QACzD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,oBAAoB,EAAE,KAAK;QAC3B,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * Hooks for the order history page. Viax client and session come from\n * useManageQueries (useViaxClient / useViaxSession).\n */\n\nimport { useQuery, type UseQueryResult } from '@tanstack/react-query';\n\nimport type { PurchaseHistoryItem } from '../../types';\nimport type { ViaxGqlClient } from '../../utils/graphqlClient';\nimport { getOrderDetails, getPurchaseHistory } from '../services/orderHistory/orderHistory';\nimport { orderHistoryKeys } from './keys';\n\n/** Learner's one-off course and program purchases. */\nexport function usePurchaseHistoryQuery(\n client: ViaxGqlClient | null,\n sessionReady: boolean,\n): UseQueryResult<PurchaseHistoryItem[]> {\n return useQuery({\n queryKey: orderHistoryKeys.purchaseHistory(),\n enabled: !!client && sessionReady,\n queryFn: () => getPurchaseHistory(client!.gql),\n staleTime: 5 * 60 * 1000,\n refetchOnWindowFocus: false,\n retry: 1,\n });\n}\n\n/** A single order's detailed payload for the order details page. */\nexport function useOrderDetailsQuery(\n client: ViaxGqlClient | null,\n orderNumber: string | null,\n sessionReady: boolean,\n): UseQueryResult<unknown> {\n return useQuery({\n queryKey: orderHistoryKeys.orderDetails(orderNumber ?? 'none'),\n enabled: !!client && sessionReady && !!orderNumber,\n queryFn: () => getOrderDetails(client!.gql, orderNumber!),\n staleTime: 5 * 60 * 1000,\n refetchOnWindowFocus: false,\n retry: 1,\n });\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { GqlRunner, PurchaseHistoryItem } from '../../../types';
2
+ /** Learner's one-off course and program purchases. */
3
+ export declare function getPurchaseHistory(gql: GqlRunner): Promise<PurchaseHistoryItem[]>;
4
+ /** Detailed payload for one order, or null when not found. */
5
+ export declare function getOrderDetails(gql: GqlRunner, orderNumber: string): Promise<unknown>;
6
+ /** Stripe receipt URL for an order, or null when none is available. */
7
+ export declare function getStripePaymentReceipt(gql: GqlRunner, biId: string): Promise<string | null>;
@@ -0,0 +1,40 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { GET_ORDER_DETAILS, GET_PURCHASE_HISTORY, GET_STRIPE_PAYMENT_RECEIPT } from '../../../utils/queries';
11
+ /** Learner's one-off course and program purchases. */
12
+ export function getPurchaseHistory(gql) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ var _a;
15
+ const data = yield gql(GET_PURCHASE_HISTORY);
16
+ const orders = (_a = data === null || data === void 0 ? void 0 : data.tOrderHistory) === null || _a === void 0 ? void 0 : _a.orders;
17
+ return Array.isArray(orders) ? orders : [];
18
+ });
19
+ }
20
+ /** Detailed payload for one order, or null when not found. */
21
+ export function getOrderDetails(gql, orderNumber) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ var _a;
24
+ const data = yield gql(GET_ORDER_DETAILS, { orderNumber });
25
+ return (_a = data === null || data === void 0 ? void 0 : data.tOrderDetails) !== null && _a !== void 0 ? _a : null;
26
+ });
27
+ }
28
+ /** Stripe receipt URL for an order, or null when none is available. */
29
+ export function getStripePaymentReceipt(gql, biId) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const data = yield gql(GET_STRIPE_PAYMENT_RECEIPT, { biId });
32
+ const receipt = data === null || data === void 0 ? void 0 : data.tPaymentReceipt;
33
+ const stripeUrl = typeof receipt === 'object' ? receipt === null || receipt === void 0 ? void 0 : receipt.stripeUrl : receipt;
34
+ if (typeof stripeUrl !== 'string') {
35
+ return null;
36
+ }
37
+ return stripeUrl.trim() || null;
38
+ });
39
+ }
40
+ //# sourceMappingURL=orderHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderHistory.js","sourceRoot":"","sources":["../../../../src/data/services/orderHistory/orderHistory.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAE7G,sDAAsD;AACtD,MAAM,UAAgB,kBAAkB,CAAC,GAAc;;;QACrD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,MAAM,CAAC;QAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;CAAA;AAED,8DAA8D;AAC9D,MAAM,UAAgB,eAAe,CAAC,GAAc,EAAE,WAAmB;;;QACvE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,IAAI,CAAC;IACrC,CAAC;CAAA;AAED,uEAAuE;AACvE,MAAM,UAAgB,uBAAuB,CAAC,GAAc,EAAE,IAAY;;QACxE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7E,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAClC,CAAC;CAAA","sourcesContent":["import type { GqlRunner, PurchaseHistoryItem } from '../../../types';\nimport { GET_ORDER_DETAILS, GET_PURCHASE_HISTORY, GET_STRIPE_PAYMENT_RECEIPT } from '../../../utils/queries';\n\n/** Learner's one-off course and program purchases. */\nexport async function getPurchaseHistory(gql: GqlRunner): Promise<PurchaseHistoryItem[]> {\n const data = await gql(GET_PURCHASE_HISTORY);\n const orders = data?.tOrderHistory?.orders;\n return Array.isArray(orders) ? orders : [];\n}\n\n/** Detailed payload for one order, or null when not found. */\nexport async function getOrderDetails(gql: GqlRunner, orderNumber: string): Promise<unknown> {\n const data = await gql(GET_ORDER_DETAILS, { orderNumber });\n return data?.tOrderDetails ?? null;\n}\n\n/** Stripe receipt URL for an order, or null when none is available. */\nexport async function getStripePaymentReceipt(gql: GqlRunner, biId: string): Promise<string | null> {\n const data = await gql(GET_STRIPE_PAYMENT_RECEIPT, { biId });\n const receipt = data?.tPaymentReceipt;\n const stripeUrl = typeof receipt === 'object' ? receipt?.stripeUrl : receipt;\n if (typeof stripeUrl !== 'string') {\n return null;\n }\n return stripeUrl.trim() || null;\n}\n"]}
@@ -13,7 +13,7 @@ import { useIntl } from '@openedx/frontend-base';
13
13
  import { useNavigate } from 'react-router-dom';
14
14
  import CancelConfirmation from '../components/CancelConfirmation/CancelConfirmation';
15
15
  import messages from '../components/messages';
16
- import { MANAGE_PAGE_PATH } from '../constants';
16
+ import { ORDER_HISTORY_PAGE_PATH } from '../constants';
17
17
  import { useCancelSubscriptionMutation, useIsSubscriberQuery, useSubscriptionEnrollmentsQuery, useViaxClient, useViaxSession, } from '../data/hooks/useManageQueries';
18
18
  const CancelSubscriptionPage = () => {
19
19
  var _a, _b, _c, _d;
@@ -28,10 +28,10 @@ const CancelSubscriptionPage = () => {
28
28
  const isLoading = isSessionLoading || subscriberQuery.isPending;
29
29
  const isError = isSessionError || subscriberQuery.isError;
30
30
  if (isLoading) {
31
- return (_jsx("div", { className: "manage-page manage-page--loading d-flex justify-content-center align-items-center", children: _jsx(Spinner, { animation: "border", screenReaderText: formatMessage(messages['manage.loading']) }) }));
31
+ return (_jsx("div", { className: "manage-page manage-page--loading d-flex justify-content-center align-items-center", children: _jsx(Spinner, { animation: "border", screenReaderText: formatMessage(messages['order-history.loading']) }) }));
32
32
  }
33
33
  if (isError) {
34
- return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4 py-5", children: _jsx(Alert, { variant: "danger", children: formatMessage(messages['manage.error']) }) }) }));
34
+ return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4 py-5", children: _jsx(Alert, { variant: "danger", children: formatMessage(messages['order-history.error']) }) }) }));
35
35
  }
36
36
  const subscriber = (_c = subscriberQuery.data) !== null && _c !== void 0 ? _c : null;
37
37
  const enrollments = (_d = enrollmentsQuery.data) !== null && _d !== void 0 ? _d : [];
@@ -41,7 +41,7 @@ const CancelSubscriptionPage = () => {
41
41
  }
42
42
  try {
43
43
  yield cancelMutation.mutateAsync(subscriptionBiId);
44
- navigate(`/${MANAGE_PAGE_PATH}/cancel/success`);
44
+ navigate(`/${ORDER_HISTORY_PAGE_PATH}/cancel/success`);
45
45
  }
46
46
  catch (_a) {
47
47
  // Error surfaced via cancelMutation.isError
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelSubscriptionPage.js","sourceRoot":"","sources":["../../src/orderHistory/CancelSubscriptionPage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Alert, Container, Spinner } from '@openedx/paragon';\nimport { useIntl } from '@openedx/frontend-base';\nimport { useNavigate } from 'react-router-dom';\n\nimport CancelConfirmation from '../components/CancelConfirmation/CancelConfirmation';\nimport messages from '../components/messages';\nimport { ORDER_HISTORY_PAGE_PATH } from '../constants';\nimport {\n useCancelSubscriptionMutation,\n useIsSubscriberQuery,\n useSubscriptionEnrollmentsQuery,\n useViaxClient,\n useViaxSession,\n} from '../data/hooks/useManageQueries';\n\nconst CancelSubscriptionPage: React.FC = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const client = useViaxClient();\n const { sessionReady, isSessionLoading, isSessionError } = useViaxSession(client);\n const subscriberQuery = useIsSubscriberQuery(client, sessionReady);\n const subscriptionBiId = subscriberQuery.data?.subscriptionBiId ?? null;\n const enrollmentsQuery = useSubscriptionEnrollmentsQuery(\n client,\n sessionReady,\n subscriptionBiId,\n );\n const cancelMutation = useCancelSubscriptionMutation(client);\n\n const isLoading = isSessionLoading || subscriberQuery.isPending;\n const isError = isSessionError || subscriberQuery.isError;\n\n if (isLoading) {\n return (\n <div className=\"manage-page manage-page--loading d-flex justify-content-center align-items-center\">\n <Spinner\n animation=\"border\"\n screenReaderText={formatMessage(messages['order-history.loading'])}\n />\n </div>\n );\n }\n\n if (isError) {\n return (\n <div className=\"manage-page\">\n <Container size=\"lg\" className=\"px-3 px-md-4 py-5\">\n <Alert variant=\"danger\">{formatMessage(messages['order-history.error'])}</Alert>\n </Container>\n </div>\n );\n }\n\n const subscriber = subscriberQuery.data ?? null;\n const enrollments = enrollmentsQuery.data ?? [];\n\n const handleConfirmCancel = async () => {\n if (!subscriptionBiId) {\n return;\n }\n\n try {\n await cancelMutation.mutateAsync(subscriptionBiId);\n navigate(`/${ORDER_HISTORY_PAGE_PATH}/cancel/success`);\n } catch {\n // Error surfaced via cancelMutation.isError\n }\n };\n\n return (\n <div className=\"manage-page\">\n <Container size=\"lg\" className=\"px-3 px-md-4\">\n <CancelConfirmation\n subscriber={subscriber}\n enrollments={enrollments}\n isEnrollmentsLoading={enrollmentsQuery.isPending}\n isCanceling={cancelMutation.isPending}\n cancelError={cancelMutation.isError}\n onConfirmCancel={handleConfirmCancel}\n />\n </Container>\n </div>\n );\n};\n\nexport default CancelSubscriptionPage;\n"]}
@@ -13,10 +13,10 @@ const CancelSuccessPage = () => {
13
13
  const isLoading = isSessionLoading || subscriberQuery.isPending;
14
14
  const isError = isSessionError || subscriberQuery.isError;
15
15
  if (isLoading) {
16
- return (_jsx("div", { className: "manage-page manage-page--loading d-flex justify-content-center align-items-center", children: _jsx(Spinner, { animation: "border", screenReaderText: formatMessage(messages['manage.loading']) }) }));
16
+ return (_jsx("div", { className: "manage-page manage-page--loading d-flex justify-content-center align-items-center", children: _jsx(Spinner, { animation: "border", screenReaderText: formatMessage(messages['order-history.loading']) }) }));
17
17
  }
18
18
  if (isError) {
19
- return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4 py-5", children: _jsx(Alert, { variant: "danger", children: formatMessage(messages['manage.error']) }) }) }));
19
+ return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4 py-5", children: _jsx(Alert, { variant: "danger", children: formatMessage(messages['order-history.error']) }) }) }));
20
20
  }
21
21
  return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4", children: _jsx(CancelSuccess, { subscriber: (_a = subscriberQuery.data) !== null && _a !== void 0 ? _a : null }) }) }));
22
22
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CancelSuccessPage.js","sourceRoot":"","sources":["../../src/orderHistory/CancelSuccessPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,cAAc,GACf,MAAM,gCAAgC,CAAC;AAExC,MAAM,iBAAiB,GAAa,GAAG,EAAE;;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,gBAAgB,IAAI,eAAe,CAAC,SAAS,CAAC;IAChE,MAAM,OAAO,GAAG,cAAc,IAAI,eAAe,CAAC,OAAO,CAAC;IAE1D,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAC,mFAAmF,YAChG,KAAC,OAAO,IACN,SAAS,EAAC,QAAQ,EAClB,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,GAClE,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cAAK,SAAS,EAAC,aAAa,YAC1B,KAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,mBAAmB,YAChD,KAAC,KAAK,IAAC,OAAO,EAAC,QAAQ,YAAE,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,GAAS,GACtE,GACR,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,aAAa,YAC1B,KAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,cAAc,YAC3C,KAAC,aAAa,IAAC,UAAU,EAAE,MAAA,eAAe,CAAC,IAAI,mCAAI,IAAI,GAAI,GACjD,GACR,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import React from 'react';\nimport { Alert, Container, Spinner } from '@openedx/paragon';\nimport { useIntl } from '@openedx/frontend-base';\n\nimport CancelSuccess from '../components/CancelSuccess/CancelSuccess';\nimport messages from '../components/messages';\nimport {\n useIsSubscriberQuery,\n useViaxClient,\n useViaxSession,\n} from '../data/hooks/useManageQueries';\n\nconst CancelSuccessPage: React.FC = () => {\n const { formatMessage } = useIntl();\n const client = useViaxClient();\n const { sessionReady, isSessionLoading, isSessionError } = useViaxSession(client);\n const subscriberQuery = useIsSubscriberQuery(client, sessionReady);\n\n const isLoading = isSessionLoading || subscriberQuery.isPending;\n const isError = isSessionError || subscriberQuery.isError;\n\n if (isLoading) {\n return (\n <div className=\"manage-page manage-page--loading d-flex justify-content-center align-items-center\">\n <Spinner\n animation=\"border\"\n screenReaderText={formatMessage(messages['order-history.loading'])}\n />\n </div>\n );\n }\n\n if (isError) {\n return (\n <div className=\"manage-page\">\n <Container size=\"lg\" className=\"px-3 px-md-4 py-5\">\n <Alert variant=\"danger\">{formatMessage(messages['order-history.error'])}</Alert>\n </Container>\n </div>\n );\n }\n\n return (\n <div className=\"manage-page\">\n <Container size=\"lg\" className=\"px-3 px-md-4\">\n <CancelSuccess subscriber={subscriberQuery.data ?? null} />\n </Container>\n </div>\n );\n};\n\nexport default CancelSuccessPage;\n"]}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const OrderHistoryPage: React.FC;
3
+ export default OrderHistoryPage;
@@ -0,0 +1,127 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState, useCallback, } from 'react';
3
+ import { Alert, Container, Spinner, Tabs, Tab, } from '@openedx/paragon';
4
+ import { useIntl } from '@openedx/frontend-base';
5
+ import { useSearchParams } from 'react-router-dom';
6
+ import ActiveSubscription from '../components/ActiveSubscription/ActiveSubscription';
7
+ import BecomeSubscriber from '../components/BecomeSubscriber/BecomeSubscriber';
8
+ import CanceledSubscription, { RenewBanner, } from '../components/CanceledSubscription/CanceledSubscription';
9
+ import HelpFooter from '../components/HelpFooter/HelpFooter';
10
+ import OrderHistoryHeader from '../components/OrderHistoryHeader/OrderHistoryHeader';
11
+ import OrderPurchases from '../components/OrderHistory/OrderPurchases';
12
+ import PaymentHistory from '../components/PaymentHistory/PaymentHistory';
13
+ import RenewSubscriptionModal from '../components/RenewSubscriptionModal/RenewSubscriptionModal';
14
+ import ResubscribeCard from '../components/ResubscribeCard/ResubscribeCard';
15
+ import messages from '../components/messages';
16
+ import { useBillingPlansQuery, useIsSubscriberQuery, usePaymentHistoryQuery, useReactivateSubscriptionMutation, useViaxClient, useViaxSession, } from '../data/hooks/useManageQueries';
17
+ import { getPaymentHistorySubscriptionIds } from '../data/services/subscription/getPaymentHistory';
18
+ import { getPlanPrice } from '../utils/billingDetails';
19
+ import { formatDisplayDate } from '../utils/formatDate';
20
+ import { resolvePlanLabel, resolveSubscriptionView, } from '../utils/subscriptionView';
21
+ const OrderHistoryPage = () => {
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
23
+ const { formatMessage } = useIntl();
24
+ const [searchParams, setSearchParams] = useSearchParams();
25
+ const [isRenewModalOpen, setIsRenewModalOpen] = useState(false);
26
+ // Initialize active tab from URL.
27
+ const [activeTab, setActiveTab] = useState(searchParams.get('tab') === 'payment-history'
28
+ ? 'payment-history'
29
+ : 'subscription');
30
+ const client = useViaxClient();
31
+ const { sessionReady, isSessionLoading, isSessionError, } = useViaxSession(client);
32
+ const subscriberQuery = useIsSubscriberQuery(client, sessionReady);
33
+ const billingPlansQuery = useBillingPlansQuery(client, sessionReady);
34
+ const reactivateMutation = useReactivateSubscriptionMutation(client);
35
+ const subscriptionBiId = (_b = (_a = subscriberQuery.data) === null || _a === void 0 ? void 0 : _a.subscriptionBiId) !== null && _b !== void 0 ? _b : null;
36
+ const paymentHistoryQuery = usePaymentHistoryQuery(client, sessionReady, getPaymentHistorySubscriptionIds(subscriberQuery.data));
37
+ const subscriber = (_c = subscriberQuery.data) !== null && _c !== void 0 ? _c : null;
38
+ const planCycle = resolvePlanLabel(subscriber);
39
+ const planPrice = getPlanPrice((_e = (_d = billingPlansQuery.data) === null || _d === void 0 ? void 0 : _d.plans) !== null && _e !== void 0 ? _e : [], planCycle);
40
+ const price = (_f = planPrice === null || planPrice === void 0 ? void 0 : planPrice.amount) !== null && _f !== void 0 ? _f : null;
41
+ const currency = (_g = planPrice === null || planPrice === void 0 ? void 0 : planPrice.currency) !== null && _g !== void 0 ? _g : null;
42
+ const renewalDate = formatDisplayDate((_h = subscriber === null || subscriber === void 0 ? void 0 : subscriber.currentPeriodEnd) !== null && _h !== void 0 ? _h : subscriber === null || subscriber === void 0 ? void 0 : subscriber.subscriptionEndDate);
43
+ const handleOpenRenewModal = useCallback(() => {
44
+ if (!subscriptionBiId) {
45
+ return;
46
+ }
47
+ reactivateMutation.reset();
48
+ setIsRenewModalOpen(true);
49
+ }, [subscriptionBiId, reactivateMutation]);
50
+ const handleConfirmRenew = useCallback(() => {
51
+ if (!subscriptionBiId || reactivateMutation.isPending) {
52
+ return;
53
+ }
54
+ reactivateMutation.mutate(subscriptionBiId);
55
+ }, [subscriptionBiId, reactivateMutation]);
56
+ useEffect(() => {
57
+ if (reactivateMutation.isSuccess) {
58
+ setIsRenewModalOpen(false);
59
+ }
60
+ }, [reactivateMutation.isSuccess]);
61
+ // Synchronize active tab with URL changes.
62
+ useEffect(() => {
63
+ const tab = searchParams.get('tab');
64
+ setActiveTab(tab === 'payment-history' ? 'payment-history' : 'subscription');
65
+ }, [searchParams]);
66
+ const handleTabSelect = useCallback((tabKey) => {
67
+ if (tabKey === 'subscription' || tabKey === 'payment-history') {
68
+ setActiveTab(tabKey);
69
+ setSearchParams(tabKey === 'subscription' ? {} : { tab: tabKey }, { replace: true });
70
+ }
71
+ }, [setSearchParams]);
72
+ const isLoading = isSessionLoading || (sessionReady && subscriberQuery.isPending);
73
+ const isError = isSessionError || subscriberQuery.isError;
74
+ const resolvedView = resolveSubscriptionView(subscriber);
75
+ const showRenewBanner = resolvedView === 'canceled_access';
76
+ // Resolve subscription panel.
77
+ const subscriptionPanel = useMemo(() => {
78
+ switch (resolvedView) {
79
+ case 'active':
80
+ return _jsx(ActiveSubscription, { subscriber: subscriber });
81
+ case 'canceled_access':
82
+ return (_jsx(CanceledSubscription, { subscriber: subscriber, onRenew: handleOpenRenewModal }));
83
+ case 'canceled_expired':
84
+ return (_jsx(ResubscribeCard, { subscriber: subscriber, price: price, currency: currency }));
85
+ case 'none':
86
+ default:
87
+ return (_jsx(BecomeSubscriber, { price: price, currency: currency }));
88
+ }
89
+ }, [
90
+ resolvedView,
91
+ subscriber,
92
+ price,
93
+ currency,
94
+ handleOpenRenewModal,
95
+ ]);
96
+ // Define tabs dynamically.
97
+ const orderHistoryTabs = useMemo(() => {
98
+ var _a;
99
+ return [
100
+ {
101
+ key: 'subscription',
102
+ title: 'Manage subscription',
103
+ panel: (_jsxs(_Fragment, { children: [subscriptionPanel, _jsx(HelpFooter, {})] })),
104
+ },
105
+ {
106
+ key: 'payment-history',
107
+ title: 'Payment history',
108
+ panel: (_jsxs(_Fragment, { children: [_jsx(PaymentHistory, { subscriber: subscriber, invoices: (_a = paymentHistoryQuery.data) !== null && _a !== void 0 ? _a : [], isLoading: paymentHistoryQuery.isPending, isError: paymentHistoryQuery.isError }), _jsx(OrderPurchases, {}), _jsx(HelpFooter, {})] })),
109
+ },
110
+ ];
111
+ }, [
112
+ subscriptionPanel,
113
+ subscriber,
114
+ paymentHistoryQuery.data,
115
+ paymentHistoryQuery.isPending,
116
+ paymentHistoryQuery.isError,
117
+ ]);
118
+ if (isLoading) {
119
+ return (_jsx("div", { className: "manage-page manage-page--loading d-flex justify-content-center align-items-center", children: _jsx(Spinner, { animation: "border", screenReaderText: formatMessage(messages['order-history.loading']) }) }));
120
+ }
121
+ if (isError) {
122
+ return (_jsx("div", { className: "manage-page", children: _jsx(Container, { size: "lg", className: "manage-page__inner px-3 px-md-4 py-5", children: _jsx(Alert, { variant: "danger", children: formatMessage(messages['order-history.error']) }) }) }));
123
+ }
124
+ return (_jsxs("div", { className: "manage-page", children: [showRenewBanner && (_jsx("div", { className: "manage-renew-banner py-5 mb-2", children: _jsx(Container, { size: "lg", className: "px-3 px-md-4", children: _jsx("div", { className: "manage-renew-banner__inner d-flex flex-column align-items-start", children: _jsx(RenewBanner, { expireDate: renewalDate, onRenew: handleOpenRenewModal }) }) }) })), _jsxs(Container, { size: "lg", className: "manage-page__inner px-3 px-md-4 py-5", children: [_jsx(OrderHistoryHeader, {}), _jsx(Tabs, { id: "order-history-tabs", defaultActiveKey: (_j = orderHistoryTabs[0]) === null || _j === void 0 ? void 0 : _j.key, activeKey: activeTab, onSelect: handleTabSelect, className: "mb-4", mountOnEnter: true, children: orderHistoryTabs.map(tab => (_jsx(Tab, { eventKey: tab.key, title: tab.title, children: tab.panel }, tab.key))) })] }), _jsx(RenewSubscriptionModal, { isOpen: isRenewModalOpen, onClose: () => setIsRenewModalOpen(false), onConfirm: handleConfirmRenew, isConfirming: reactivateMutation.isPending, confirmError: reactivateMutation.isError, subscriptionBiId: subscriptionBiId, renewalDate: renewalDate, price: price, currency: currency, cycle: planCycle })] }));
125
+ };
126
+ export default OrderHistoryPage;
127
+ //# sourceMappingURL=OrderHistoryPage.js.map