@shoppexio/storefront-react 0.5.0 → 0.6.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0
4
+
5
+ - Subscriptions: a subscription with a running checkout code shows "CODE · payment 2 of 3 · full price from {date}" (or "every payment" for a forever code) from the dashboard's `discount`, and billing history marks each discounted payment. `SdkCustomerSubscription.discount` (`SdkCustomerSubscriptionDiscount`: code, type and value, cap, payments used and total, discounted, full, saved and next amount, in `currency`) is null without one and absent until the API that sends it is deployed. The plan-change sheet says the code ends with the change and what the new plan costs from the next renewal.
6
+ - Subscriptions: the detail's "Payment provider" shows the gateway's name ("PayPal F&F"), not the gateway key; `gatewayLabel` is the one map the order and the subscription read. An ejected account takes `subscriptions.tsx` and `account-payment-method.ts` from `eject/account` again.
7
+
3
8
  ## 0.5.0
4
9
 
5
10
  - Account: every invoice chip (orders, overview, reseller orders, billing history) takes its word and tone from the shared buyer status table (`invoiceStatus.*`, 16 locales); the orders filter offers the table's groups and sends `statusGroup`.
package/dist/account.js CHANGED
@@ -410,6 +410,21 @@ var ar_default = {
410
410
  billingOther: "\u0641\u0648\u062A\u0631\u0629 \u0643\u0644 {count} \xD7 {interval}",
411
411
  gateway: "\u0645\u0632\u0648\u0651\u062F \u0627\u0644\u062F\u0641\u0639",
412
412
  paymentMethod: "\u0637\u0631\u064A\u0642\u0629 \u0627\u0644\u062F\u0641\u0639",
413
+ discount: "\u0627\u0644\u062E\u0635\u0645",
414
+ discountPercent: "{percent}%",
415
+ discountCap: "\u060C \u0628\u062D\u062F \u0623\u0642\u0635\u0649 {amount} \u0644\u0643\u0644 \u062F\u0641\u0639\u0629",
416
+ discountEvery: "{code} \xB7 \u062E\u0635\u0645 {off} \u0639\u0644\u0649 \u0643\u0644 \u062F\u0641\u0639\u0629{cap}",
417
+ discountLeft: "{code} \xB7 \u062E\u0635\u0645 {off}{cap} \xB7 \u0627\u0644\u062F\u0641\u0639\u0627\u062A \u0627\u0644\u0645\u062A\u0628\u0642\u064A\u0629: {count}\u060C \u062B\u0645 {price} {period}",
418
+ discountLeftOne: "{code} \xB7 \u062E\u0635\u0645 {off}{cap} \xB7 \u062F\u0641\u0639\u0629 \u0648\u0627\u062D\u062F\u0629 \u0645\u062A\u0628\u0642\u064A\u0629\u060C \u062B\u0645 {price} {period}",
419
+ periodDayOne: "\u064A\u0648\u0645\u064A\u064B\u0627",
420
+ periodDayOther: "\u0643\u0644 {count} \u0623\u064A\u0627\u0645",
421
+ periodWeekOne: "\u0623\u0633\u0628\u0648\u0639\u064A\u064B\u0627",
422
+ periodWeekOther: "\u0643\u0644 {count} \u0623\u0633\u0627\u0628\u064A\u0639",
423
+ periodMonthOne: "\u0634\u0647\u0631\u064A\u064B\u0627",
424
+ periodMonthOther: "\u0643\u0644 {count} \u0623\u0634\u0647\u0631",
425
+ periodYearOne: "\u0633\u0646\u0648\u064A\u064B\u0627",
426
+ periodYearOther: "\u0643\u0644 {count} \u0633\u0646\u0648\u0627\u062A",
427
+ periodOther: "\u0643\u0644 {count} {interval}",
413
428
  cardOnFile: "{brand} \u0627\u0644\u0645\u0646\u062A\u0647\u064A\u0629 \u0628\u0627\u0644\u0623\u0631\u0642\u0627\u0645 {last4}",
414
429
  noPaymentMethod: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0637\u0631\u064A\u0642\u0629 \u0645\u062D\u0641\u0648\u0638\u0629",
415
430
  pause: "\u0625\u064A\u0642\u0627\u0641 \u0645\u0624\u0642\u062A",
@@ -1025,6 +1040,21 @@ var de_default = {
1025
1040
  billingOther: "Abrechnung alle {count} \xD7 {interval}",
1026
1041
  gateway: "Zahlungsanbieter",
1027
1042
  paymentMethod: "Zahlungsmethode",
1043
+ discount: "Rabatt",
1044
+ discountPercent: "{percent} %",
1045
+ discountCap: ", h\xF6chstens {amount} pro Zahlung",
1046
+ discountEvery: "{code} \xB7 {off} Rabatt auf jede Zahlung{cap}",
1047
+ discountLeft: "{code} \xB7 {off} Rabatt{cap} \xB7 noch {count} Zahlungen, danach {price} {period}",
1048
+ discountLeftOne: "{code} \xB7 {off} Rabatt{cap} \xB7 noch 1 Zahlung, danach {price} {period}",
1049
+ periodDayOne: "pro Tag",
1050
+ periodDayOther: "alle {count} Tage",
1051
+ periodWeekOne: "pro Woche",
1052
+ periodWeekOther: "alle {count} Wochen",
1053
+ periodMonthOne: "pro Monat",
1054
+ periodMonthOther: "alle {count} Monate",
1055
+ periodYearOne: "pro Jahr",
1056
+ periodYearOther: "alle {count} Jahre",
1057
+ periodOther: "alle {count} {interval}",
1028
1058
  cardOnFile: "{brand} endet auf {last4}",
1029
1059
  noPaymentMethod: "Keine hinterlegt",
1030
1060
  pause: "Pausieren",
@@ -1640,6 +1670,21 @@ var en_default = {
1640
1670
  billingOther: "Billed every {count} \xD7 {interval}",
1641
1671
  gateway: "Payment provider",
1642
1672
  paymentMethod: "Payment method",
1673
+ discount: "Discount",
1674
+ discountPercent: "{percent} %",
1675
+ discountCap: ", up to {amount} each",
1676
+ discountEvery: "{code} \xB7 {off} off every payment{cap}",
1677
+ discountLeft: "{code} \xB7 {off} off{cap} \xB7 {count} more payments, then {price} {period}",
1678
+ discountLeftOne: "{code} \xB7 {off} off{cap} \xB7 1 more payment, then {price} {period}",
1679
+ periodDayOne: "a day",
1680
+ periodDayOther: "every {count} days",
1681
+ periodWeekOne: "a week",
1682
+ periodWeekOther: "every {count} weeks",
1683
+ periodMonthOne: "a month",
1684
+ periodMonthOther: "every {count} months",
1685
+ periodYearOne: "a year",
1686
+ periodYearOther: "every {count} years",
1687
+ periodOther: "every {count} {interval}",
1643
1688
  cardOnFile: "{brand} ending {last4}",
1644
1689
  noPaymentMethod: "None on file",
1645
1690
  pause: "Pause",
@@ -2255,6 +2300,21 @@ var es_default = {
2255
2300
  billingOther: "Se cobra cada {count} \xD7 {interval}",
2256
2301
  gateway: "Proveedor de pago",
2257
2302
  paymentMethod: "M\xE9todo de pago",
2303
+ discount: "Descuento",
2304
+ discountPercent: "{percent} %",
2305
+ discountCap: ", hasta {amount} por pago",
2306
+ discountEvery: "{code} \xB7 {off} de descuento en cada pago{cap}",
2307
+ discountLeft: "{code} \xB7 {off} de descuento{cap} \xB7 {count} pagos m\xE1s, despu\xE9s {price} {period}",
2308
+ discountLeftOne: "{code} \xB7 {off} de descuento{cap} \xB7 1 pago m\xE1s, despu\xE9s {price} {period}",
2309
+ periodDayOne: "al d\xEDa",
2310
+ periodDayOther: "cada {count} d\xEDas",
2311
+ periodWeekOne: "a la semana",
2312
+ periodWeekOther: "cada {count} semanas",
2313
+ periodMonthOne: "al mes",
2314
+ periodMonthOther: "cada {count} meses",
2315
+ periodYearOne: "al a\xF1o",
2316
+ periodYearOther: "cada {count} a\xF1os",
2317
+ periodOther: "cada {count} {interval}",
2258
2318
  cardOnFile: "{brand} terminada en {last4}",
2259
2319
  noPaymentMethod: "Ninguno guardado",
2260
2320
  pause: "Pausar",
@@ -2870,6 +2930,21 @@ var fi_default = {
2870
2930
  billingOther: "Laskutetaan {count} \xD7 {interval} v\xE4lein",
2871
2931
  gateway: "Maksupalvelu",
2872
2932
  paymentMethod: "Maksutapa",
2933
+ discount: "Alennus",
2934
+ discountPercent: "{percent} %",
2935
+ discountCap: ", enint\xE4\xE4n {amount} maksua kohden",
2936
+ discountEvery: "{code} \xB7 {off} alennus jokaisesta maksusta{cap}",
2937
+ discountLeft: "{code} \xB7 {off} alennus{cap} \xB7 viel\xE4 {count} maksua, sitten {price} {period}",
2938
+ discountLeftOne: "{code} \xB7 {off} alennus{cap} \xB7 viel\xE4 1 maksu, sitten {price} {period}",
2939
+ periodDayOne: "p\xE4iv\xE4ss\xE4",
2940
+ periodDayOther: "{count} p\xE4iv\xE4n v\xE4lein",
2941
+ periodWeekOne: "viikossa",
2942
+ periodWeekOther: "{count} viikon v\xE4lein",
2943
+ periodMonthOne: "kuukaudessa",
2944
+ periodMonthOther: "{count} kuukauden v\xE4lein",
2945
+ periodYearOne: "vuodessa",
2946
+ periodYearOther: "{count} vuoden v\xE4lein",
2947
+ periodOther: "{count} {interval} v\xE4lein",
2873
2948
  cardOnFile: "{brand}, p\xE4\xE4ttyy numeroihin {last4}",
2874
2949
  noPaymentMethod: "Ei tallennettuna",
2875
2950
  pause: "Keskeyt\xE4",
@@ -3485,6 +3560,21 @@ var fr_default = {
3485
3560
  billingOther: "Factur\xE9 tous les {count} \xD7 {interval}",
3486
3561
  gateway: "Prestataire de paiement",
3487
3562
  paymentMethod: "Moyen de paiement",
3563
+ discount: "R\xE9duction",
3564
+ discountPercent: "{percent} %",
3565
+ discountCap: ", jusqu\u2019\xE0 {amount} par paiement",
3566
+ discountEvery: "{code} \xB7 {off} de r\xE9duction sur chaque paiement{cap}",
3567
+ discountLeft: "{code} \xB7 {off} de r\xE9duction{cap} \xB7 encore {count} paiements, puis {price} {period}",
3568
+ discountLeftOne: "{code} \xB7 {off} de r\xE9duction{cap} \xB7 encore 1 paiement, puis {price} {period}",
3569
+ periodDayOne: "par jour",
3570
+ periodDayOther: "tous les {count} jours",
3571
+ periodWeekOne: "par semaine",
3572
+ periodWeekOther: "toutes les {count} semaines",
3573
+ periodMonthOne: "par mois",
3574
+ periodMonthOther: "tous les {count} mois",
3575
+ periodYearOne: "par an",
3576
+ periodYearOther: "tous les {count} ans",
3577
+ periodOther: "tous les {count} {interval}",
3488
3578
  cardOnFile: "{brand} finissant par {last4}",
3489
3579
  noPaymentMethod: "Aucun enregistr\xE9",
3490
3580
  pause: "Mettre en pause",
@@ -4100,6 +4190,21 @@ var hi_default = {
4100
4190
  billingOther: "\u0939\u0930 {count} \xD7 {interval} \u092E\u0947\u0902 \u092C\u093F\u0932\u093F\u0902\u0917",
4101
4191
  gateway: "\u092D\u0941\u0917\u0924\u093E\u0928 \u092A\u094D\u0930\u0926\u093E\u0924\u093E",
4102
4192
  paymentMethod: "\u092D\u0941\u0917\u0924\u093E\u0928 \u0915\u093E \u0924\u0930\u0940\u0915\u093E",
4193
+ discount: "\u091B\u0942\u091F",
4194
+ discountPercent: "{percent}%",
4195
+ discountCap: ", \u0939\u0930 \u092D\u0941\u0917\u0924\u093E\u0928 \u092A\u0930 \u0905\u0927\u093F\u0915\u0924\u092E {amount}",
4196
+ discountEvery: "{code} \xB7 \u0939\u0930 \u092D\u0941\u0917\u0924\u093E\u0928 \u092A\u0930 {off} \u0915\u0940 \u091B\u0942\u091F{cap}",
4197
+ discountLeft: "{code} \xB7 {off} \u0915\u0940 \u091B\u0942\u091F{cap} \xB7 {count} \u0914\u0930 \u092D\u0941\u0917\u0924\u093E\u0928, \u092B\u093F\u0930 {price} {period}",
4198
+ discountLeftOne: "{code} \xB7 {off} \u0915\u0940 \u091B\u0942\u091F{cap} \xB7 1 \u0914\u0930 \u092D\u0941\u0917\u0924\u093E\u0928, \u092B\u093F\u0930 {price} {period}",
4199
+ periodDayOne: "\u092A\u094D\u0930\u0924\u093F \u0926\u093F\u0928",
4200
+ periodDayOther: "\u0939\u0930 {count} \u0926\u093F\u0928",
4201
+ periodWeekOne: "\u092A\u094D\u0930\u0924\u093F \u0938\u092A\u094D\u0924\u093E\u0939",
4202
+ periodWeekOther: "\u0939\u0930 {count} \u0938\u092A\u094D\u0924\u093E\u0939",
4203
+ periodMonthOne: "\u092A\u094D\u0930\u0924\u093F \u092E\u093E\u0939",
4204
+ periodMonthOther: "\u0939\u0930 {count} \u092E\u0939\u0940\u0928\u0947",
4205
+ periodYearOne: "\u092A\u094D\u0930\u0924\u093F \u0935\u0930\u094D\u0937",
4206
+ periodYearOther: "\u0939\u0930 {count} \u0938\u093E\u0932",
4207
+ periodOther: "\u0939\u0930 {count} {interval}",
4103
4208
  cardOnFile: "{brand}, \u0905\u0902\u0924\u093F\u092E \u0905\u0902\u0915 {last4}",
4104
4209
  noPaymentMethod: "\u0915\u094B\u0908 \u0938\u0939\u0947\u091C\u093E \u0939\u0941\u0906 \u0924\u0930\u0940\u0915\u093E \u0928\u0939\u0940\u0902",
4105
4210
  pause: "\u0930\u094B\u0915\u0947\u0902",
@@ -4715,6 +4820,21 @@ var it_default = {
4715
4820
  billingOther: "Addebito ogni {count} \xD7 {interval}",
4716
4821
  gateway: "Fornitore di pagamento",
4717
4822
  paymentMethod: "Metodo di pagamento",
4823
+ discount: "Sconto",
4824
+ discountPercent: "{percent}%",
4825
+ discountCap: ", fino a {amount} per pagamento",
4826
+ discountEvery: "{code} \xB7 {off} di sconto su ogni pagamento{cap}",
4827
+ discountLeft: "{code} \xB7 {off} di sconto{cap} \xB7 ancora {count} pagamenti, poi {price} {period}",
4828
+ discountLeftOne: "{code} \xB7 {off} di sconto{cap} \xB7 ancora 1 pagamento, poi {price} {period}",
4829
+ periodDayOne: "al giorno",
4830
+ periodDayOther: "ogni {count} giorni",
4831
+ periodWeekOne: "a settimana",
4832
+ periodWeekOther: "ogni {count} settimane",
4833
+ periodMonthOne: "al mese",
4834
+ periodMonthOther: "ogni {count} mesi",
4835
+ periodYearOne: "all\u2019anno",
4836
+ periodYearOther: "ogni {count} anni",
4837
+ periodOther: "ogni {count} {interval}",
4718
4838
  cardOnFile: "{brand} che termina con {last4}",
4719
4839
  noPaymentMethod: "Nessuno salvato",
4720
4840
  pause: "Metti in pausa",
@@ -5330,6 +5450,21 @@ var lt_default = {
5330
5450
  billingOther: "Apmokestinama kas {count} \xD7 {interval}",
5331
5451
  gateway: "Mok\u0117jim\u0173 teik\u0117jas",
5332
5452
  paymentMethod: "Mok\u0117jimo b\u016Bdas",
5453
+ discount: "Nuolaida",
5454
+ discountPercent: "{percent} %",
5455
+ discountCap: ", ne daugiau kaip {amount} u\u017E mok\u0117jim\u0105",
5456
+ discountEvery: "{code} \xB7 {off} nuolaida kiekvienam mok\u0117jimui{cap}",
5457
+ discountLeft: "{code} \xB7 {off} nuolaida{cap} \xB7 liko mok\u0117jim\u0173: {count}, v\u0117liau {price} {period}",
5458
+ discountLeftOne: "{code} \xB7 {off} nuolaida{cap} \xB7 liko 1 mok\u0117jimas, v\u0117liau {price} {period}",
5459
+ periodDayOne: "per dien\u0105",
5460
+ periodDayOther: "kas {count} d.",
5461
+ periodWeekOne: "per savait\u0119",
5462
+ periodWeekOther: "kas {count} sav.",
5463
+ periodMonthOne: "per m\u0117nes\u012F",
5464
+ periodMonthOther: "kas {count} m\u0117n.",
5465
+ periodYearOne: "per metus",
5466
+ periodYearOther: "kas {count} m.",
5467
+ periodOther: "kas {count} {interval}",
5333
5468
  cardOnFile: "{brand}, paskutiniai skaitmenys {last4}",
5334
5469
  noPaymentMethod: "N\u0117ra i\u0161saugoto",
5335
5470
  pause: "Pristabdyti",
@@ -5945,6 +6080,21 @@ var nl_default = {
5945
6080
  billingOther: "Elke {count} \xD7 {interval} gefactureerd",
5946
6081
  gateway: "Betaalprovider",
5947
6082
  paymentMethod: "Betaalmethode",
6083
+ discount: "Korting",
6084
+ discountPercent: "{percent}%",
6085
+ discountCap: ", maximaal {amount} per betaling",
6086
+ discountEvery: "{code} \xB7 {off} korting op elke betaling{cap}",
6087
+ discountLeft: "{code} \xB7 {off} korting{cap} \xB7 nog {count} betalingen, daarna {price} {period}",
6088
+ discountLeftOne: "{code} \xB7 {off} korting{cap} \xB7 nog 1 betaling, daarna {price} {period}",
6089
+ periodDayOne: "per dag",
6090
+ periodDayOther: "elke {count} dagen",
6091
+ periodWeekOne: "per week",
6092
+ periodWeekOther: "elke {count} weken",
6093
+ periodMonthOne: "per maand",
6094
+ periodMonthOther: "elke {count} maanden",
6095
+ periodYearOne: "per jaar",
6096
+ periodYearOther: "elke {count} jaar",
6097
+ periodOther: "elke {count} {interval}",
5948
6098
  cardOnFile: "{brand} eindigend op {last4}",
5949
6099
  noPaymentMethod: "Niets vastgelegd",
5950
6100
  pause: "Pauzeren",
@@ -6560,6 +6710,21 @@ var pl_default = {
6560
6710
  billingOther: "P\u0142atno\u015B\u0107 co {count} \xD7 {interval}",
6561
6711
  gateway: "Dostawca p\u0142atno\u015Bci",
6562
6712
  paymentMethod: "Metoda p\u0142atno\u015Bci",
6713
+ discount: "Rabat",
6714
+ discountPercent: "{percent}%",
6715
+ discountCap: ", maksymalnie {amount} za p\u0142atno\u015B\u0107",
6716
+ discountEvery: "{code} \xB7 {off} rabatu na ka\u017Cd\u0105 p\u0142atno\u015B\u0107{cap}",
6717
+ discountLeft: "{code} \xB7 {off} rabatu{cap} \xB7 pozosta\u0142e p\u0142atno\u015Bci: {count}, potem {price} {period}",
6718
+ discountLeftOne: "{code} \xB7 {off} rabatu{cap} \xB7 jeszcze 1 p\u0142atno\u015B\u0107, potem {price} {period}",
6719
+ periodDayOne: "dziennie",
6720
+ periodDayOther: "co {count} dni",
6721
+ periodWeekOne: "tygodniowo",
6722
+ periodWeekOther: "co {count} tygodni",
6723
+ periodMonthOne: "miesi\u0119cznie",
6724
+ periodMonthOther: "co {count} miesi\u0119cy",
6725
+ periodYearOne: "rocznie",
6726
+ periodYearOther: "co {count} lat",
6727
+ periodOther: "co {count} {interval}",
6563
6728
  cardOnFile: "{brand} ko\u0144cz\u0105ca si\u0119 na {last4}",
6564
6729
  noPaymentMethod: "Brak zapisanej",
6565
6730
  pause: "Wstrzymaj",
@@ -7175,6 +7340,21 @@ var pt_default = {
7175
7340
  billingOther: "Cobran\xE7a a cada {count} \xD7 {interval}",
7176
7341
  gateway: "Fornecedor de pagamento",
7177
7342
  paymentMethod: "M\xE9todo de pagamento",
7343
+ discount: "Desconto",
7344
+ discountPercent: "{percent}%",
7345
+ discountCap: ", at\xE9 {amount} por pagamento",
7346
+ discountEvery: "{code} \xB7 {off} de desconto em cada pagamento{cap}",
7347
+ discountLeft: "{code} \xB7 {off} de desconto{cap} \xB7 mais {count} pagamentos, depois {price} {period}",
7348
+ discountLeftOne: "{code} \xB7 {off} de desconto{cap} \xB7 mais 1 pagamento, depois {price} {period}",
7349
+ periodDayOne: "por dia",
7350
+ periodDayOther: "a cada {count} dias",
7351
+ periodWeekOne: "por semana",
7352
+ periodWeekOther: "a cada {count} semanas",
7353
+ periodMonthOne: "por m\xEAs",
7354
+ periodMonthOther: "a cada {count} meses",
7355
+ periodYearOne: "por ano",
7356
+ periodYearOther: "a cada {count} anos",
7357
+ periodOther: "a cada {count} {interval}",
7178
7358
  cardOnFile: "{brand} terminado em {last4}",
7179
7359
  noPaymentMethod: "Nenhum guardado",
7180
7360
  pause: "Pausar",
@@ -7790,6 +7970,21 @@ var ru_default = {
7790
7970
  billingOther: "\u0421\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0440\u0430\u0437 \u0432 {count} \xD7 {interval}",
7791
7971
  gateway: "\u041F\u043B\u0430\u0442\u0451\u0436\u043D\u044B\u0439 \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440",
7792
7972
  paymentMethod: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B",
7973
+ discount: "\u0421\u043A\u0438\u0434\u043A\u0430",
7974
+ discountPercent: "{percent}%",
7975
+ discountCap: ", \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {amount} \u0437\u0430 \u043F\u043B\u0430\u0442\u0451\u0436",
7976
+ discountEvery: "{code} \xB7 \u0441\u043A\u0438\u0434\u043A\u0430 {off} \u043D\u0430 \u043A\u0430\u0436\u0434\u044B\u0439 \u043F\u043B\u0430\u0442\u0451\u0436{cap}",
7977
+ discountLeft: "{code} \xB7 \u0441\u043A\u0438\u0434\u043A\u0430 {off}{cap} \xB7 \u043E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u043F\u043B\u0430\u0442\u0435\u0436\u0435\u0439: {count}, \u0437\u0430\u0442\u0435\u043C {price} {period}",
7978
+ discountLeftOne: "{code} \xB7 \u0441\u043A\u0438\u0434\u043A\u0430 {off}{cap} \xB7 \u043E\u0441\u0442\u0430\u043B\u0441\u044F 1 \u043F\u043B\u0430\u0442\u0451\u0436, \u0437\u0430\u0442\u0435\u043C {price} {period}",
7979
+ periodDayOne: "\u0432 \u0434\u0435\u043D\u044C",
7980
+ periodDayOther: "\u0440\u0430\u0437 \u0432 {count} \u0434\u043D.",
7981
+ periodWeekOne: "\u0432 \u043D\u0435\u0434\u0435\u043B\u044E",
7982
+ periodWeekOther: "\u0440\u0430\u0437 \u0432 {count} \u043D\u0435\u0434.",
7983
+ periodMonthOne: "\u0432 \u043C\u0435\u0441\u044F\u0446",
7984
+ periodMonthOther: "\u0440\u0430\u0437 \u0432 {count} \u043C\u0435\u0441.",
7985
+ periodYearOne: "\u0432 \u0433\u043E\u0434",
7986
+ periodYearOther: "\u0440\u0430\u0437 \u0432 {count} \u0433.",
7987
+ periodOther: "\u0440\u0430\u0437 \u0432 {count} {interval}",
7793
7988
  cardOnFile: "{brand}, \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 \u0446\u0438\u0444\u0440\u044B {last4}",
7794
7989
  noPaymentMethod: "\u041D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D",
7795
7990
  pause: "\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
@@ -8405,6 +8600,21 @@ var tr_default = {
8405
8600
  billingOther: "Her {count} \xD7 {interval} faturalan\u0131r",
8406
8601
  gateway: "\xD6deme sa\u011Flay\u0131c\u0131s\u0131",
8407
8602
  paymentMethod: "\xD6deme y\xF6ntemi",
8603
+ discount: "\u0130ndirim",
8604
+ discountPercent: "%{percent}",
8605
+ discountCap: ", \xF6deme ba\u015F\u0131na en fazla {amount}",
8606
+ discountEvery: "{code} \xB7 her \xF6demede {off} indirim{cap}",
8607
+ discountLeft: "{code} \xB7 {off} indirim{cap} \xB7 {count} \xF6deme daha, sonra {period} {price}",
8608
+ discountLeftOne: "{code} \xB7 {off} indirim{cap} \xB7 1 \xF6deme daha, sonra {period} {price}",
8609
+ periodDayOne: "g\xFCnl\xFCk",
8610
+ periodDayOther: "{count} g\xFCnde bir",
8611
+ periodWeekOne: "haftal\u0131k",
8612
+ periodWeekOther: "{count} haftada bir",
8613
+ periodMonthOne: "ayl\u0131k",
8614
+ periodMonthOther: "{count} ayda bir",
8615
+ periodYearOne: "y\u0131ll\u0131k",
8616
+ periodYearOther: "{count} y\u0131lda bir",
8617
+ periodOther: "{count} {interval} bir",
8408
8618
  cardOnFile: "{last4} ile biten {brand}",
8409
8619
  noPaymentMethod: "Kay\u0131tl\u0131 y\xF6ntem yok",
8410
8620
  pause: "Duraklat",
@@ -9020,6 +9230,21 @@ var uk_default = {
9020
9230
  billingOther: "\u041E\u043F\u043B\u0430\u0442\u0430 \u043A\u043E\u0436\u043D\u0456 {count} \xD7 {interval}",
9021
9231
  gateway: "\u041F\u043B\u0430\u0442\u0456\u0436\u043D\u0438\u0439 \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440",
9022
9232
  paymentMethod: "\u0421\u043F\u043E\u0441\u0456\u0431 \u043E\u043F\u043B\u0430\u0442\u0438",
9233
+ discount: "\u0417\u043D\u0438\u0436\u043A\u0430",
9234
+ discountPercent: "{percent}%",
9235
+ discountCap: ", \u043D\u0435 \u0431\u0456\u043B\u044C\u0448\u0435 {amount} \u0437\u0430 \u043F\u043B\u0430\u0442\u0456\u0436",
9236
+ discountEvery: "{code} \xB7 \u0437\u043D\u0438\u0436\u043A\u0430 {off} \u043D\u0430 \u043A\u043E\u0436\u0435\u043D \u043F\u043B\u0430\u0442\u0456\u0436{cap}",
9237
+ discountLeft: "{code} \xB7 \u0437\u043D\u0438\u0436\u043A\u0430 {off}{cap} \xB7 \u0437\u0430\u043B\u0438\u0448\u0438\u043B\u043E\u0441\u044F \u043F\u043B\u0430\u0442\u0435\u0436\u0456\u0432: {count}, \u043F\u043E\u0442\u0456\u043C {price} {period}",
9238
+ discountLeftOne: "{code} \xB7 \u0437\u043D\u0438\u0436\u043A\u0430 {off}{cap} \xB7 \u0437\u0430\u043B\u0438\u0448\u0438\u0432\u0441\u044F 1 \u043F\u043B\u0430\u0442\u0456\u0436, \u043F\u043E\u0442\u0456\u043C {price} {period}",
9239
+ periodDayOne: "\u043D\u0430 \u0434\u0435\u043D\u044C",
9240
+ periodDayOther: "\u0440\u0430\u0437 \u043D\u0430 {count} \u0434\u043D.",
9241
+ periodWeekOne: "\u043D\u0430 \u0442\u0438\u0436\u0434\u0435\u043D\u044C",
9242
+ periodWeekOther: "\u0440\u0430\u0437 \u043D\u0430 {count} \u0442\u0438\u0436.",
9243
+ periodMonthOne: "\u043D\u0430 \u043C\u0456\u0441\u044F\u0446\u044C",
9244
+ periodMonthOther: "\u0440\u0430\u0437 \u043D\u0430 {count} \u043C\u0456\u0441.",
9245
+ periodYearOne: "\u043D\u0430 \u0440\u0456\u043A",
9246
+ periodYearOther: "\u0440\u0430\u0437 \u043D\u0430 {count} \u0440.",
9247
+ periodOther: "\u0440\u0430\u0437 \u043D\u0430 {count} {interval}",
9023
9248
  cardOnFile: "{brand}, \u0449\u043E \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0454\u0442\u044C\u0441\u044F \u043D\u0430 {last4}",
9024
9249
  noPaymentMethod: "\u041D\u0435 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043D\u043E",
9025
9250
  pause: "\u041F\u0440\u0438\u0437\u0443\u043F\u0438\u043D\u0438\u0442\u0438",
@@ -9635,6 +9860,21 @@ var zh_default = {
9635
9860
  billingOther: "\u6BCF {count} \xD7 {interval} \u8BA1\u8D39",
9636
9861
  gateway: "\u652F\u4ED8\u670D\u52A1\u5546",
9637
9862
  paymentMethod: "\u652F\u4ED8\u65B9\u5F0F",
9863
+ discount: "\u6298\u6263",
9864
+ discountPercent: "{percent}%",
9865
+ discountCap: "\uFF0C\u6BCF\u6B21\u6700\u591A {amount}",
9866
+ discountEvery: "{code} \xB7 \u6BCF\u6B21\u4ED8\u6B3E\u4F18\u60E0 {off}{cap}",
9867
+ discountLeft: "{code} \xB7 \u4F18\u60E0 {off}{cap} \xB7 \u8FD8\u5269 {count} \u6B21\u4ED8\u6B3E\uFF0C\u4E4B\u540E {period} {price}",
9868
+ discountLeftOne: "{code} \xB7 \u4F18\u60E0 {off}{cap} \xB7 \u8FD8\u5269 1 \u6B21\u4ED8\u6B3E\uFF0C\u4E4B\u540E {period} {price}",
9869
+ periodDayOne: "\u6BCF\u5929",
9870
+ periodDayOther: "\u6BCF {count} \u5929",
9871
+ periodWeekOne: "\u6BCF\u5468",
9872
+ periodWeekOther: "\u6BCF {count} \u5468",
9873
+ periodMonthOne: "\u6BCF\u6708",
9874
+ periodMonthOther: "\u6BCF {count} \u4E2A\u6708",
9875
+ periodYearOne: "\u6BCF\u5E74",
9876
+ periodYearOther: "\u6BCF {count} \u5E74",
9877
+ periodOther: "\u6BCF {count} {interval}",
9638
9878
  cardOnFile: "{brand} \u5C3E\u53F7 {last4}",
9639
9879
  noPaymentMethod: "\u672A\u4FDD\u5B58\u652F\u4ED8\u65B9\u5F0F",
9640
9880
  pause: "\u6682\u505C",
@@ -11502,9 +11742,12 @@ function paymentMethodLabel(payment) {
11502
11742
  if (payment.displayName) return payment.displayName;
11503
11743
  if (payment.apmMethod) return payment.apmMethod;
11504
11744
  if (payment.cryptoGateway) return cryptoCoinLabel(payment.cryptoGateway);
11505
- const base = GATEWAY_LABELS[payment.gateway] ?? payment.gateway;
11745
+ const base = gatewayLabel(payment.gateway);
11506
11746
  return payment.blockchain ? `${base} (${payment.blockchain})` : base;
11507
11747
  }
11748
+ function gatewayLabel(gateway) {
11749
+ return GATEWAY_LABELS[gateway] ?? gateway;
11750
+ }
11508
11751
 
11509
11752
  // src/account/account-warranties.ts
11510
11753
  function warrantiesForOrder(warranties, invoiceUniqid) {
@@ -14667,16 +14910,16 @@ function endedNoteKey(ended) {
14667
14910
  return ended.ranOut ? "subscriptions.endedHoldRanOut" : "subscriptions.endedShopEnded";
14668
14911
  }
14669
14912
  var KNOWN_INTERVALS = /* @__PURE__ */ new Set(["day", "week", "month", "year"]);
14670
- function billingMessage(plan) {
14913
+ function billingMessage(plan, kind = "billing") {
14671
14914
  const interval = plan.interval.trim().toLowerCase();
14672
14915
  const count = plan.interval_count > 0 ? plan.interval_count : 1;
14673
14916
  const params = { count, interval: plan.interval };
14674
14917
  if (!KNOWN_INTERVALS.has(interval)) {
14675
- return { key: "subscriptions.billingOther", params };
14918
+ return { key: `subscriptions.${kind}Other`, params };
14676
14919
  }
14677
14920
  const suffix = count === 1 ? "One" : "Other";
14678
14921
  const name = interval.charAt(0).toUpperCase() + interval.slice(1);
14679
- return { key: `subscriptions.billing${name}${suffix}`, params };
14922
+ return { key: `subscriptions.${kind}${name}${suffix}`, params };
14680
14923
  }
14681
14924
  function cancelsAtPeriodEnd(gateway) {
14682
14925
  return gateway.trim().toUpperCase() !== "PAYPAL";
@@ -14831,7 +15074,7 @@ function AccountSubscriptions() {
14831
15074
  /* @__PURE__ */ jsx13("p", { className: "sxa:truncate sxa:text-small sxa:font-semibold", children: subscription.plan?.name ?? t("subscriptions.unnamedPlan") }),
14832
15075
  /* @__PURE__ */ jsx13("p", { className: "sxa:mt-1 sxa:text-micro sxa:text-muted", children: timingLabel(subscription) })
14833
15076
  ] }),
14834
- subscription.plan ? /* @__PURE__ */ jsx13("span", { className: "sxa:shrink-0 sxa:text-small sxa:font-semibold sxa:tabular-nums", children: formatAccountAmount(subscription.plan.price, subscription.plan.currency) }) : null,
15077
+ subscription.plan ? /* @__PURE__ */ jsx13("span", { className: "sxa:shrink-0 sxa:text-small sxa:font-semibold sxa:tabular-nums", children: nextPaymentAmount(subscription) }) : null,
14835
15078
  /* @__PURE__ */ jsx13(SubscriptionStatus, { subscription })
14836
15079
  ]
14837
15080
  }
@@ -14872,6 +15115,7 @@ function SubscriptionDetail({
14872
15115
  onChanged(doneMessage);
14873
15116
  };
14874
15117
  const billing = subscription.plan ? billingMessage(subscription.plan) : null;
15118
+ const discount = discountLine(subscription);
14875
15119
  return /* @__PURE__ */ jsxs12("div", { children: [
14876
15120
  /* @__PURE__ */ jsx13(AccountBackButton, { onClick: onBack, label: t("subscriptions.allSubscriptions") }),
14877
15121
  /* @__PURE__ */ jsxs12("div", { className: "sxa:mt-5 sxa:flex sxa:flex-wrap sxa:items-start sxa:justify-between sxa:gap-4", children: [
@@ -14888,16 +15132,23 @@ function SubscriptionDetail({
14888
15132
  subscription.status === "PAST_DUE" && subscription.actions.can_manage_payment_method ? /* @__PURE__ */ jsx13(PastDueCard, { subscription }) : null,
14889
15133
  /* @__PURE__ */ jsxs12(AccountCard, { className: "sxa:mt-5 sxa:p-6", children: [
14890
15134
  subscription.plan ? /* @__PURE__ */ jsxs12(Fragment2, { children: [
14891
- /* @__PURE__ */ jsx13("p", { className: "sxa:text-h2 sxa:font-bold sxa:tabular-nums", children: formatAccountAmount(subscription.plan.price, subscription.plan.currency) }),
15135
+ /* @__PURE__ */ jsx13("p", { className: "sxa:text-h2 sxa:font-bold sxa:tabular-nums", children: nextPaymentAmount(subscription) }),
14892
15136
  billing ? /* @__PURE__ */ jsx13("p", { className: "sxa:mt-1 sxa:text-small sxa:text-muted", children: t(billing.key, billing.params) }) : null
14893
15137
  ] }) : null,
14894
15138
  /* @__PURE__ */ jsx13("p", { className: "sxa:mt-2 sxa:text-small sxa:text-muted", children: timingLabel(subscription) }),
14895
15139
  /* @__PURE__ */ jsxs12("dl", { className: "sxa:mt-5 sxa:space-y-2.5 sxa:border-t sxa:pt-4 sxa:text-small", children: [
14896
- /* @__PURE__ */ jsx13(DetailRow, { label: t("subscriptions.gateway"), children: subscription.gateway }),
15140
+ /* @__PURE__ */ jsx13(DetailRow, { label: t("subscriptions.gateway"), children: gatewayLabel(subscription.gateway) }),
14897
15141
  /* @__PURE__ */ jsx13(DetailRow, { label: t("subscriptions.paymentMethod"), children: subscription.payment_method?.card_brand && subscription.payment_method.card_last4 ? t("subscriptions.cardOnFile", {
14898
15142
  brand: subscription.payment_method.card_brand,
14899
15143
  last4: subscription.payment_method.card_last4
14900
- }) : subscription.payment_method?.type ?? t("subscriptions.noPaymentMethod") })
15144
+ }) : subscription.payment_method?.type ?? t("subscriptions.noPaymentMethod") }),
15145
+ discount ? (
15146
+ // Wraps instead of truncating: the line ends with the price after the term.
15147
+ /* @__PURE__ */ jsxs12("div", { className: "sxa:flex sxa:items-start sxa:justify-between sxa:gap-4", children: [
15148
+ /* @__PURE__ */ jsx13("dt", { className: "sxa:shrink-0 sxa:text-muted", children: t("subscriptions.discount") }),
15149
+ /* @__PURE__ */ jsx13("dd", { className: "sxa:min-w-0 sxa:text-right sxa:font-medium", children: discount })
15150
+ ] })
15151
+ ) : null
14901
15152
  ] })
14902
15153
  ] }),
14903
15154
  subscription.actions.can_manage_payment_method ? /* @__PURE__ */ jsx13(
@@ -15215,6 +15466,27 @@ function renewalCopy(subscription, state, open) {
15215
15466
  const note = state === "ready" ? t("subscriptions.readyNote", { renewal, interval: t(noteIntervalKey(open, "ready")) }) : t("subscriptions.dueNote", { renewal, date });
15216
15467
  return { note, payLabel: t("subscriptions.payAmount", { amount }) };
15217
15468
  }
15469
+ function discountLine(subscription) {
15470
+ const { discount, plan } = subscription;
15471
+ if (!discount || !plan) return null;
15472
+ const off = discount.discount_type === "PERCENTAGE" ? t("subscriptions.discountPercent", { percent: Number(discount.discount_value) }) : formatAccountAmount(discount.discount_amount, discount.currency);
15473
+ const cap = discount.max_discount === null ? "" : t("subscriptions.discountCap", { amount: formatAccountAmount(discount.max_discount, discount.currency) });
15474
+ if (discount.payments_total === null) return t("subscriptions.discountEvery", { code: discount.code, off, cap });
15475
+ const left = discount.payments_total - discount.payments_used;
15476
+ const period = billingMessage(plan, "period");
15477
+ return t(left === 1 ? "subscriptions.discountLeftOne" : "subscriptions.discountLeft", {
15478
+ code: discount.code,
15479
+ off,
15480
+ cap,
15481
+ count: left,
15482
+ price: formatAccountAmount(discount.full_amount, discount.currency),
15483
+ period: t(period.key, period.params)
15484
+ });
15485
+ }
15486
+ function nextPaymentAmount(subscription) {
15487
+ if (subscription.discount) return formatAccountAmount(subscription.discount.next_amount, subscription.discount.currency);
15488
+ return subscription.plan ? formatAccountAmount(subscription.plan.price, subscription.plan.currency) : null;
15489
+ }
15218
15490
  function DetailRow({ label, children }) {
15219
15491
  return /* @__PURE__ */ jsxs12("div", { className: "sxa:flex sxa:items-center sxa:justify-between sxa:gap-4", children: [
15220
15492
  /* @__PURE__ */ jsx13("dt", { className: "sxa:text-muted", children: label }),