@redneckz/wildless-cms-uni-blocks 0.14.1063 → 0.14.1065

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 (112) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +52 -30
  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/bundle/retail/model/RetailFormContent.d.ts +1 -0
  9. package/dist/components/ApplicationLeadForm/getInitialFormState.js +1 -0
  10. package/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  11. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js +0 -2
  12. package/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  13. package/dist/components/RatesTable/RatesTable.d.ts +3 -0
  14. package/dist/components/RatesTable/RatesTable.js +23 -5
  15. package/dist/components/RatesTable/RatesTable.js.map +1 -1
  16. package/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  17. package/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  18. package/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  19. package/dist/hooks/useRates.d.ts +11 -2
  20. package/dist/hooks/useRates.js +28 -20
  21. package/dist/hooks/useRates.js.map +1 -1
  22. package/dist/retail/components/Fields/DeliveryDateField.js +1 -1
  23. package/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  24. package/dist/retail/content.js +1 -0
  25. package/dist/retail/content.js.map +1 -1
  26. package/dist/retail/model/RetailFormContent.d.ts +1 -0
  27. package/lib/components/ApplicationLeadForm/getInitialFormState.js +1 -0
  28. package/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  29. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js +0 -2
  30. package/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  31. package/lib/components/RatesTable/RatesTable.d.ts +3 -0
  32. package/lib/components/RatesTable/RatesTable.fixture.d.ts +1 -1
  33. package/lib/components/RatesTable/RatesTable.fixture.mobile.d.ts +1 -1
  34. package/lib/components/RatesTable/RatesTable.js +23 -5
  35. package/lib/components/RatesTable/RatesTable.js.map +1 -1
  36. package/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  37. package/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  38. package/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  39. package/lib/hooks/useRates.d.ts +11 -2
  40. package/lib/hooks/useRates.js +28 -20
  41. package/lib/hooks/useRates.js.map +1 -1
  42. package/lib/retail/components/Fields/DeliveryDateField.js +1 -1
  43. package/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  44. package/lib/retail/content.js +1 -0
  45. package/lib/retail/content.js.map +1 -1
  46. package/lib/retail/model/RetailFormContent.d.ts +1 -0
  47. package/mobile/bundle/bundle.umd.js +52 -30
  48. package/mobile/bundle/bundle.umd.min.js +1 -1
  49. package/mobile/bundle/components/RatesTable/RatesTable.d.ts +3 -0
  50. package/mobile/bundle/components/RatesTable/RatesTableContent.d.ts +13 -3
  51. package/mobile/bundle/components/RatesTable/RatesTableItem.d.ts +2 -2
  52. package/mobile/bundle/hooks/useRates.d.ts +11 -2
  53. package/mobile/bundle/retail/model/RetailFormContent.d.ts +1 -0
  54. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js +1 -0
  55. package/mobile/dist/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  56. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js +0 -2
  57. package/mobile/dist/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  58. package/mobile/dist/components/RatesTable/RatesTable.d.ts +3 -0
  59. package/mobile/dist/components/RatesTable/RatesTable.js +23 -5
  60. package/mobile/dist/components/RatesTable/RatesTable.js.map +1 -1
  61. package/mobile/dist/components/RatesTable/RatesTableContent.d.ts +13 -3
  62. package/mobile/dist/components/RatesTable/RatesTableItem.d.ts +2 -2
  63. package/mobile/dist/components/RatesTable/RatesTableItem.js.map +1 -1
  64. package/mobile/dist/hooks/useRates.d.ts +11 -2
  65. package/mobile/dist/hooks/useRates.js +28 -20
  66. package/mobile/dist/hooks/useRates.js.map +1 -1
  67. package/mobile/dist/retail/components/Fields/DeliveryDateField.js +1 -1
  68. package/mobile/dist/retail/components/Fields/DeliveryDateField.js.map +1 -1
  69. package/mobile/dist/retail/content.js +1 -0
  70. package/mobile/dist/retail/content.js.map +1 -1
  71. package/mobile/dist/retail/model/RetailFormContent.d.ts +1 -0
  72. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js +1 -0
  73. package/mobile/lib/components/ApplicationLeadForm/getInitialFormState.js.map +1 -1
  74. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js +0 -2
  75. package/mobile/lib/components/CreditCardForm/getDeliveryCreditCardData.js.map +1 -1
  76. package/mobile/lib/components/RatesTable/RatesTable.d.ts +3 -0
  77. package/mobile/lib/components/RatesTable/RatesTable.js +23 -5
  78. package/mobile/lib/components/RatesTable/RatesTable.js.map +1 -1
  79. package/mobile/lib/components/RatesTable/RatesTableContent.d.ts +13 -3
  80. package/mobile/lib/components/RatesTable/RatesTableItem.d.ts +2 -2
  81. package/mobile/lib/components/RatesTable/RatesTableItem.js.map +1 -1
  82. package/mobile/lib/hooks/useRates.d.ts +11 -2
  83. package/mobile/lib/hooks/useRates.js +28 -20
  84. package/mobile/lib/hooks/useRates.js.map +1 -1
  85. package/mobile/lib/retail/components/Fields/DeliveryDateField.js +1 -1
  86. package/mobile/lib/retail/components/Fields/DeliveryDateField.js.map +1 -1
  87. package/mobile/lib/retail/content.js +1 -0
  88. package/mobile/lib/retail/content.js.map +1 -1
  89. package/mobile/lib/retail/model/RetailFormContent.d.ts +1 -0
  90. package/mobile/src/components/ApplicationLeadForm/getInitialFormState.tsx +1 -0
  91. package/mobile/src/components/CreditCardForm/getDeliveryCreditCardData.ts +0 -2
  92. package/mobile/src/components/RatesTable/RatesTable.example.json +5 -3
  93. package/mobile/src/components/RatesTable/RatesTable.tsx +71 -16
  94. package/mobile/src/components/RatesTable/RatesTableContent.ts +14 -3
  95. package/mobile/src/components/RatesTable/RatesTableItem.tsx +2 -1
  96. package/mobile/src/hooks/useRates.ts +46 -23
  97. package/mobile/src/retail/components/Fields/DeliveryDateField.tsx +1 -0
  98. package/mobile/src/retail/content.tsx +1 -0
  99. package/mobile/src/retail/model/RetailFormContent.ts +1 -0
  100. package/package.json +1 -1
  101. package/src/components/ApplicationLeadForm/getInitialFormState.tsx +1 -0
  102. package/src/components/CreditCardForm/getDeliveryCreditCardData.ts +0 -2
  103. package/src/components/RatesTable/RatesTable.example.json +5 -3
  104. package/src/components/RatesTable/RatesTable.fixture.mobile.tsx +10 -5
  105. package/src/components/RatesTable/RatesTable.fixture.tsx +10 -5
  106. package/src/components/RatesTable/RatesTable.tsx +71 -16
  107. package/src/components/RatesTable/RatesTableContent.ts +14 -3
  108. package/src/components/RatesTable/RatesTableItem.tsx +2 -1
  109. package/src/hooks/useRates.ts +46 -23
  110. package/src/retail/components/Fields/DeliveryDateField.tsx +1 -0
  111. package/src/retail/content.tsx +1 -0
  112. package/src/retail/model/RetailFormContent.ts +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"}
@@ -17,6 +17,6 @@ export const DeliveryDateField = JSX(({ field, input }) => {
17
17
  }
18
18
  return [];
19
19
  }, [data]);
20
- return (_jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), minDate: minDate, weekends: isDebit ? weekends : [] }));
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 : [] }));
21
21
  });
22
22
  //# 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,EAC5B,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;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"}
@@ -130,6 +130,7 @@ export const DELIVERY_CARD_CONTENT = [
130
130
  name: 'methodObtain',
131
131
  values: ['courier'],
132
132
  },
133
+ maxLength: 300,
133
134
  },
134
135
  ],
135
136
  },
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/retail/content.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/retail/content.tsx"],"names":[],"mappings":"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"}
@@ -24,5 +24,6 @@ export declare type FilledByEsiaProps = {
24
24
  export declare type FieldRetailDef = Required & TextProps & LabelProps & ConditionFieldProps & FilledByEsiaProps & DisabledProps & {
25
25
  name?: NameFieldDef;
26
26
  dadata?: boolean;
27
+ maxLength?: number;
27
28
  };
28
29
  export {};
@@ -28,6 +28,7 @@ export const getInitialFormState = (
28
28
  limitedBirthday: new Date(savedForm?.limitedBirthday || 0),
29
29
  ...(!esiaAuthSuccess && {
30
30
  esiaAccountTypeCd: { key: '' },
31
+ confirmationIncome: { key: '', text: '' },
31
32
  }),
32
33
  };
33
34
  }
@@ -12,8 +12,6 @@ export const getDeliveryData = (formData: LeadFormState) => {
12
12
  ? {
13
13
  courierDeliveryFlg: isCourierDelivery,
14
14
  deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
15
- //TODO временный хардкод для тестирования, не забыть удалить
16
- office: { id: '3' },
17
15
  ...deliveryTimeCd,
18
16
  }
19
17
  : {};
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "content": {
3
- "infoMessage": "",
4
- "title": "Курс покупки/продажи для операций с использованием платежных карт в сети Банка",
5
- "href": ""
3
+ "infoMessage": "Информация может содержать неточности, актуальный курс уточняйте в отделении Банка",
4
+ "title": "Курс покупки/продажи",
5
+ "href": "https://www.rshb.ru",
6
+ "ratesType": "natural",
7
+ "notFoundMessage": "Подходящие ставки не найдены"
6
8
  }
7
9
  }
@@ -1,38 +1,93 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useRates } from '../../hooks/useRates';
2
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useRates, type RateItemList } from '../../hooks/useRates';
3
4
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
5
  import { Heading } from '../../ui-kit/Heading/Heading';
6
+ import { Loader } from '../../ui-kit/Loader/Loader';
7
+ import { NotFound } from '../../ui-kit/NotFound/NotFound';
5
8
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
6
9
  import { style } from '../../utils/style';
7
10
  import { type RatesTableContent } from './RatesTableContent';
8
11
  import { RatesTableItem } from './RatesTableItem';
9
- import { renderDataPickForm } from './renderDataPickForm';
10
12
  import { renderLink } from './renderLink';
11
13
 
12
14
  interface RatesTableProps extends RatesTableContent, UniBlockProps {}
13
15
 
16
+ interface RenderRatesContent extends RatesTableContent, ArchiveRates {
17
+ isRatesValid?: boolean;
18
+ ratesList?: RateItemList[];
19
+ }
20
+
21
+ export type ArchiveRates = {
22
+ isArchive?: boolean;
23
+ };
24
+
14
25
  export const RatesTable = JSX<RatesTableProps>(
15
- ({ href, className = '', infoMessage, title, isArchive = false, ...rest }) => {
16
- const ratesList = useRates(isArchive);
26
+ ({
27
+ href,
28
+ ratesType = 'natural',
29
+ className = '',
30
+ infoMessage,
31
+ notFoundMessage,
32
+ title,
33
+ ...rest
34
+ }) => {
35
+ // const [date, setDate] = useState<Date>();
36
+ const [fetchArchive, setFetchArchive] = useState<boolean>(true);
37
+
38
+ //const isArchive = ratesType === 'archive';
39
+
40
+ const { ratesList, isLoad } = useRates({
41
+ ratesType,
42
+ fetchArchive,
43
+ });
17
44
 
18
- const isRatesValid = ratesList[0].length > 0;
45
+ useEffect(() => {
46
+ setFetchArchive(false);
47
+ }, []);
48
+
49
+ const isRatesValid = ratesList?.length > 0;
19
50
 
20
51
  return (
21
52
  <BlockWrapper className={style('p-6xl space-y-xl', className)} defaultPadding="p-0" {...rest}>
22
53
  <Heading className="mb-xl">{title}</Heading>
23
- {isArchive ? renderDataPickForm() : null}
24
- {ratesList.map((list, i) => (
25
- <RatesTableItem
26
- list={list}
27
- isRatesValid={isRatesValid}
28
- isArchive={isArchive}
29
- key={String(i)}
30
- infoMessage={infoMessage}
31
- />
32
- ))}
33
-
54
+ {/*{isArchive
55
+ ? renderDataPickForm({ value: date, onChange: setDate, handleClick: setFetchArchive })
56
+ : null}*/}
57
+ {isLoad ? (
58
+ renderRatesContent({
59
+ ratesList,
60
+ isArchive: false,
61
+ infoMessage,
62
+ isRatesValid,
63
+ notFoundMessage,
64
+ })
65
+ ) : (
66
+ <Loader position="static" />
67
+ )}
34
68
  {href ? renderLink(href) : null}
35
69
  </BlockWrapper>
36
70
  );
37
71
  },
38
72
  );
73
+
74
+ const renderRatesContent = ({
75
+ ratesList = [],
76
+ isArchive = false,
77
+ infoMessage,
78
+ isRatesValid,
79
+ notFoundMessage,
80
+ }: RenderRatesContent) =>
81
+ ratesList.length > 0 ? (
82
+ ratesList.map((list, i) => (
83
+ <RatesTableItem
84
+ list={list}
85
+ isRatesValid={isRatesValid}
86
+ isArchive={isArchive}
87
+ key={String(i)}
88
+ infoMessage={infoMessage}
89
+ />
90
+ ))
91
+ ) : (
92
+ <NotFound description={notFoundMessage} />
93
+ );
@@ -1,13 +1,24 @@
1
1
  import { type HrefProps } from '../../model/LinkProps';
2
2
 
3
3
  /**
4
- * @title Таблица курсов
4
+ * @title Тип курсов
5
+ * @default "Курсы для физ.лиц"
6
+ * @enumNames [
7
+ * "Курсы для физ.лиц",
8
+ * "Курсы для держателей карт"
9
+ * ]
10
+ */
11
+ export type RatesType = 'natural' | 'cards';
12
+
13
+ /**
14
+ * @title Кросс-курсы
5
15
  */
6
16
  export interface RatesTableContent extends HrefProps {
7
17
  /** @title Информационное сообщение */
8
18
  infoMessage?: string;
9
19
  /** @title Заголовок */
10
20
  title?: string;
11
- /** @hidden */
12
- isArchive?: boolean;
21
+ ratesType?: RatesType;
22
+ /** @title Сообщение при отсутствии ставок */
23
+ notFoundMessage?: string;
13
24
  }
@@ -3,10 +3,11 @@ import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
3
3
  import { Rate, RATES_COLUMN_STYLE, type RateItem } from '../../ui-kit/Rate/Rate';
4
4
  import { Text } from '../../ui-kit/Text/Text';
5
5
  import { style } from '../../utils/style';
6
+ import { type ArchiveRates } from './RatesTable';
6
7
  import { type RatesTableContent } from './RatesTableContent';
7
8
  import { renderDate } from './renderDate';
8
9
 
9
- interface RatesTableItemProps extends RatesTableContent {
10
+ export interface RatesTableItemProps extends RatesTableContent, ArchiveRates {
10
11
  maxDate?: string;
11
12
  isRatesValid?: boolean;
12
13
  list: RateItem[];
@@ -1,6 +1,7 @@
1
1
  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';
4
+ import { type RatesType } from '../components/RatesTable/RatesTableContent';
4
5
  import { type RateItem } from '../ui-kit/Rate/Rate';
5
6
  import { fetchJSONUnsafe, type FetchJSONUnsafeType } from '../utils/fetchJSON';
6
7
 
@@ -9,33 +10,43 @@ type RatesStoreItem = {
9
10
  nextUpdate: number;
10
11
  };
11
12
 
12
- type RateItemList = RateItem[];
13
+ export type RateItemList = RateItem[];
13
14
 
14
15
  type RatesStoreSlice = {
15
16
  rates: RatesStoreItem;
16
17
  archiveRates: RatesStoreItem;
17
18
  };
18
19
 
19
- const RATES_URL = `${API_BASE_URI}/rates`;
20
- const ARCHIVE_RATES_URL = `${API_BASE_URI}/historyrates`;
21
- const EMPTY_RATES: RateItemList[] = [
22
- [
23
- {
24
- currencyPair: 'Валютная пара',
25
- buyRate: 0,
26
- sellRate: 0,
27
- },
28
- ],
29
- ];
30
-
31
- export function useRates(isArchive: boolean): RateItemList[] {
32
- const url = isArchive ? ARCHIVE_RATES_URL : RATES_URL;
33
- const rateKey = isArchive ? 'archiveRates' : 'rates';
20
+ type FetchRatesProps = {
21
+ ratesType?: RatesType;
22
+ date?: Date;
23
+ fetchArchive?: boolean;
24
+ };
25
+
26
+ const EMPTY_RATES: RateItemList[] = [];
27
+
28
+ const RATES_URL: Record<RatesType, string> = {
29
+ natural: `${API_BASE_URI}/rates`,
30
+ cards: `${API_BASE_URI}/ratescards`,
31
+ //archive: `${API_BASE_URI}/historyrates`,
32
+ };
33
+
34
+ const RATES_KEY: Record<RatesType, string> = {
35
+ natural: 'rates',
36
+ cards: 'ratescards',
37
+ //archive: 'historyrates',
38
+ };
39
+
40
+ // TODO: для архива прокинуть date
41
+ export function useRates({ ratesType = 'natural', fetchArchive = true }: FetchRatesProps) {
42
+ //const url = ratesType === 'archive' ? getArchiveRatesURL(date) : RATES_URL[ratesType];
43
+ const url = RATES_URL[ratesType];
44
+ const rateKey = RATES_KEY[ratesType];
34
45
 
35
46
  const ratesStore = useLocalStore<RatesStoreSlice>();
36
47
 
37
48
  // проверяем, надо ли обновлять значения ставок
38
- const shouldUpdate = getShouldUpdate(isArchive, ratesStore as RatesStoreSlice);
49
+ const shouldUpdate = getShouldUpdate(rateKey, ratesStore as RatesStoreSlice, fetchArchive);
39
50
 
40
51
  // костыль, не отправлять запрос на бэк, если уже был запрос менее 15 мин назад
41
52
  const { data } = useAsyncData(
@@ -46,20 +57,32 @@ export function useRates(isArchive: boolean): RateItemList[] {
46
57
  // если есть data и значение надо обновить, то обновляем локалсторадж
47
58
  if (shouldUpdate && data) {
48
59
  const nextUpdate = getTimeAfter15Minutes();
49
- ratesStore[rateKey] = { rate: data, nextUpdate };
60
+ ratesStore[rateKey] = { rate: data ?? [], nextUpdate };
50
61
  }
51
62
 
52
63
  // берем данные из локалсторадж
53
64
  const rates = ratesStore[rateKey]?.rate;
54
65
 
66
+ const isLoad = Array.isArray(rates);
67
+
55
68
  // возвращаем данные из локалсторадж или заглушку
56
- return Array.isArray(rates) ? rates : EMPTY_RATES;
69
+ return { ratesList: rates ?? EMPTY_RATES, isLoad };
57
70
  }
58
71
 
59
72
  // Отсчитываем 15 минут с текущего момента
60
73
  const getTimeAfter15Minutes = () => Date.now() + 15 * 60 * 1000;
61
74
 
62
- const getShouldUpdate = (isArchive: boolean, ratesStore: RatesStoreSlice | null) =>
63
- isArchive
64
- ? !ratesStore?.archiveRates || ratesStore?.archiveRates.nextUpdate <= Date.now()
65
- : !ratesStore?.rates || ratesStore?.rates.nextUpdate <= Date.now();
75
+ const getShouldUpdate = (
76
+ rateKey: string,
77
+ ratesStore: RatesStoreSlice | null,
78
+ fetchArchive: boolean,
79
+ ) =>
80
+ rateKey === 'archive'
81
+ ? (!ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now()) && fetchArchive
82
+ : !ratesStore?.[rateKey] || ratesStore?.[rateKey].nextUpdate <= Date.now();
83
+
84
+ /*const getArchiveRatesURL = (date?: Date) => {
85
+ const formattedDate = date && formatDate(date, true);
86
+
87
+ return formattedDate ? `${RATES_URL['archive']}?date=${formattedDate}` : RATES_URL['archive'];
88
+ };*/
@@ -26,6 +26,7 @@ export const DeliveryDateField = JSX<CustomFieldProps>(({ field, input }) => {
26
26
  <DatePickerControl
27
27
  label="Дата доставки"
28
28
  {...field(input?.name ?? '')}
29
+ {...input}
29
30
  minDate={minDate}
30
31
  weekends={isDebit ? weekends : []}
31
32
  />
@@ -134,6 +134,7 @@ export const DELIVERY_CARD_CONTENT: CreditCardSectionsProps[] = [
134
134
  name: 'methodObtain',
135
135
  values: ['courier'],
136
136
  },
137
+ maxLength: 300,
137
138
  },
138
139
  ],
139
140
  },
@@ -34,4 +34,5 @@ export type FieldRetailDef = Required &
34
34
  DisabledProps & {
35
35
  name?: NameFieldDef;
36
36
  dadata?: boolean;
37
+ maxLength?: number;
37
38
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.1063",
3
+ "version": "0.14.1065",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -28,6 +28,7 @@ export const getInitialFormState = (
28
28
  limitedBirthday: new Date(savedForm?.limitedBirthday || 0),
29
29
  ...(!esiaAuthSuccess && {
30
30
  esiaAccountTypeCd: { key: '' },
31
+ confirmationIncome: { key: '', text: '' },
31
32
  }),
32
33
  };
33
34
  }
@@ -12,8 +12,6 @@ export const getDeliveryData = (formData: LeadFormState) => {
12
12
  ? {
13
13
  courierDeliveryFlg: isCourierDelivery,
14
14
  deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
15
- //TODO временный хардкод для тестирования, не забыть удалить
16
- office: { id: '3' },
17
15
  ...deliveryTimeCd,
18
16
  }
19
17
  : {};
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "content": {
3
- "infoMessage": "",
4
- "title": "Курс покупки/продажи для операций с использованием платежных карт в сети Банка",
5
- "href": ""
3
+ "infoMessage": "Информация может содержать неточности, актуальный курс уточняйте в отделении Банка",
4
+ "title": "Курс покупки/продажи",
5
+ "href": "https://www.rshb.ru",
6
+ "ratesType": "natural",
7
+ "notFoundMessage": "Подходящие ставки не найдены"
6
8
  }
7
9
  }
@@ -7,20 +7,25 @@ const ratesTableContent = {
7
7
  href: 'rshb.ru',
8
8
  };
9
9
 
10
- const archiveRatesTableContent = {
10
+ /*const archiveRatesTableContent = {
11
11
  title: 'Архив курсов покупки/продажи для операций с использованием платежных карт в сети Банка',
12
- isArchive: true,
12
+ notFoundMessage: 'За этот день ставки не приходили',
13
+ };*/
14
+
15
+ const cardsRatesTableContent = {
16
+ title: 'Курс покупки/продажи для операций с использованием платежных карт в сети Банка',
17
+ notFoundMessage: 'Подходящих ставок нет',
13
18
  };
14
19
 
15
20
  export default {
16
21
  default: (
17
22
  <div className="container grid grid-cols-12">
18
- <RatesTable className="col-span-12" {...ratesTableContent} />
23
+ <RatesTable className="col-span-12" {...ratesTableContent} ratesType="natural" />
19
24
  </div>
20
25
  ),
21
- archive: (
26
+ cards: (
22
27
  <div className="container grid grid-cols-12">
23
- <RatesTable className="col-span-12" {...archiveRatesTableContent} />
28
+ <RatesTable className="col-span-12" {...cardsRatesTableContent} ratesType="cards" />
24
29
  </div>
25
30
  ),
26
31
  };
@@ -7,20 +7,25 @@ const ratesTableContent = {
7
7
  href: 'rshb.ru',
8
8
  };
9
9
 
10
- const archiveRatesTableContent = {
10
+ /*const archiveRatesTableContent = {
11
11
  title: 'Архив курсов покупки/продажи для операций с использованием платежных карт в сети Банка',
12
- isArchive: true,
12
+ notFoundMessage: 'За этот день ставки не приходили',
13
+ };*/
14
+
15
+ const cardsRatesTableContent = {
16
+ title: 'Курс покупки/продажи для операций с использованием платежных карт в сети Банка',
17
+ notFoundMessage: 'Подходящих ставок нет',
13
18
  };
14
19
 
15
20
  export default {
16
21
  default: (
17
22
  <div className="container grid grid-cols-12">
18
- <RatesTable className="col-span-12" {...ratesTableContent} />
23
+ <RatesTable className="col-span-12" {...ratesTableContent} ratesType="natural" />
19
24
  </div>
20
25
  ),
21
- archive: (
26
+ cards: (
22
27
  <div className="container grid grid-cols-12">
23
- <RatesTable className="col-span-12" {...archiveRatesTableContent} />
28
+ <RatesTable className="col-span-12" {...cardsRatesTableContent} ratesType="cards" />
24
29
  </div>
25
30
  ),
26
31
  };