@redneckz/wildless-cms-uni-blocks 0.14.674 → 0.14.676

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 (205) hide show
  1. package/bundle/EventBus/EventBus.d.ts +1 -8
  2. package/bundle/EventBus/defaultEventBus.d.ts +0 -9
  3. package/bundle/bundle.umd.js +406 -136
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/hooks/useLocation.d.ts +4 -1
  6. package/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  7. package/dist/EventBus/EventBus.d.ts +1 -8
  8. package/dist/EventBus/EventBus.js +2 -28
  9. package/dist/EventBus/EventBus.js.map +1 -1
  10. package/dist/EventBus/defaultEventBus.d.ts +0 -9
  11. package/dist/EventBus/defaultEventBus.js.map +1 -1
  12. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  13. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  14. package/dist/components/ContentPage/ContentPage.js +2 -0
  15. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  16. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  17. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  18. package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  19. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  20. package/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  21. package/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  22. package/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  23. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  24. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  25. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  26. package/dist/hooks/useLocation.d.ts +4 -1
  27. package/dist/hooks/useLocation.js +16 -34
  28. package/dist/hooks/useLocation.js.map +1 -1
  29. package/dist/hooks/useRegions.js +3 -1
  30. package/dist/hooks/useRegions.js.map +1 -1
  31. package/dist/ui-kit/DialogManager/useDialogsList.js +3 -0
  32. package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  33. package/dist/ui-kit/FormField/Fields/AddressFactField.js +1 -1
  34. package/dist/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  35. package/dist/ui-kit/FormField/validators.js +3 -2
  36. package/dist/ui-kit/FormField/validators.js.map +1 -1
  37. package/dist/ui-kit/Input/InputControl.js +4 -1
  38. package/dist/ui-kit/Input/InputControl.js.map +1 -1
  39. package/dist/ui-kit/LocationDialog/LocationDialog.js +11 -14
  40. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  41. package/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  42. package/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  43. package/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  44. package/dist/ui-kit/PopupManager/PopupManager.js +3 -0
  45. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  46. package/lib/EventBus/EventBus.d.ts +1 -8
  47. package/lib/EventBus/EventBus.js +1 -27
  48. package/lib/EventBus/EventBus.js.map +1 -1
  49. package/lib/EventBus/defaultEventBus.d.ts +0 -9
  50. package/lib/EventBus/defaultEventBus.js.map +1 -1
  51. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  52. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  53. package/lib/components/ContentPage/ContentPage.js +2 -0
  54. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  55. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  56. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  57. package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  58. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  59. package/lib/components/OfficesAtmsMap/AtmsMap.js +1 -1
  60. package/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  61. package/lib/components/OfficesAtmsMap/OfficesMap.js +1 -1
  62. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  63. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  64. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  65. package/lib/hooks/useLocation.d.ts +4 -1
  66. package/lib/hooks/useLocation.js +15 -34
  67. package/lib/hooks/useLocation.js.map +1 -1
  68. package/lib/hooks/useRegions.js +3 -1
  69. package/lib/hooks/useRegions.js.map +1 -1
  70. package/lib/ui-kit/DialogManager/useDialogsList.js +3 -0
  71. package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  72. package/lib/ui-kit/FormField/Fields/AddressFactField.js +1 -1
  73. package/lib/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  74. package/lib/ui-kit/FormField/validators.js +3 -2
  75. package/lib/ui-kit/FormField/validators.js.map +1 -1
  76. package/lib/ui-kit/Input/InputControl.js +4 -1
  77. package/lib/ui-kit/Input/InputControl.js.map +1 -1
  78. package/lib/ui-kit/LocationDialog/LocationDialog.js +13 -16
  79. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  80. package/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  81. package/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  82. package/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  83. package/lib/ui-kit/PopupManager/PopupManager.js +3 -0
  84. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  85. package/mobile/bundle/EventBus/EventBus.d.ts +1 -8
  86. package/mobile/bundle/EventBus/defaultEventBus.d.ts +0 -9
  87. package/mobile/bundle/bundle.umd.js +406 -136
  88. package/mobile/bundle/bundle.umd.min.js +1 -1
  89. package/mobile/bundle/hooks/useLocation.d.ts +4 -1
  90. package/mobile/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  91. package/mobile/dist/EventBus/EventBus.d.ts +1 -8
  92. package/mobile/dist/EventBus/EventBus.js +2 -28
  93. package/mobile/dist/EventBus/EventBus.js.map +1 -1
  94. package/mobile/dist/EventBus/defaultEventBus.d.ts +0 -9
  95. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -1
  96. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  97. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  98. package/mobile/dist/components/ContentPage/ContentPage.js +2 -0
  99. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  100. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  101. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  102. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  103. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  104. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  105. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  106. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  107. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  108. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  109. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  110. package/mobile/dist/hooks/useLocation.d.ts +4 -1
  111. package/mobile/dist/hooks/useLocation.js +16 -34
  112. package/mobile/dist/hooks/useLocation.js.map +1 -1
  113. package/mobile/dist/hooks/useRegions.js +3 -1
  114. package/mobile/dist/hooks/useRegions.js.map +1 -1
  115. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +3 -0
  116. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  117. package/mobile/dist/ui-kit/FormField/Fields/AddressFactField.js +1 -1
  118. package/mobile/dist/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  119. package/mobile/dist/ui-kit/FormField/validators.js +3 -2
  120. package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
  121. package/mobile/dist/ui-kit/Input/InputControl.js +4 -1
  122. package/mobile/dist/ui-kit/Input/InputControl.js.map +1 -1
  123. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +11 -14
  124. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  125. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  126. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  127. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  128. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +3 -0
  129. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  130. package/mobile/lib/EventBus/EventBus.d.ts +1 -8
  131. package/mobile/lib/EventBus/EventBus.js +1 -27
  132. package/mobile/lib/EventBus/EventBus.js.map +1 -1
  133. package/mobile/lib/EventBus/defaultEventBus.d.ts +0 -9
  134. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -1
  135. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +1 -1
  136. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  137. package/mobile/lib/components/ContentPage/ContentPage.js +2 -0
  138. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  139. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  140. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  141. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  142. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  143. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js +1 -1
  144. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  145. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +1 -1
  146. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  147. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  148. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  149. package/mobile/lib/hooks/useLocation.d.ts +4 -1
  150. package/mobile/lib/hooks/useLocation.js +15 -34
  151. package/mobile/lib/hooks/useLocation.js.map +1 -1
  152. package/mobile/lib/hooks/useRegions.js +3 -1
  153. package/mobile/lib/hooks/useRegions.js.map +1 -1
  154. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +3 -0
  155. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  156. package/mobile/lib/ui-kit/FormField/Fields/AddressFactField.js +1 -1
  157. package/mobile/lib/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  158. package/mobile/lib/ui-kit/FormField/validators.js +3 -2
  159. package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
  160. package/mobile/lib/ui-kit/Input/InputControl.js +4 -1
  161. package/mobile/lib/ui-kit/Input/InputControl.js.map +1 -1
  162. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +13 -16
  163. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  164. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  165. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  166. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  167. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +3 -0
  168. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  169. package/mobile/src/EventBus/EventBus.ts +1 -36
  170. package/mobile/src/EventBus/defaultEventBus.ts +0 -10
  171. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  172. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -0
  173. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  174. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
  175. package/mobile/src/components/OfficesAtmsMap/AtmsMap.tsx +1 -1
  176. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +1 -1
  177. package/mobile/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +1 -1
  178. package/mobile/src/hooks/useLocation.ts +25 -47
  179. package/mobile/src/hooks/useRegions.ts +4 -1
  180. package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +3 -0
  181. package/mobile/src/ui-kit/FormField/Fields/AddressFactField.tsx +1 -1
  182. package/mobile/src/ui-kit/FormField/validators.ts +4 -3
  183. package/mobile/src/ui-kit/Input/InputControl.tsx +5 -2
  184. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +22 -28
  185. package/mobile/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  186. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +3 -0
  187. package/package.json +5 -5
  188. package/src/EventBus/EventBus.ts +1 -36
  189. package/src/EventBus/defaultEventBus.ts +0 -10
  190. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +1 -1
  191. package/src/components/ContentPage/ContentPage.tsx +2 -0
  192. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
  193. package/src/components/Header/HeaderSecondaryMenu.tsx +1 -1
  194. package/src/components/OfficesAtmsMap/AtmsMap.tsx +1 -1
  195. package/src/components/OfficesAtmsMap/OfficesMap.tsx +1 -1
  196. package/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +1 -1
  197. package/src/hooks/useLocation.ts +25 -47
  198. package/src/hooks/useRegions.ts +4 -1
  199. package/src/ui-kit/DialogManager/useDialogsList.ts +3 -0
  200. package/src/ui-kit/FormField/Fields/AddressFactField.tsx +1 -1
  201. package/src/ui-kit/FormField/validators.ts +4 -3
  202. package/src/ui-kit/Input/InputControl.tsx +5 -2
  203. package/src/ui-kit/LocationDialog/LocationDialog.tsx +22 -28
  204. package/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  205. package/src/ui-kit/PopupManager/PopupManager.tsx +3 -0
@@ -11,6 +11,9 @@ export const PopupManager = JSX(() => {
11
11
  setPopup(null);
12
12
  }, []);
13
13
  useEffect(() => defaultEventBus.subscribe('popup', (action) => {
14
+ if (!action) {
15
+ return;
16
+ }
14
17
  switch (action.type) {
15
18
  case 'open':
16
19
  case 'update':
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../src/ui-kit/PopupManager/PopupManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC3B,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,KAAK,EAAE,CAAC;SACT;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,cACE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5D,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;YACvB,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI;YACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,EACD,IAAI,EAAC,QAAQ,YAEZ,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../src/ui-kit/PopupManager/PopupManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAC5C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM;YACR;gBACE,iBAAiB,CAAC,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC3B,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,KAAK,EAAE,CAAC;SACT;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAEhE,OAAO,KAAK,CAAC,CAAC,CAAC,CACb,cACE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAC5D,KAAK,EAAE;YACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI;YACvB,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI;YACrB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,EACD,IAAI,EAAC,QAAQ,YAEZ,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -1,36 +1 @@
1
- export class EventBus<EM extends Record<string, any>> {
2
- private subscribers: Partial<Record<keyof EM, Array<(ev: EM[keyof EM]) => void>>> = {};
3
- private subjectsStateMap: Partial<EM> = {};
4
-
5
- subscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
6
- this.subscribers[type] = (this.subscribers[type] || []).concat(
7
- listener as (ev: EM[keyof EM]) => void,
8
- );
9
-
10
- const latestEvent = this.subjectsStateMap[type];
11
- if (latestEvent) {
12
- listener(latestEvent as EM[K]);
13
- }
14
-
15
- return () => {
16
- this.unsubscribe(type, listener);
17
- };
18
- }
19
-
20
- private unsubscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
21
- this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
22
- }
23
-
24
- fire<K extends keyof EM>(type: K, event: EM[K]) {
25
- const isSubjectDeclared = type in this.subjectsStateMap;
26
- if (isSubjectDeclared) {
27
- this.subjectsStateMap[type] = event;
28
- }
29
-
30
- this.subscribers[type]?.forEach((s) => s(event));
31
- }
32
-
33
- subject<K extends keyof EM>(type: K, event: EM[K]) {
34
- this.subjectsStateMap[type] = event;
35
- }
36
- }
1
+ export { EventBus } from '@redneckz/uni-jsx/lib/EventBus/EventBus';
@@ -1,21 +1,11 @@
1
1
  import { type CarouselTariffsCardAction } from '../components/CarouselTariffsCard/CarouselTariffsCardAction';
2
- import { type Tab } from '../components/TabsLayout/TabsLayoutContent';
3
- import { type Region } from '../hooks/useRegions';
4
2
  import { type DialogAction } from '../ui-kit/DialogManager/DialogAction';
5
3
  import { type PopupAction } from '../ui-kit/PopupManager/PopupAction';
6
4
  import { EventBus } from './EventBus';
7
5
 
8
- interface TabActivationEvent {
9
- type?: Tab['type'];
10
- groupName?: string;
11
- label?: string;
12
- }
13
-
14
6
  interface GlobalEventMap {
15
- location: Region;
16
7
  dialog: DialogAction;
17
8
  popup: PopupAction;
18
- tab: TabActivationEvent;
19
9
  fold: CarouselTariffsCardAction;
20
10
  }
21
11
 
@@ -44,7 +44,7 @@ export const CarouselTariffsCard = JSX<CarouselTariffsCardProps>(
44
44
  useEffect(
45
45
  () =>
46
46
  defaultEventBus.subscribe('fold', (event) => {
47
- if (options?.parent !== undefined && event.parent === options?.parent) {
47
+ if (event && options?.parent !== undefined && event.parent === options?.parent) {
48
48
  setIsVisible(event.isUnfolded);
49
49
  }
50
50
  }),
@@ -4,6 +4,7 @@ import { renderBlocksList } from '../../BlockRenderer/renderBlockList';
4
4
  import { renderChildren } from '../../BlockRenderer/renderChildren';
5
5
  import { useClickHandler } from '../../hooks/useClickHandler';
6
6
  import { useJSONRef } from '../../hooks/useJSONRef/useJSONRef';
7
+ import { useDefaultLocation } from '../../hooks/useLocation';
7
8
  import { type BlockDecorator } from '../../model/BlockDecorator';
8
9
  import { type BlocksRegistry } from '../../model/BlocksRegistry';
9
10
  import { type ContentPageDef } from '../../model/ContentPageDef';
@@ -31,6 +32,7 @@ export const ContentPage = JSX<ContentPageProps>(
31
32
  const resolvedPageContent = useJSONRef(pageContent, fallback);
32
33
 
33
34
  useClickHandler();
35
+ useDefaultLocation();
34
36
 
35
37
  const options: BlockRendererOptions = {
36
38
  key: '',
@@ -19,7 +19,7 @@ export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlock
19
19
 
20
20
  export const ExchangeRateTile = JSX<ExchangeRateTileProps>(
21
21
  ({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
22
- const [currentLocation] = useLocation();
22
+ const currentLocation = useLocation();
23
23
  const exchangeRates = useFetchExchangeRateData(currentLocation);
24
24
 
25
25
  const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
@@ -22,7 +22,7 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
22
22
  ({ className, version, ...rest }) => {
23
23
  const iconVersion: IconVersion = version === 'transparent' ? 'white' : 'black';
24
24
 
25
- const [currentLocation] = useLocation(rest?.branches?.default);
25
+ const currentLocation = useLocation(rest?.branches?.default);
26
26
 
27
27
  const searchDialog = useSearchDialog(rest);
28
28
  const locationDialog = useLocationDialog(rest);
@@ -30,7 +30,7 @@ export interface AtmsMapProps {
30
30
  }
31
31
 
32
32
  export const AtmsMap = JSX<AtmsMapProps>(({ descriptionData, className }) => {
33
- const [currentLocation] = useLocation();
33
+ const currentLocation = useLocation();
34
34
 
35
35
  const regionCode = currentLocation?.code ?? '000';
36
36
 
@@ -10,7 +10,7 @@ export interface OfficesMapProps {
10
10
  }
11
11
 
12
12
  export const OfficesMap = JSX<OfficesMapProps>(({ className }) => {
13
- const [currentLocation] = useLocation();
13
+ const currentLocation = useLocation();
14
14
  const regionCode = currentLocation?.code ?? '000';
15
15
  const { data, isLoad } = useOffices(regionCode);
16
16
 
@@ -22,7 +22,7 @@ export interface BurgerMenuDialogProps {
22
22
  export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>(
23
23
  ({ menuRef, menuItem, locationDialogProps, closeAll }) => {
24
24
  const locationDialog = useLocationDialog(locationDialogProps || {});
25
- const [{ name: location }] = useLocation();
25
+ const { name: location } = useLocation();
26
26
  const menuDimensions = menuRef?.current?.getBoundingClientRect();
27
27
  const basePath = getBasePath(env.SITE_URL);
28
28
 
@@ -1,55 +1,33 @@
1
- import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
1
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
3
+ import { useLocalStore } from '@redneckz/uni-jsx/lib/Store/useLocalStore';
3
4
  import { API_BASE_URI } from '../api/apiBaseUrl';
4
- import { defaultEventBus } from '../EventBus/defaultEventBus';
5
- import { useLatestEvent } from '../EventBus/useLatestEvent';
6
- import { fetchJSONUnsafe, type FetchJSONUnsafeType } from '../utils/fetchJSON';
5
+ import { fetchJSON } from '../utils/fetchJSON';
7
6
  import { type Region } from './useRegions';
8
7
 
9
8
  const REGION_URL = `${API_BASE_URI}/region`;
10
- const LOCATION_STORAGE_KEY = 'location';
11
-
12
- export function useLocation(defaultLocation = 'Москва'): [Region, (_: Region) => void] {
13
- const [currentLocation, fireCurrentLocation] = useLatestEvent(
14
- defaultEventBus,
15
- 'location',
16
- restoreLocation() ?? { name: defaultLocation },
17
- );
18
-
19
- const selectCurrentLocation = useCallback((_: Region) => {
20
- storeLocation(_);
21
- fireCurrentLocation(_);
22
- }, []);
23
-
24
- const { data } = useAsyncData(
25
- hasStoredLocation() ? null : REGION_URL,
26
- fetchJSONUnsafe as FetchJSONUnsafeType<Region>,
27
- );
28
- useEffect(() => {
29
- if (data && !hasStoredLocation()) {
30
- fireCurrentLocation(data);
31
- }
32
- }, [data]);
33
9
 
34
- return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
10
+ interface LocationStore {
11
+ location: Region;
35
12
  }
36
13
 
37
- const hasStoredLocation = () => Boolean(globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY));
38
-
39
- const restoreLocation = (): Region | null => {
40
- try {
41
- const data = globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY);
42
-
43
- return data && JSON.parse(data);
44
- } catch (ex) {
45
- return null;
46
- }
47
- };
48
-
49
- const storeLocation = (_: Region) => {
50
- try {
51
- globalThis.localStorage?.setItem(LOCATION_STORAGE_KEY, JSON.stringify(_));
52
- } catch (ex) {
53
- // Do nothing
54
- }
55
- };
14
+ export function useLocation(defaultLocation = 'Москва'): Region {
15
+ const locationStore = useLocalStore<LocationStore>();
16
+
17
+ return locationStore.location ?? { name: defaultLocation };
18
+ }
19
+
20
+ export function useDefaultLocation(defaultLocation = 'Москва') {
21
+ const locationStore = useLocalStore<LocationStore>();
22
+
23
+ const preselectLocation = useCallback(async () => {
24
+ if (!locationStore.location) {
25
+ const region = await fetchJSON<Region>(REGION_URL);
26
+ locationStore.location = region ?? { name: defaultLocation };
27
+ }
28
+ }, [locationStore, defaultLocation]);
29
+
30
+ useAsyncData(REGION_URL, preselectLocation);
31
+
32
+ return locationStore;
33
+ }
@@ -14,8 +14,11 @@ export interface Region {
14
14
  branches?: string[];
15
15
  }
16
16
 
17
+ const EMPTY_REGIONS: Region[] = [];
18
+
19
+ // TODO Почему url можно менять? Разве смысл не в инкапсуляции api url. Тоже под рефакторинг попадает
17
20
  export function useRegions(url: string = REGIONS_URL): Region[] {
18
21
  const { data } = useAsyncData(url, fetchJSONUnsafe as FetchJSONUnsafeType<Region[]>);
19
22
 
20
- return Array.isArray(data) ? data : [];
23
+ return Array.isArray(data) ? data : EMPTY_REGIONS;
21
24
  }
@@ -28,6 +28,9 @@ export const useDialogsList = ({
28
28
  useEffect(
29
29
  () =>
30
30
  defaultEventBus.subscribe('dialog', (action) => {
31
+ if (!action) {
32
+ return;
33
+ }
31
34
  switch (action.type) {
32
35
  case 'open':
33
36
  push(action);
@@ -15,7 +15,7 @@ export const AddressFactField = JSX<CustomFieldProps>(({ field, input }) => {
15
15
  if (value) {
16
16
  field('addressFact')?.onChange?.(field('addressRegistration').value);
17
17
  }
18
- }, [value]);
18
+ }, [value, field('addressRegistration').value]);
19
19
 
20
20
  const onDaDataChange = useCallback((item: DaDataSuggestion) => {
21
21
  field?.(fieldName)?.onChange?.({
@@ -5,6 +5,8 @@ import { validator } from '../../validation/validator';
5
5
 
6
6
  const ERROR_MESSAGE = 'Некорректно заполненное поле';
7
7
 
8
+ const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
9
+
8
10
  export const defaultValidator = (errorMsg?: string) => required(errorMsg ?? ERROR_MESSAGE);
9
11
 
10
12
  export const defaultSelectValidator = (errorMsg?: string) =>
@@ -71,12 +73,11 @@ export const emailValidator = (errorMsg: string) =>
71
73
  const addressDaDataValidate = (address: Address) =>
72
74
  Boolean(address.region && address.city && address.house);
73
75
 
74
- export const addressDaDataValidator = () =>
75
- validator(addressDaDataValidate)('Укажите регион, город/населенный пункт, улицу, дом, квартиру');
76
+ export const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
76
77
 
77
78
  export const addressOrganizationValidator = () =>
78
79
  validator((address: Address) => Boolean(address.fiasCode && address.city && address.house))(
79
- 'Укажите регион, город/населенный пункт, улицу, дом',
80
+ ADDRESS_ERROR_MESSAGE,
80
81
  );
81
82
 
82
83
  export const codeWordValidator = (errorMsg?: string) =>
@@ -33,8 +33,11 @@ export const InputControl = JSX<InputProps>(
33
33
  const popupRef = useOutsideClick<HTMLDivElement>(close);
34
34
 
35
35
  const handleChange = useCallback(
36
- (v: string) => (maxLength ? v.length <= maxLength && onChange(v) : onChange(v)),
37
- [onChange],
36
+ (v: string) => {
37
+ dadata && !isOpen && open();
38
+ maxLength ? v.length <= maxLength && onChange(v) : onChange(v);
39
+ },
40
+ [dadata, isOpen, onChange],
38
41
  );
39
42
 
40
43
  const inputRef = useInputPopup({
@@ -1,20 +1,18 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { type BranchesHeader, type ForeignOfficeProps } from '../../data/HeaderData';
4
- import { useLink } from '../../hooks/useLink';
5
- import { useLocation } from '../../hooks/useLocation';
4
+ import { useDefaultLocation } from '../../hooks/useLocation';
6
5
  import { useRegions, type Region } from '../../hooks/useRegions';
7
6
  import { groupBy } from '../../utils/groupBy';
8
7
  import { jaroWinklerDistance } from '../../utils/jaroWinklerDistance';
9
8
  import { Dialog } from '../DialogManager/Dialog';
10
9
  import { useDialogManager } from '../DialogManager/useDialogManager';
11
- import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
12
- import { Paragraph } from '../Paragraph/Paragraph';
13
10
  import { Text } from '../Text/Text';
14
11
  import { renderForeignOffices } from './renderForeignOffices';
15
12
  import { renderRegion } from './renderRegion';
16
13
  import { renderRegionGroup } from './renderRegionGroup';
17
14
  import { SearchBar } from './SearchBar';
15
+ import { SelectedLocation } from './SelectedLocation';
18
16
 
19
17
  const SEARCH_TERM_MIN_LENGTH = 3;
20
18
 
@@ -24,24 +22,29 @@ export interface LocationDialogProps {
24
22
  }
25
23
 
26
24
  export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branches }) => {
27
- const [currentLocation, selectCurrentLocation] = useLocation(branches?.default);
28
-
29
- const link = useLink();
30
- const { href } = link({ href: `/branches/${currentLocation.slug}` });
25
+ const locationStore = useDefaultLocation(branches?.default);
31
26
 
32
27
  const [query, setQuery] = useState('');
33
28
 
34
- const regions: Region[] = cleanUpRegions(useRegions()).sort((a, b) =>
35
- a.name.localeCompare(b.name),
29
+ const rawRegions = useRegions();
30
+ const regions = useMemo(
31
+ (): Region[] => cleanUpRegions(rawRegions).sort((a, b) => a.name.localeCompare(b.name)),
32
+ [rawRegions],
33
+ );
34
+ const regionsGroupByLetter = useMemo(
35
+ (): Map<string, Region[]> => groupBy(regions, regionFirstLetter),
36
+ [regions],
36
37
  );
37
- const regionsGroupByLetter: Map<string, Region[]> = groupBy(regions, regionFirstLetter);
38
38
 
39
39
  const { close } = useDialogManager();
40
40
 
41
- const handleChangeLocation = useCallback((region: Region) => {
42
- selectCurrentLocation(region);
43
- close();
44
- }, []);
41
+ const handleChangeLocation = useCallback(
42
+ (_: Region) => {
43
+ locationStore.location = _;
44
+ close();
45
+ },
46
+ [locationStore],
47
+ );
45
48
 
46
49
  return (
47
50
  <Dialog
@@ -51,16 +54,7 @@ export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branch
51
54
  <Text size="text-h4" color="text-primary-text">
52
55
  Выберите филиал
53
56
  </Text>
54
- {currentLocation ? (
55
- <div className="mb-s">
56
- <Paragraph size="text-l" color="text-primary-text">
57
- Сейчас выбран:
58
- <LinkWrapper href={href} className="inline mx-2xs text-primary-main">
59
- {currentLocation.name}
60
- </LinkWrapper>
61
- </Paragraph>
62
- </div>
63
- ) : null}
57
+ <SelectedLocation defaultLocation={branches?.default} />
64
58
  <SearchBar onSearch={setQuery} searchTerm={query} />
65
59
  </div>
66
60
  }
@@ -86,10 +80,10 @@ export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branch
86
80
  );
87
81
  });
88
82
 
89
- const regionFirstLetter = (region: Region) => region.name?.charAt(0) || '';
83
+ const regionFirstLetter = (region: Region) => region.name?.charAt(0) ?? '';
90
84
 
91
85
  const cleanUpRegions = (regions: Region[]) =>
92
86
  regions.map((region) => ({
93
87
  ...region,
94
- name: region.name?.replace(/республика|область|край'/gi, '').trim() || '',
88
+ name: region.name?.replace(/республика|область|край'/gi, '').trim() ?? '',
95
89
  }));
@@ -0,0 +1,27 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useLink } from '../../hooks/useLink';
3
+ import { useLocation } from '../../hooks/useLocation';
4
+ import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
5
+ import { Paragraph } from '../Paragraph/Paragraph';
6
+
7
+ interface SelectedLocationProps {
8
+ defaultLocation?: string;
9
+ }
10
+
11
+ export const SelectedLocation = JSX<SelectedLocationProps>(({ defaultLocation }) => {
12
+ const currentLocation = useLocation(defaultLocation);
13
+
14
+ const link = useLink();
15
+ const { href } = link({ href: `/branches/${currentLocation.slug}` });
16
+
17
+ return currentLocation ? (
18
+ <div className="mb-s">
19
+ <Paragraph size="text-l" color="text-primary-text">
20
+ Сейчас выбран:
21
+ <LinkWrapper href={href} className="inline mx-2xs text-primary-main">
22
+ {currentLocation.name}
23
+ </LinkWrapper>
24
+ </Paragraph>
25
+ </div>
26
+ ) : null;
27
+ });
@@ -16,6 +16,9 @@ export const PopupManager = JSX(() => {
16
16
  useEffect(
17
17
  () =>
18
18
  defaultEventBus.subscribe('popup', (action) => {
19
+ if (!action) {
20
+ return;
21
+ }
19
22
  switch (action.type) {
20
23
  case 'open':
21
24
  case 'update':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.674",
3
+ "version": "0.14.676",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -136,9 +136,9 @@
136
136
  "react-dom": ">=16.8.0"
137
137
  },
138
138
  "dependencies": {
139
- "@redneckz/json-op": "^0.0.7",
140
- "@redneckz/json-ref": "^0.0.7",
141
- "@redneckz/uni-jsx": "^2.6.2",
139
+ "@redneckz/json-op": "^0.0.12",
140
+ "@redneckz/json-ref": "^0.0.14",
141
+ "@redneckz/uni-jsx": "^2.6.3",
142
142
  "@tailwindcss/container-queries": "^0.1.0",
143
143
  "@types/json-schema": "^7.0.11",
144
144
  "glob": "^8.0.3",
@@ -210,7 +210,7 @@
210
210
  "path": "lib/common.css"
211
211
  },
212
212
  {
213
- "limit": "90 kB",
213
+ "limit": "92 kB",
214
214
  "path": "bundle/bundle.umd.min.js"
215
215
  }
216
216
  ],
@@ -1,36 +1 @@
1
- export class EventBus<EM extends Record<string, any>> {
2
- private subscribers: Partial<Record<keyof EM, Array<(ev: EM[keyof EM]) => void>>> = {};
3
- private subjectsStateMap: Partial<EM> = {};
4
-
5
- subscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
6
- this.subscribers[type] = (this.subscribers[type] || []).concat(
7
- listener as (ev: EM[keyof EM]) => void,
8
- );
9
-
10
- const latestEvent = this.subjectsStateMap[type];
11
- if (latestEvent) {
12
- listener(latestEvent as EM[K]);
13
- }
14
-
15
- return () => {
16
- this.unsubscribe(type, listener);
17
- };
18
- }
19
-
20
- private unsubscribe<K extends keyof EM>(type: K, listener: (event: EM[K]) => void) {
21
- this.subscribers[type] = this.subscribers[type]?.filter((s) => s !== listener);
22
- }
23
-
24
- fire<K extends keyof EM>(type: K, event: EM[K]) {
25
- const isSubjectDeclared = type in this.subjectsStateMap;
26
- if (isSubjectDeclared) {
27
- this.subjectsStateMap[type] = event;
28
- }
29
-
30
- this.subscribers[type]?.forEach((s) => s(event));
31
- }
32
-
33
- subject<K extends keyof EM>(type: K, event: EM[K]) {
34
- this.subjectsStateMap[type] = event;
35
- }
36
- }
1
+ export { EventBus } from '@redneckz/uni-jsx/lib/EventBus/EventBus';
@@ -1,21 +1,11 @@
1
1
  import { type CarouselTariffsCardAction } from '../components/CarouselTariffsCard/CarouselTariffsCardAction';
2
- import { type Tab } from '../components/TabsLayout/TabsLayoutContent';
3
- import { type Region } from '../hooks/useRegions';
4
2
  import { type DialogAction } from '../ui-kit/DialogManager/DialogAction';
5
3
  import { type PopupAction } from '../ui-kit/PopupManager/PopupAction';
6
4
  import { EventBus } from './EventBus';
7
5
 
8
- interface TabActivationEvent {
9
- type?: Tab['type'];
10
- groupName?: string;
11
- label?: string;
12
- }
13
-
14
6
  interface GlobalEventMap {
15
- location: Region;
16
7
  dialog: DialogAction;
17
8
  popup: PopupAction;
18
- tab: TabActivationEvent;
19
9
  fold: CarouselTariffsCardAction;
20
10
  }
21
11
 
@@ -44,7 +44,7 @@ export const CarouselTariffsCard = JSX<CarouselTariffsCardProps>(
44
44
  useEffect(
45
45
  () =>
46
46
  defaultEventBus.subscribe('fold', (event) => {
47
- if (options?.parent !== undefined && event.parent === options?.parent) {
47
+ if (event && options?.parent !== undefined && event.parent === options?.parent) {
48
48
  setIsVisible(event.isUnfolded);
49
49
  }
50
50
  }),
@@ -4,6 +4,7 @@ import { renderBlocksList } from '../../BlockRenderer/renderBlockList';
4
4
  import { renderChildren } from '../../BlockRenderer/renderChildren';
5
5
  import { useClickHandler } from '../../hooks/useClickHandler';
6
6
  import { useJSONRef } from '../../hooks/useJSONRef/useJSONRef';
7
+ import { useDefaultLocation } from '../../hooks/useLocation';
7
8
  import { type BlockDecorator } from '../../model/BlockDecorator';
8
9
  import { type BlocksRegistry } from '../../model/BlocksRegistry';
9
10
  import { type ContentPageDef } from '../../model/ContentPageDef';
@@ -31,6 +32,7 @@ export const ContentPage = JSX<ContentPageProps>(
31
32
  const resolvedPageContent = useJSONRef(pageContent, fallback);
32
33
 
33
34
  useClickHandler();
35
+ useDefaultLocation();
34
36
 
35
37
  const options: BlockRendererOptions = {
36
38
  key: '',
@@ -19,7 +19,7 @@ export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlock
19
19
 
20
20
  export const ExchangeRateTile = JSX<ExchangeRateTileProps>(
21
21
  ({ className = '', title = 'Курсы обмена валют', button, ...rest }) => {
22
- const [currentLocation] = useLocation();
22
+ const currentLocation = useLocation();
23
23
  const exchangeRates = useFetchExchangeRateData(currentLocation);
24
24
 
25
25
  const currencyRates = getCurrencyRates(exchangeRates?.exchangeRate?.currencies);
@@ -22,7 +22,7 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
22
22
  ({ className, version, ...rest }) => {
23
23
  const iconVersion: IconVersion = version === 'transparent' ? 'white' : 'black';
24
24
 
25
- const [currentLocation] = useLocation(rest?.branches?.default);
25
+ const currentLocation = useLocation(rest?.branches?.default);
26
26
 
27
27
  const searchDialog = useSearchDialog(rest);
28
28
  const locationDialog = useLocationDialog(rest);
@@ -30,7 +30,7 @@ export interface AtmsMapProps {
30
30
  }
31
31
 
32
32
  export const AtmsMap = JSX<AtmsMapProps>(({ descriptionData, className }) => {
33
- const [currentLocation] = useLocation();
33
+ const currentLocation = useLocation();
34
34
 
35
35
  const regionCode = currentLocation?.code ?? '000';
36
36
 
@@ -10,7 +10,7 @@ export interface OfficesMapProps {
10
10
  }
11
11
 
12
12
  export const OfficesMap = JSX<OfficesMapProps>(({ className }) => {
13
- const [currentLocation] = useLocation();
13
+ const currentLocation = useLocation();
14
14
  const regionCode = currentLocation?.code ?? '000';
15
15
  const { data, isLoad } = useOffices(regionCode);
16
16
 
@@ -22,7 +22,7 @@ export interface BurgerMenuDialogProps {
22
22
  export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>(
23
23
  ({ menuRef, menuItem, locationDialogProps, closeAll }) => {
24
24
  const locationDialog = useLocationDialog(locationDialogProps || {});
25
- const [{ name: location }] = useLocation();
25
+ const { name: location } = useLocation();
26
26
  const menuDimensions = menuRef?.current?.getBoundingClientRect();
27
27
  const basePath = getBasePath(env.SITE_URL);
28
28