@redneckz/wildless-cms-uni-blocks 0.14.1064 → 0.14.1066

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 (105) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +58 -32
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/RatesTable/RatesTable.d.ts +3 -0
  5. package/bundle/components/RatesTable/RatesTableContent.d.ts +13 -3
  6. package/bundle/components/RatesTable/RatesTableItem.d.ts +2 -2
  7. package/bundle/hooks/useRates.d.ts +11 -2
  8. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  9. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  10. package/dist/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  11. package/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  12. package/dist/components/RatesTable/RatesTable.d.ts +3 -0
  13. package/dist/components/RatesTable/RatesTable.js +23 -5
  14. package/dist/components/RatesTable/RatesTable.js.map +1 -1
  15. package/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  16. package/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  17. package/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  18. package/dist/hooks/useRates.d.ts +11 -2
  19. package/dist/hooks/useRates.js +28 -20
  20. package/dist/hooks/useRates.js.map +1 -1
  21. package/dist/retail/components/Fields/DeliveryDateField.js +1 -5
  22. package/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  23. package/dist/retail/components/Fields/DeliveryTimeField.js +1 -0
  24. package/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  25. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  26. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  27. package/lib/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  28. package/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  29. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  30. package/lib/components/RatesTable/RatesTable.d.ts +3 -0
  31. package/lib/components/RatesTable/RatesTable.fixture.d.ts +1 -1
  32. package/lib/components/RatesTable/RatesTable.fixture.mobile.d.ts +1 -1
  33. package/lib/components/RatesTable/RatesTable.js +23 -5
  34. package/lib/components/RatesTable/RatesTable.js.map +1 -1
  35. package/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  36. package/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  37. package/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  38. package/lib/hooks/useRates.d.ts +11 -2
  39. package/lib/hooks/useRates.js +28 -20
  40. package/lib/hooks/useRates.js.map +1 -1
  41. package/lib/retail/components/Fields/DeliveryDateField.js +1 -5
  42. package/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  43. package/lib/retail/components/Fields/DeliveryTimeField.js +1 -0
  44. package/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  45. package/mobile/bundle/bundle.umd.js +58 -32
  46. package/mobile/bundle/bundle.umd.min.js +1 -1
  47. package/mobile/bundle/components/RatesTable/RatesTable.d.ts +3 -0
  48. package/mobile/bundle/components/RatesTable/RatesTableContent.d.ts +13 -3
  49. package/mobile/bundle/components/RatesTable/RatesTableItem.d.ts +2 -2
  50. package/mobile/bundle/hooks/useRates.d.ts +11 -2
  51. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  52. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  53. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  54. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  55. package/mobile/dist/components/RatesTable/RatesTable.d.ts +3 -0
  56. package/mobile/dist/components/RatesTable/RatesTable.js +23 -5
  57. package/mobile/dist/components/RatesTable/RatesTable.js.map +1 -1
  58. package/mobile/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  59. package/mobile/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  60. package/mobile/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  61. package/mobile/dist/hooks/useRates.d.ts +11 -2
  62. package/mobile/dist/hooks/useRates.js +28 -20
  63. package/mobile/dist/hooks/useRates.js.map +1 -1
  64. package/mobile/dist/retail/components/Fields/DeliveryDateField.js +1 -5
  65. package/mobile/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  66. package/mobile/dist/retail/components/Fields/DeliveryTimeField.js +1 -0
  67. package/mobile/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  68. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js +6 -0
  69. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  70. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js +2 -1
  71. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  72. package/mobile/lib/components/RatesTable/RatesTable.d.ts +3 -0
  73. package/mobile/lib/components/RatesTable/RatesTable.js +23 -5
  74. package/mobile/lib/components/RatesTable/RatesTable.js.map +1 -1
  75. package/mobile/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  76. package/mobile/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  77. package/mobile/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  78. package/mobile/lib/hooks/useRates.d.ts +11 -2
  79. package/mobile/lib/hooks/useRates.js +28 -20
  80. package/mobile/lib/hooks/useRates.js.map +1 -1
  81. package/mobile/lib/retail/components/Fields/DeliveryDateField.js +1 -5
  82. package/mobile/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  83. package/mobile/lib/retail/components/Fields/DeliveryTimeField.js +1 -0
  84. package/mobile/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
  85. package/mobile/src/components/CreditCardForm/getDeliveryCreditCardData.ts +6 -0
  86. package/mobile/src/components/CreditCardForm/useCreditCardFormAPI.tsx +2 -1
  87. package/mobile/src/components/RatesTable/RatesTable.example.json +5 -3
  88. package/mobile/src/components/RatesTable/RatesTable.tsx +71 -16
  89. package/mobile/src/components/RatesTable/RatesTableContent.ts +14 -3
  90. package/mobile/src/components/RatesTable/RatesTableItem.tsx +2 -1
  91. package/mobile/src/hooks/useRates.ts +46 -23
  92. package/mobile/src/retail/components/Fields/DeliveryDateField.tsx +2 -6
  93. package/mobile/src/retail/components/Fields/DeliveryTimeField.tsx +1 -0
  94. package/package.json +1 -1
  95. package/src/components/CreditCardForm/getDeliveryCreditCardData.ts +6 -0
  96. package/src/components/CreditCardForm/useCreditCardFormAPI.tsx +2 -1
  97. package/src/components/RatesTable/RatesTable.example.json +5 -3
  98. package/src/components/RatesTable/RatesTable.fixture.mobile.tsx +10 -5
  99. package/src/components/RatesTable/RatesTable.fixture.tsx +10 -5
  100. package/src/components/RatesTable/RatesTable.tsx +71 -16
  101. package/src/components/RatesTable/RatesTableContent.ts +14 -3
  102. package/src/components/RatesTable/RatesTableItem.tsx +2 -1
  103. package/src/hooks/useRates.ts +46 -23
  104. package/src/retail/components/Fields/DeliveryDateField.tsx +2 -6
  105. package/src/retail/components/Fields/DeliveryTimeField.tsx +1 -0
@@ -2,38 +2,46 @@ import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
2
  import { useLocalStore } from '@redneckz/uni-jsx/lib/Store/useLocalStore';
3
3
  import { API_BASE_URI } from '../api/apiBaseUrl.js';
4
4
  import { fetchJSONUnsafe } from '../utils/fetchJSON.js';
5
- const RATES_URL = `${API_BASE_URI}/rates`;
6
- const ARCHIVE_RATES_URL = `${API_BASE_URI}/historyrates`;
7
- const EMPTY_RATES = [
8
- [
9
- {
10
- currencyPair: 'Валютная пара',
11
- buyRate: 0,
12
- sellRate: 0,
13
- },
14
- ],
15
- ];
16
- export function useRates(isArchive) {
17
- const url = isArchive ? ARCHIVE_RATES_URL : RATES_URL;
18
- const rateKey = isArchive ? 'archiveRates' : 'rates';
5
+ const EMPTY_RATES = [];
6
+ const RATES_URL = {
7
+ natural: `${API_BASE_URI}/rates`,
8
+ cards: `${API_BASE_URI}/ratescards`,
9
+ //archive: `${API_BASE_URI}/historyrates`,
10
+ };
11
+ const RATES_KEY = {
12
+ natural: 'rates',
13
+ cards: 'ratescards',
14
+ //archive: 'historyrates',
15
+ };
16
+ // TODO: для архива прокинуть date
17
+ export function useRates({ ratesType = 'natural', fetchArchive = true }) {
18
+ //const url = ratesType === 'archive' ? getArchiveRatesURL(date) : RATES_URL[ratesType];
19
+ const url = RATES_URL[ratesType];
20
+ const rateKey = RATES_KEY[ratesType];
19
21
  const ratesStore = useLocalStore();
20
22
  // проверяем, надо ли обновлять значения ставок
21
- const shouldUpdate = getShouldUpdate(isArchive, ratesStore);
23
+ const shouldUpdate = getShouldUpdate(rateKey, ratesStore, fetchArchive);
22
24
  // костыль, не отправлять запрос на бэк, если уже был запрос менее 15 мин назад
23
25
  const { data } = useAsyncData(shouldUpdate ? url : '', fetchJSONUnsafe);
24
26
  // если есть data и значение надо обновить, то обновляем локалсторадж
25
27
  if (shouldUpdate && data) {
26
28
  const nextUpdate = getTimeAfter15Minutes();
27
- ratesStore[rateKey] = { rate: data, nextUpdate };
29
+ ratesStore[rateKey] = { rate: data ?? [], nextUpdate };
28
30
  }
29
31
  // берем данные из локалсторадж
30
32
  const rates = ratesStore[rateKey]?.rate;
33
+ const isLoad = Array.isArray(rates);
31
34
  // возвращаем данные из локалсторадж или заглушку
32
- return Array.isArray(rates) ? rates : EMPTY_RATES;
35
+ return { ratesList: rates ?? EMPTY_RATES, isLoad };
33
36
  }
34
37
  // Отсчитываем 15 минут с текущего момента
35
38
  const getTimeAfter15Minutes = () => Date.now() + 15 * 60 * 1000;
36
- const getShouldUpdate = (isArchive, ratesStore) => isArchive
37
- ? !ratesStore?.archiveRates || ratesStore?.archiveRates.nextUpdate <= Date.now()
38
- : !ratesStore?.rates || ratesStore?.rates.nextUpdate <= Date.now();
39
+ const getShouldUpdate = (rateKey, ratesStore, fetchArchive) => rateKey === 'archive'
40
+ ? (!ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now()) && fetchArchive
41
+ : !ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now();
42
+ /*const getArchiveRatesURL = (date?: Date) => {
43
+ const formattedDate = date && formatDate(date, true);
44
+
45
+ return formattedDate ? `${RATES_URL['archive']}?date=${formattedDate}` : RATES_URL['archive'];
46
+ };*/
39
47
  //# sourceMappingURL=useRates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRates.js","sourceRoot":"","sources":["../../src/hooks/useRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAc/E,MAAM,SAAS,GAAG,GAAG,YAAY,QAAQ,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,YAAY,eAAe,CAAC;AACzD,MAAM,WAAW,GAAmB;IAClC;QACE;YACE,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;SACZ;KACF;CACF,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,SAAkB;IACzC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;IAErD,MAAM,UAAU,GAAG,aAAa,EAAmB,CAAC;IAEpD,+CAA+C;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,UAA6B,CAAC,CAAC;IAE/E,+EAA+E;IAC/E,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACvB,eAAsD,CACvD,CAAC;IAEF,qEAAqE;IACrE,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAClD;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAExC,iDAAiD;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;AACpD,CAAC;AAED,0CAA0C;AAC1C,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhE,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAE,UAAkC,EAAE,EAAE,CACjF,SAAS;IACP,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,IAAI,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;IAChF,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"useRates.js","sourceRoot":"","sources":["../../src/hooks/useRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAoB/E,MAAM,WAAW,GAAmB,EAAE,CAAC;AAEvC,MAAM,SAAS,GAA8B;IAC3C,OAAO,EAAE,GAAG,YAAY,QAAQ;IAChC,KAAK,EAAE,GAAG,YAAY,aAAa;IACnC,0CAA0C;CAC3C,CAAC;AAEF,MAAM,SAAS,GAA8B;IAC3C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,YAAY;IACnB,0BAA0B;CAC3B,CAAC;AAEF,kCAAkC;AAClC,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,YAAY,GAAG,IAAI,EAAmB;IACtF,wFAAwF;IACxF,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,aAAa,EAAmB,CAAC;IAEpD,+CAA+C;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,UAA6B,EAAE,YAAY,CAAC,CAAC;IAE3F,+EAA+E;IAC/E,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EACvB,eAAsD,CACvD,CAAC;IAEF,qEAAqE;IACrE,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC;KACxD;IAED,+BAA+B;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IAExC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpC,iDAAiD;IACjD,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,0CAA0C;AAC1C,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhE,MAAM,eAAe,GAAG,CACtB,OAAe,EACf,UAAkC,EAClC,YAAqB,EACrB,EAAE,CACF,OAAO,KAAK,SAAS;IACnB,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,YAAY;IAC5F,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAE/E;;;;IAII"}
@@ -3,12 +3,8 @@ import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { DatePickerControl } from '../../../ui-kit/DatePicker/DatePickerControl.js';
5
5
  import { useLeadFormData } from '../../hooks/useLeadFormData.js';
6
- import { useRetailFormStore } from '../../hooks/useRetailFormStore.js';
7
6
  const MIN_DATE = new Date(Date.now() + 1 * 24 * 60 * 60 * 1000);
8
7
  export const DeliveryDateField = JSX(({ field, input }) => {
9
- const { productType } = useRetailFormStore();
10
- const isDebit = productType === 'debitCard';
11
- const minDate = isDebit ? MIN_DATE : new Date();
12
8
  const { data } = useLeadFormData('DAYS_DELIVERY_SETTINGS');
13
9
  const weekends = useMemo(() => {
14
10
  const weekendItem = data?.find((item) => item.key === 'WEEKEND');
@@ -17,6 +13,6 @@ export const DeliveryDateField = JSX(({ field, input }) => {
17
13
  }
18
14
  return [];
19
15
  }, [data]);
20
- return (_jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: minDate, weekends: isDebit ? weekends : [] }));
16
+ return (_jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: MIN_DATE, weekends: weekends }));
21
17
  });
22
18
  //# sourceMappingURL=DeliveryDateField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryDateField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/DeliveryDateField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAa,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QACjE,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;YACpC,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAC,2EAAe,KACjB,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,KACxB,KAAK,EACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GACjC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"DeliveryDateField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/DeliveryDateField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAa,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QACjE,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE;YACpC,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAC,2EAAe,KACjB,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,KACxB,KAAK,EACT,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -14,6 +14,7 @@ export const DeliveryTimeField = JSX(({ field, input }) => {
14
14
  const allowedTimes = isDebit ? debitDeliveryTime : creditDeliveryTime;
15
15
  return (data || [])
16
16
  .filter((item) => item.key && allowedTimes.includes(item.key))
17
+ .sort((a, b) => (a.displayOrder || 0) - (b.displayOrder || 0))
17
18
  .map((item) => ({
18
19
  id: item.key,
19
20
  text: item.value,
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryTimeField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/DeliveryTimeField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAsB,OAAO,CAAC,GAAG,EAAE;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAEtE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;aAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,IAAI,CAAC,GAAa;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,KAAC,uBAAuB,IACtB,KAAK,EAAC,iFAAgB,EACtB,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,YAAY,KACf,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"DeliveryTimeField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/DeliveryTimeField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAsB,OAAO,CAAC,GAAG,EAAE;QACnD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAEtE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;aAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,IAAI,CAAC,GAAa;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,KAAC,uBAAuB,IACtB,KAAK,EAAC,iFAAgB,EACtB,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,YAAY,KACf,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,GAC5B,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -6251,9 +6251,6 @@
6251
6251
 
6252
6252
  const MIN_DATE = new Date(Date.now() + 1 * 24 * 60 * 60 * 1000);
6253
6253
  const DeliveryDateField = JSX(({ field, input }) => {
6254
- const { productType } = useRetailFormStore();
6255
- const isDebit = productType === 'debitCard';
6256
- const minDate = isDebit ? MIN_DATE : new Date();
6257
6254
  const { data } = useLeadFormData('DAYS_DELIVERY_SETTINGS');
6258
6255
  const weekends = useMemo(() => {
6259
6256
  const weekendItem = data?.find((item) => item.key === 'WEEKEND');
@@ -6262,7 +6259,7 @@
6262
6259
  }
6263
6260
  return [];
6264
6261
  }, [data]);
6265
- return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: minDate, weekends: isDebit ? weekends : [] }));
6262
+ return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), ...input, minDate: MIN_DATE, weekends: weekends }));
6266
6263
  });
6267
6264
 
6268
6265
  const DeliveryTimeField = JSX(({ field, input }) => {
@@ -6275,6 +6272,7 @@
6275
6272
  const allowedTimes = isDebit ? debitDeliveryTime : creditDeliveryTime;
6276
6273
  return (data || [])
6277
6274
  .filter((item) => item.key && allowedTimes.includes(item.key))
6275
+ .sort((a, b) => (a.displayOrder || 0) - (b.displayOrder || 0))
6278
6276
  .map((item) => ({
6279
6277
  id: item.key,
6280
6278
  text: item.value,
@@ -10820,12 +10818,17 @@
10820
10818
 
10821
10819
  const getDeliveryData$1 = (formData) => {
10822
10820
  const { methodObtain, deliveryDate = '', deliveryTime } = formData;
10821
+ const isNewMicroservice = checkNewMicroservice();
10822
+ //TODO временный хардкод для тестирования, требуется чтобы отработал ЕФР
10823
+ const oficeId = isNewMicroservice ? { id: '92fc8b67-2648-43ad-a441-5ca827021186' } : { id: '3' };
10823
10824
  const isCourierDelivery = methodObtain === 'courier';
10824
10825
  const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
10825
10826
  return isCourierDelivery
10826
10827
  ? {
10827
10828
  courierDeliveryFlg: isCourierDelivery,
10828
10829
  deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
10830
+ //TODO временный хардкод для тестирования, не забыть удалить
10831
+ office: oficeId,
10829
10832
  ...deliveryTimeCd,
10830
10833
  }
10831
10834
  : {};
@@ -10921,7 +10924,8 @@
10921
10924
  cardCategory: leadForm?.cardCategory?.text,
10922
10925
  deliveryDate: leadForm?.deliveryDate,
10923
10926
  };
10924
- retailFormStore.leadForm = initialState;
10927
+ const resetState = { ...initialState, methodObtain: undefined };
10928
+ retailFormStore.leadForm = resetState;
10925
10929
  }
10926
10930
  }, [isFinalStep, initialState]);
10927
10931
  const handleSubmit = useCallback(async (formData) => {
@@ -13661,40 +13665,48 @@
13661
13665
  return (jsx(BlockWrapper, { version: "transparent", className: style(className), defaultPadding: "p-0", ...rest, children: dataType === 'offices' ? jsx(OfficesMap, {}) : jsx(AtmsMap, { descriptionData: data }) }));
13662
13666
  });
13663
13667
 
13664
- const RATES_URL = `${API_BASE_URI}/rates`;
13665
- const ARCHIVE_RATES_URL = `${API_BASE_URI}/historyrates`;
13666
- const EMPTY_RATES = [
13667
- [
13668
- {
13669
- currencyPair: 'Валютная пара',
13670
- buyRate: 0,
13671
- sellRate: 0,
13672
- },
13673
- ],
13674
- ];
13675
- function useRates(isArchive) {
13676
- const url = isArchive ? ARCHIVE_RATES_URL : RATES_URL;
13677
- const rateKey = isArchive ? 'archiveRates' : 'rates';
13668
+ const EMPTY_RATES = [];
13669
+ const RATES_URL = {
13670
+ natural: `${API_BASE_URI}/rates`,
13671
+ cards: `${API_BASE_URI}/ratescards`,
13672
+ //archive: `${API_BASE_URI}/historyrates`,
13673
+ };
13674
+ const RATES_KEY = {
13675
+ natural: 'rates',
13676
+ cards: 'ratescards',
13677
+ //archive: 'historyrates',
13678
+ };
13679
+ // TODO: для архива прокинуть date
13680
+ function useRates({ ratesType = 'natural', fetchArchive = true }) {
13681
+ //const url = ratesType === 'archive' ? getArchiveRatesURL(date) : RATES_URL[ratesType];
13682
+ const url = RATES_URL[ratesType];
13683
+ const rateKey = RATES_KEY[ratesType];
13678
13684
  const ratesStore = useLocalStore();
13679
13685
  // проверяем, надо ли обновлять значения ставок
13680
- const shouldUpdate = getShouldUpdate(isArchive, ratesStore);
13686
+ const shouldUpdate = getShouldUpdate(rateKey, ratesStore, fetchArchive);
13681
13687
  // костыль, не отправлять запрос на бэк, если уже был запрос менее 15 мин назад
13682
13688
  const { data } = useAsyncData(shouldUpdate ? url : '', fetchJSONUnsafe);
13683
13689
  // если есть data и значение надо обновить, то обновляем локалсторадж
13684
13690
  if (shouldUpdate && data) {
13685
13691
  const nextUpdate = getTimeAfter15Minutes();
13686
- ratesStore[rateKey] = { rate: data, nextUpdate };
13692
+ ratesStore[rateKey] = { rate: data ?? [], nextUpdate };
13687
13693
  }
13688
13694
  // берем данные из локалсторадж
13689
13695
  const rates = ratesStore[rateKey]?.rate;
13696
+ const isLoad = Array.isArray(rates);
13690
13697
  // возвращаем данные из локалсторадж или заглушку
13691
- return Array.isArray(rates) ? rates : EMPTY_RATES;
13698
+ return { ratesList: rates ?? EMPTY_RATES, isLoad };
13692
13699
  }
13693
13700
  // Отсчитываем 15 минут с текущего момента
13694
13701
  const getTimeAfter15Minutes = () => Date.now() + 15 * 60 * 1000;
13695
- const getShouldUpdate = (isArchive, ratesStore) => isArchive
13696
- ? !ratesStore?.archiveRates || ratesStore?.archiveRates.nextUpdate <= Date.now()
13697
- : !ratesStore?.rates || ratesStore?.rates.nextUpdate <= Date.now();
13702
+ const getShouldUpdate = (rateKey, ratesStore, fetchArchive) => rateKey === 'archive'
13703
+ ? (!ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now()) && fetchArchive
13704
+ : !ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now();
13705
+ /*const getArchiveRatesURL = (date?: Date) => {
13706
+ const formattedDate = date && formatDate(date, true);
13707
+
13708
+ return formattedDate ? `${RATES_URL['archive']}?date=${formattedDate}` : RATES_URL['archive'];
13709
+ };*/
13698
13710
 
13699
13711
  const sum = (list = []) => list.reduce((a, b) => a + b, 0);
13700
13712
 
@@ -13769,15 +13781,29 @@
13769
13781
  return (jsxs("div", { className: "space-y-xl mb-3xl", children: [maxDate && renderDate({ dateString: maxDate, isArchive }), jsxs("div", { className: style(RATES_COLUMN_STYLE), children: [jsx(Text, { font: "font-medium", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx(Text, { font: "font-medium", children: "\u041F\u043E\u043A\u0443\u043F\u043A\u0430" }), jsx(Text, { font: "font-medium", children: "\u041F\u0440\u043E\u0434\u0430\u0436\u0430" })] }), list.length > 0 ? (list.map((rate, i) => jsx(Rate, { ...rate }, String(i)))) : (jsx(Paragraph, { children: "\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0434\u0430\u043D\u043D\u044B\u0445" })), jsx(Paragraph, { color: "text-secondary-text", children: infoMessage })] }));
13770
13782
  });
13771
13783
 
13772
- const renderDataPickForm = () => (jsxs("div", { className: "flex justify-start items-end space-x-xl", children: [jsx(DatePicker, { label: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u043D\u044C", maxDate: new Date() }), jsx(SubmitButton$1, { className: "h-fit", children: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C" })] }));
13773
-
13774
13784
  const renderLink = (href) => (jsxs(Paragraph, { children: ["\u041F\u043E\u043B\u043D\u044B\u0439 \u0430\u0440\u0445\u0438\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C ", jsx(Link, { href: href, children: "\u0437\u0434\u0435\u0441\u044C" })] }));
13775
13785
 
13776
- const RatesTable = JSX(({ href, className = '', infoMessage, title, isArchive = false, ...rest }) => {
13777
- const ratesList = useRates(isArchive);
13778
- const isRatesValid = ratesList[0].length > 0;
13779
- return (jsxs(BlockWrapper, { className: style('p-6xl space-y-xl', className), defaultPadding: "p-0", ...rest, children: [jsx(Heading, { className: "mb-xl", children: title }), isArchive ? renderDataPickForm() : null, ratesList.map((list, i) => (jsx(RatesTableItem, { list: list, isRatesValid: isRatesValid, isArchive: isArchive, infoMessage: infoMessage }, String(i)))), href ? renderLink(href) : null] }));
13786
+ const RatesTable = JSX(({ href, ratesType = 'natural', className = '', infoMessage, notFoundMessage, title, ...rest }) => {
13787
+ // const [date, setDate] = useState<Date>();
13788
+ const [fetchArchive, setFetchArchive] = useState(true);
13789
+ //const isArchive = ratesType === 'archive';
13790
+ const { ratesList, isLoad } = useRates({
13791
+ ratesType,
13792
+ fetchArchive,
13793
+ });
13794
+ useEffect(() => {
13795
+ setFetchArchive(false);
13796
+ }, []);
13797
+ const isRatesValid = ratesList?.length > 0;
13798
+ return (jsxs(BlockWrapper, { className: style('p-6xl space-y-xl', className), defaultPadding: "p-0", ...rest, children: [jsx(Heading, { className: "mb-xl", children: title }), isLoad ? (renderRatesContent({
13799
+ ratesList,
13800
+ isArchive: false,
13801
+ infoMessage,
13802
+ isRatesValid,
13803
+ notFoundMessage,
13804
+ })) : (jsx(Loader, { position: "static" })), href ? renderLink(href) : null] }));
13780
13805
  });
13806
+ const renderRatesContent = ({ ratesList = [], isArchive = false, infoMessage, isRatesValid, notFoundMessage, }) => ratesList.length > 0 ? (ratesList.map((list, i) => (jsx(RatesTableItem, { list: list, isRatesValid: isRatesValid, isArchive: isArchive, infoMessage: infoMessage }, String(i))))) : (jsx(NotFound, { description: notFoundMessage }));
13781
13807
 
13782
13808
  const inputs = [
13783
13809
  {
@@ -14597,7 +14623,7 @@
14597
14623
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
14598
14624
  });
14599
14625
 
14600
- const packageVersion = "0.14.1063";
14626
+ const packageVersion = "0.14.1065";
14601
14627
 
14602
14628
  exports.Blocks = Blocks;
14603
14629
  exports.ContentPage = ContentPage;