ordering-ui-external 1.8.8 → 1.8.10

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 (384) hide show
  1. package/_bundles/{0.ordering-ui.30cf55f42142a3ff6119.js → 0.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  2. package/_bundles/{1.ordering-ui.30cf55f42142a3ff6119.js → 1.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  3. package/_bundles/{2.ordering-ui.30cf55f42142a3ff6119.js → 2.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  4. package/_bundles/{4.ordering-ui.30cf55f42142a3ff6119.js → 4.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  5. package/_bundles/{5.ordering-ui.30cf55f42142a3ff6119.js → 5.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  6. package/_bundles/{6.ordering-ui.30cf55f42142a3ff6119.js → 6.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  7. package/_bundles/{7.ordering-ui.30cf55f42142a3ff6119.js → 7.ordering-ui.b6cdd549ac5beb984576.js} +2 -2
  8. package/_bundles/{7.ordering-ui.30cf55f42142a3ff6119.js.LICENSE.txt → 7.ordering-ui.b6cdd549ac5beb984576.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.30cf55f42142a3ff6119.js → 8.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  10. package/_bundles/{9.ordering-ui.30cf55f42142a3ff6119.js → 9.ordering-ui.b6cdd549ac5beb984576.js} +1 -1
  11. package/_bundles/ordering-ui.b6cdd549ac5beb984576.js +2 -0
  12. package/_bundles/{ordering-ui.30cf55f42142a3ff6119.js.LICENSE.txt → ordering-ui.b6cdd549ac5beb984576.js.LICENSE.txt} +0 -0
  13. package/_modules/contexts/InfoShareContext/index.js +60 -0
  14. package/_modules/contexts/ThemeContext/index.js +1 -1
  15. package/_modules/themes/callcenterOriginal/index.js +21 -0
  16. package/_modules/themes/callcenterOriginal/src/components/AdminAreaPopover/index.js +131 -0
  17. package/_modules/themes/callcenterOriginal/src/components/AdminAreaPopover/styles.js +58 -0
  18. package/_modules/themes/callcenterOriginal/src/components/Header/index.js +35 -20
  19. package/_modules/themes/callcenterOriginal/src/components/Header/styles.js +21 -7
  20. package/_modules/themes/callcenterOriginal/src/components/Orders/BusinessesSelector/index.js +81 -0
  21. package/_modules/themes/callcenterOriginal/src/components/Orders/BusinessesSelector/styles.js +33 -0
  22. package/_modules/themes/callcenterOriginal/src/components/Orders/CountryFilter/index.js +84 -0
  23. package/_modules/themes/callcenterOriginal/src/components/Orders/CountryFilter/styles.js +21 -0
  24. package/_modules/themes/callcenterOriginal/src/components/Orders/CurrencyFilter/index.js +65 -0
  25. package/_modules/themes/callcenterOriginal/src/components/Orders/CurrencyFilter/styles.js +21 -0
  26. package/_modules/themes/callcenterOriginal/src/components/Orders/DateTypeSelector/index.js +114 -0
  27. package/_modules/themes/callcenterOriginal/src/components/Orders/DateTypeSelector/styles.js +30 -0
  28. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveriesLocation/index.js +257 -0
  29. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveriesLocation/styles.js +44 -0
  30. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveriesManager/index.js +150 -0
  31. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveriesManager/styles.js +16 -0
  32. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveryDashboard/index.js +71 -0
  33. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveryDashboard/styles.js +30 -0
  34. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveryTypeSelector/index.js +50 -0
  35. package/_modules/themes/callcenterOriginal/src/components/Orders/DeliveryTypeSelector/styles.js +19 -0
  36. package/_modules/themes/callcenterOriginal/src/components/Orders/DriverMapMarkerAndInfo/index.js +80 -0
  37. package/_modules/themes/callcenterOriginal/src/components/Orders/DriverMapMarkerAndInfo/styles.js +44 -0
  38. package/_modules/themes/callcenterOriginal/src/components/Orders/DriverSelector/index.js +245 -0
  39. package/_modules/themes/callcenterOriginal/src/components/Orders/DriverSelector/styles.js +86 -0
  40. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversBusyStatusFilter/index.js +49 -0
  41. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversBusyStatusFilter/styles.js +17 -0
  42. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversDashboard/index.js +66 -0
  43. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversDashboard/styles.js +28 -0
  44. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversGroupTypeSelector/index.js +74 -0
  45. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversGroupTypeSelector/styles.js +19 -0
  46. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversList/index.js +83 -0
  47. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversList/styles.js +77 -0
  48. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversLocation/index.js +177 -0
  49. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversLocation/styles.js +12 -0
  50. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversManager/index.js +128 -0
  51. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversManager/styles.js +27 -0
  52. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversOnlineOfflineFilter/index.js +37 -0
  53. package/_modules/themes/callcenterOriginal/src/components/Orders/DriversOnlineOfflineFilter/styles.js +25 -0
  54. package/_modules/themes/callcenterOriginal/src/components/Orders/GoogleMapsApiKeySettingButton/index.js +112 -0
  55. package/_modules/themes/callcenterOriginal/src/components/Orders/GoogleMapsApiKeySettingButton/style.js +21 -0
  56. package/_modules/themes/callcenterOriginal/src/components/Orders/InterActOrderMarker/index.js +96 -0
  57. package/_modules/themes/callcenterOriginal/src/components/Orders/InterActOrderMarker/styles.js +51 -0
  58. package/_modules/themes/callcenterOriginal/src/components/Orders/Logistics/index.js +95 -0
  59. package/_modules/themes/callcenterOriginal/src/components/Orders/Logistics/styles.js +27 -0
  60. package/_modules/themes/callcenterOriginal/src/components/Orders/Messages/index.js +703 -0
  61. package/_modules/themes/callcenterOriginal/src/components/Orders/Messages/styles.js +186 -0
  62. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderBill/index.js +248 -0
  63. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderBill/styles.js +23 -0
  64. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderContactInformation/index.js +151 -0
  65. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderContactInformation/styles.js +87 -0
  66. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDashboardSLASetting/index.js +237 -0
  67. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDashboardSLASetting/styles.js +67 -0
  68. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDelete/index.js +101 -0
  69. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDelete/styles.js +19 -0
  70. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDetails/index.js +605 -0
  71. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDetails/styles.js +122 -0
  72. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDetailsHeader/index.js +103 -0
  73. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderDetailsHeader/styles.js +35 -0
  74. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderLogisticInformation/index.js +173 -0
  75. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderLogisticInformation/styles.js +23 -0
  76. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderMetaFields/index.js +300 -0
  77. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderMetaFields/styles.js +48 -0
  78. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderNotification/index.js +139 -0
  79. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderNotification/styles.js +24 -0
  80. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusFilterBar/index.js +55 -0
  81. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusFilterBar/styles.js +34 -0
  82. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusSubFilter/index.js +181 -0
  83. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusSubFilter/styles.js +20 -0
  84. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusTypeSelector/index.js +480 -0
  85. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderStatusTypeSelector/styles.js +35 -0
  86. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderToPrint/index.js +159 -0
  87. package/_modules/themes/callcenterOriginal/src/components/Orders/OrderToPrint/styles.js +12 -0
  88. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersCards/index.js +297 -0
  89. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersCards/styles.js +87 -0
  90. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersContentHeader/index.js +125 -0
  91. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersContentHeader/styles.js +43 -0
  92. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboard/index.js +17 -0
  93. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboard/styles.js +12 -0
  94. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardControls/index.js +43 -0
  95. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardControls/styles.js +32 -0
  96. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardList/index.js +56 -0
  97. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardList/styles.js +12 -0
  98. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardSLAControls/index.js +103 -0
  99. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersDashboardSLAControls/styles.js +43 -0
  100. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersExportCSV/index.js +110 -0
  101. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersExportCSV/styles.js +34 -0
  102. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersFilterGroup/index.js +146 -0
  103. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersFilterGroup/styles.js +27 -0
  104. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersLateralBar/index.js +117 -0
  105. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersLateralBar/styles.js +53 -0
  106. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersListing/index.js +137 -0
  107. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersListing/styles.js +27 -0
  108. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersManager/index.js +313 -0
  109. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersManager/styles.js +38 -0
  110. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersTable/index.js +713 -0
  111. package/_modules/themes/callcenterOriginal/src/components/Orders/OrdersTable/styles.js +204 -0
  112. package/_modules/themes/callcenterOriginal/src/components/Orders/PaymethodTypeSelector/index.js +75 -0
  113. package/_modules/themes/callcenterOriginal/src/components/Orders/PaymethodTypeSelector/styles.js +14 -0
  114. package/_modules/themes/callcenterOriginal/src/components/Orders/ProductItemAccordion/index.js +264 -0
  115. package/_modules/themes/callcenterOriginal/src/components/Orders/ProductItemAccordion/styles.js +107 -0
  116. package/_modules/themes/callcenterOriginal/src/components/Orders/ReviewCustomer/index.js +210 -0
  117. package/_modules/themes/callcenterOriginal/src/components/Orders/ReviewCustomer/styles.js +80 -0
  118. package/_modules/themes/callcenterOriginal/src/components/Orders/WizardOrders/index.js +82 -0
  119. package/_modules/themes/callcenterOriginal/src/components/Orders/WizardOrders/styles.js +19 -0
  120. package/_modules/themes/callcenterOriginal/src/components/Orders/index.js +327 -0
  121. package/_modules/themes/callcenterOriginal/src/components/PageNotFound/index.js +32 -0
  122. package/_modules/themes/callcenterOriginal/src/components/PageNotFound/styles.js +14 -0
  123. package/_modules/themes/callcenterOriginal/src/components/Shared/AutoScroll/index.js +132 -0
  124. package/_modules/themes/callcenterOriginal/src/components/Shared/AutoScroll/styles.js +42 -0
  125. package/_modules/themes/callcenterOriginal/src/components/Shared/CitySelector/index.js +99 -0
  126. package/_modules/themes/callcenterOriginal/src/components/Shared/CitySelector/styles.js +36 -0
  127. package/_modules/themes/callcenterOriginal/src/components/Shared/ColorPicker/index.js +65 -0
  128. package/_modules/themes/callcenterOriginal/src/components/Shared/ColorPicker/styles.js +32 -0
  129. package/_modules/themes/callcenterOriginal/src/components/Shared/ColumnAllowSettingPopover/index.js +116 -0
  130. package/_modules/themes/callcenterOriginal/src/components/Shared/ColumnAllowSettingPopover/styles.js +40 -0
  131. package/_modules/themes/callcenterOriginal/src/components/Shared/Confirm/index.js +75 -0
  132. package/_modules/themes/callcenterOriginal/src/components/Shared/Confirm/styles.js +58 -0
  133. package/_modules/themes/callcenterOriginal/src/components/Shared/ConfirmAdmin/index.js +90 -0
  134. package/_modules/themes/callcenterOriginal/src/components/Shared/ConfirmAdmin/styles.js +19 -0
  135. package/_modules/themes/callcenterOriginal/src/components/Shared/DragScroll/index.js +131 -0
  136. package/_modules/themes/callcenterOriginal/src/components/Shared/DragScroll/styles.js +23 -0
  137. package/_modules/themes/callcenterOriginal/src/components/Shared/Image/index.js +61 -0
  138. package/_modules/themes/callcenterOriginal/src/components/Shared/ImageCrop/index.js +93 -0
  139. package/_modules/themes/callcenterOriginal/src/components/Shared/ImageCrop/styles.js +36 -0
  140. package/_modules/themes/callcenterOriginal/src/components/Shared/InputPhoneNumber/index.js +80 -0
  141. package/_modules/themes/callcenterOriginal/src/components/Shared/InputPhoneNumber/styles.js +24 -0
  142. package/_modules/themes/callcenterOriginal/src/components/Shared/Modal/index.js +86 -0
  143. package/_modules/themes/callcenterOriginal/src/components/Shared/Modal/styles.js +56 -0
  144. package/_modules/themes/callcenterOriginal/src/components/Shared/MoreSidebarLayout/index.js +48 -0
  145. package/_modules/themes/callcenterOriginal/src/components/Shared/MoreSidebarLayout/styles.js +28 -0
  146. package/_modules/themes/callcenterOriginal/src/components/Shared/NotFoundSource/index.js +30 -0
  147. package/_modules/themes/callcenterOriginal/src/components/Shared/NotFoundSource/styles.js +14 -0
  148. package/_modules/themes/callcenterOriginal/src/components/Shared/Pagination/index.js +123 -0
  149. package/_modules/themes/callcenterOriginal/src/components/Shared/Pagination/styles.js +56 -0
  150. package/_modules/themes/callcenterOriginal/src/components/Shared/PaginationButton/index.js +33 -0
  151. package/_modules/themes/callcenterOriginal/src/components/Shared/PaginationButton/styles.js +16 -0
  152. package/_modules/themes/callcenterOriginal/src/components/Shared/Personalization/index.js +41 -0
  153. package/_modules/themes/callcenterOriginal/src/components/Shared/Personalization/styles.js +25 -0
  154. package/_modules/themes/callcenterOriginal/src/components/Shared/ProgressRing/index.js +88 -0
  155. package/_modules/themes/callcenterOriginal/src/components/Shared/ProtectedRoute/index.js +33 -0
  156. package/_modules/themes/callcenterOriginal/src/components/Shared/RangeCalendar/index.js +131 -0
  157. package/_modules/themes/callcenterOriginal/src/components/Shared/RangeCalendar/styles.js +38 -0
  158. package/_modules/themes/callcenterOriginal/src/components/Shared/Schedule/index.js +264 -0
  159. package/_modules/themes/callcenterOriginal/src/components/Shared/Schedule/styles.js +55 -0
  160. package/_modules/themes/callcenterOriginal/src/components/Shared/ScheduleCopyTimes/index.js +115 -0
  161. package/_modules/themes/callcenterOriginal/src/components/Shared/ScheduleCopyTimes/styles.js +62 -0
  162. package/_modules/themes/callcenterOriginal/src/components/Shared/SearchBar/index.js +60 -0
  163. package/_modules/themes/callcenterOriginal/src/components/Shared/SearchBar/styles.js +35 -0
  164. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinessCategories/index.js +166 -0
  165. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinessCategories/styles.js +48 -0
  166. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinessProducts/index.js +265 -0
  167. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinessProducts/styles.js +59 -0
  168. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinesses/index.js +118 -0
  169. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectBusinesses/styles.js +46 -0
  170. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectLoyaltyLevels/index.js +121 -0
  171. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectLoyaltyLevels/styles.js +30 -0
  172. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectSites/index.js +93 -0
  173. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectSites/styles.js +30 -0
  174. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectUsers/index.js +135 -0
  175. package/_modules/themes/callcenterOriginal/src/components/Shared/SelectUsers/styles.js +25 -0
  176. package/_modules/themes/callcenterOriginal/src/components/Shared/SideBar/index.js +82 -0
  177. package/_modules/themes/callcenterOriginal/src/components/Shared/SideBar/styles.js +51 -0
  178. package/_modules/themes/callcenterOriginal/src/components/Shared/SpinnerLoader/index.js +27 -0
  179. package/_modules/themes/callcenterOriginal/src/components/Shared/SpinnerLoader/styles.js +36 -0
  180. package/_modules/themes/callcenterOriginal/src/components/Shared/SpreadSheetEditor/index.js +233 -0
  181. package/_modules/themes/callcenterOriginal/src/components/Shared/SpreadSheetEditor/styles.js +19 -0
  182. package/_modules/themes/callcenterOriginal/src/components/Shared/index.js +222 -0
  183. package/_modules/themes/callcenterOriginal/src/components/Stores/BusinessSelectHeader/index.js +148 -0
  184. package/_modules/themes/callcenterOriginal/src/components/Stores/BusinessSelectHeader/styles.js +38 -0
  185. package/_modules/themes/callcenterOriginal/src/components/UserDetails/index.js +2 -2
  186. package/_modules/themes/callcenterOriginal/src/styles/Buttons/index.js +81 -55
  187. package/_modules/themes/callcenterOriginal/src/styles/Checkbox/index.js +27 -0
  188. package/_modules/themes/callcenterOriginal/src/styles/DashboardSelects/index.js +143 -0
  189. package/_modules/themes/callcenterOriginal/src/styles/MultiSelect/index.js +136 -0
  190. package/_modules/themes/callcenterOriginal/src/styles/MultiSelect/styles.js +14 -0
  191. package/_modules/themes/callcenterOriginal/src/styles/Select/DashboardSelect/index.js +186 -0
  192. package/_modules/themes/callcenterOriginal/src/styles/Select/DashboardSelect/styles.js +14 -0
  193. package/_modules/themes/callcenterOriginal/src/styles/Select/FirstSelect/index.js +162 -0
  194. package/_modules/themes/callcenterOriginal/src/styles/Select/styles.js +14 -0
  195. package/_modules/themes/callcenterOriginal/src/styles/Switch/index.js +46 -0
  196. package/_modules/themes/callcenterOriginal/src/styles/Switch/styles.js +23 -0
  197. package/_modules/themes/callcenterOriginal/src/styles/index.js +79 -0
  198. package/package.json +2 -2
  199. package/src/contexts/InfoShareContext/index.js +40 -0
  200. package/src/contexts/ThemeContext/index.js +8 -0
  201. package/src/themes/callcenterOriginal/index.js +6 -2
  202. package/src/themes/callcenterOriginal/src/components/AdminAreaPopover/index.js +113 -0
  203. package/src/themes/callcenterOriginal/src/components/AdminAreaPopover/styles.js +144 -0
  204. package/src/themes/callcenterOriginal/src/components/Header/index.js +93 -80
  205. package/src/themes/callcenterOriginal/src/components/Header/styles.js +49 -5
  206. package/src/themes/callcenterOriginal/src/components/Orders/BusinessesSelector/index.js +87 -0
  207. package/src/themes/callcenterOriginal/src/components/Orders/BusinessesSelector/styles.js +71 -0
  208. package/src/themes/callcenterOriginal/src/components/Orders/CountryFilter/index.js +68 -0
  209. package/src/themes/callcenterOriginal/src/components/Orders/CountryFilter/styles.js +29 -0
  210. package/src/themes/callcenterOriginal/src/components/Orders/CurrencyFilter/index.js +49 -0
  211. package/src/themes/callcenterOriginal/src/components/Orders/CurrencyFilter/styles.js +29 -0
  212. package/src/themes/callcenterOriginal/src/components/Orders/DateTypeSelector/index.js +97 -0
  213. package/src/themes/callcenterOriginal/src/components/Orders/DateTypeSelector/styles.js +61 -0
  214. package/src/themes/callcenterOriginal/src/components/Orders/DeliveriesLocation/index.js +282 -0
  215. package/src/themes/callcenterOriginal/src/components/Orders/DeliveriesLocation/styles.js +94 -0
  216. package/src/themes/callcenterOriginal/src/components/Orders/DeliveriesManager/index.js +137 -0
  217. package/src/themes/callcenterOriginal/src/components/Orders/DeliveriesManager/styles.js +19 -0
  218. package/src/themes/callcenterOriginal/src/components/Orders/DeliveryDashboard/index.js +72 -0
  219. package/src/themes/callcenterOriginal/src/components/Orders/DeliveryDashboard/styles.js +65 -0
  220. package/src/themes/callcenterOriginal/src/components/Orders/DeliveryTypeSelector/index.js +35 -0
  221. package/src/themes/callcenterOriginal/src/components/Orders/DeliveryTypeSelector/styles.js +18 -0
  222. package/src/themes/callcenterOriginal/src/components/Orders/DriverMapMarkerAndInfo/index.js +79 -0
  223. package/src/themes/callcenterOriginal/src/components/Orders/DriverMapMarkerAndInfo/styles.js +81 -0
  224. package/src/themes/callcenterOriginal/src/components/Orders/DriverSelector/index.js +237 -0
  225. package/src/themes/callcenterOriginal/src/components/Orders/DriverSelector/styles.js +142 -0
  226. package/src/themes/callcenterOriginal/src/components/Orders/DriversBusyStatusFilter/index.js +38 -0
  227. package/src/themes/callcenterOriginal/src/components/Orders/DriversBusyStatusFilter/styles.js +20 -0
  228. package/src/themes/callcenterOriginal/src/components/Orders/DriversDashboard/index.js +73 -0
  229. package/src/themes/callcenterOriginal/src/components/Orders/DriversDashboard/styles.js +66 -0
  230. package/src/themes/callcenterOriginal/src/components/Orders/DriversGroupTypeSelector/index.js +61 -0
  231. package/src/themes/callcenterOriginal/src/components/Orders/DriversGroupTypeSelector/styles.js +23 -0
  232. package/src/themes/callcenterOriginal/src/components/Orders/DriversList/index.js +98 -0
  233. package/src/themes/callcenterOriginal/src/components/Orders/DriversList/styles.js +146 -0
  234. package/src/themes/callcenterOriginal/src/components/Orders/DriversLocation/index.js +169 -0
  235. package/src/themes/callcenterOriginal/src/components/Orders/DriversLocation/styles.js +8 -0
  236. package/src/themes/callcenterOriginal/src/components/Orders/DriversManager/index.js +136 -0
  237. package/src/themes/callcenterOriginal/src/components/Orders/DriversManager/styles.js +71 -0
  238. package/src/themes/callcenterOriginal/src/components/Orders/DriversOnlineOfflineFilter/index.js +34 -0
  239. package/src/themes/callcenterOriginal/src/components/Orders/DriversOnlineOfflineFilter/styles.js +23 -0
  240. package/src/themes/callcenterOriginal/src/components/Orders/GoogleMapsApiKeySettingButton/index.js +94 -0
  241. package/src/themes/callcenterOriginal/src/components/Orders/GoogleMapsApiKeySettingButton/style.js +38 -0
  242. package/src/themes/callcenterOriginal/src/components/Orders/InterActOrderMarker/index.js +160 -0
  243. package/src/themes/callcenterOriginal/src/components/Orders/InterActOrderMarker/styles.js +84 -0
  244. package/src/themes/callcenterOriginal/src/components/Orders/Logistics/index.js +72 -0
  245. package/src/themes/callcenterOriginal/src/components/Orders/Logistics/styles.js +56 -0
  246. package/src/themes/callcenterOriginal/src/components/Orders/Messages/index.js +1037 -0
  247. package/src/themes/callcenterOriginal/src/components/Orders/Messages/styles.js +618 -0
  248. package/src/themes/callcenterOriginal/src/components/Orders/OrderBill/index.js +353 -0
  249. package/src/themes/callcenterOriginal/src/components/Orders/OrderBill/styles.js +67 -0
  250. package/src/themes/callcenterOriginal/src/components/Orders/OrderContactInformation/index.js +297 -0
  251. package/src/themes/callcenterOriginal/src/components/Orders/OrderContactInformation/styles.js +196 -0
  252. package/src/themes/callcenterOriginal/src/components/Orders/OrderDashboardSLASetting/index.js +226 -0
  253. package/src/themes/callcenterOriginal/src/components/Orders/OrderDashboardSLASetting/styles.js +143 -0
  254. package/src/themes/callcenterOriginal/src/components/Orders/OrderDelete/index.js +99 -0
  255. package/src/themes/callcenterOriginal/src/components/Orders/OrderDelete/styles.js +40 -0
  256. package/src/themes/callcenterOriginal/src/components/Orders/OrderDetails/index.js +538 -0
  257. package/src/themes/callcenterOriginal/src/components/Orders/OrderDetails/styles.js +250 -0
  258. package/src/themes/callcenterOriginal/src/components/Orders/OrderDetailsHeader/index.js +178 -0
  259. package/src/themes/callcenterOriginal/src/components/Orders/OrderDetailsHeader/styles.js +78 -0
  260. package/src/themes/callcenterOriginal/src/components/Orders/OrderLogisticInformation/index.js +163 -0
  261. package/src/themes/callcenterOriginal/src/components/Orders/OrderLogisticInformation/styles.js +57 -0
  262. package/src/themes/callcenterOriginal/src/components/Orders/OrderMetaFields/index.js +323 -0
  263. package/src/themes/callcenterOriginal/src/components/Orders/OrderMetaFields/styles.js +123 -0
  264. package/src/themes/callcenterOriginal/src/components/Orders/OrderNotification/index.js +139 -0
  265. package/src/themes/callcenterOriginal/src/components/Orders/OrderNotification/styles.js +81 -0
  266. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusFilterBar/index.js +91 -0
  267. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusFilterBar/styles.js +37 -0
  268. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusSubFilter/index.js +128 -0
  269. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusSubFilter/styles.js +25 -0
  270. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusTypeSelector/index.js +522 -0
  271. package/src/themes/callcenterOriginal/src/components/Orders/OrderStatusTypeSelector/styles.js +60 -0
  272. package/src/themes/callcenterOriginal/src/components/Orders/OrderToPrint/index.js +367 -0
  273. package/src/themes/callcenterOriginal/src/components/Orders/OrderToPrint/styles.js +18 -0
  274. package/src/themes/callcenterOriginal/src/components/Orders/OrdersCards/index.js +283 -0
  275. package/src/themes/callcenterOriginal/src/components/Orders/OrdersCards/styles.js +219 -0
  276. package/src/themes/callcenterOriginal/src/components/Orders/OrdersContentHeader/index.js +152 -0
  277. package/src/themes/callcenterOriginal/src/components/Orders/OrdersContentHeader/styles.js +124 -0
  278. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboard/index.js +16 -0
  279. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboard/styles.js +4 -0
  280. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardControls/index.js +52 -0
  281. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardControls/styles.js +62 -0
  282. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardList/index.js +65 -0
  283. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardList/styles.js +3 -0
  284. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardSLAControls/index.js +97 -0
  285. package/src/themes/callcenterOriginal/src/components/Orders/OrdersDashboardSLAControls/styles.js +100 -0
  286. package/src/themes/callcenterOriginal/src/components/Orders/OrdersExportCSV/index.js +106 -0
  287. package/src/themes/callcenterOriginal/src/components/Orders/OrdersExportCSV/styles.js +53 -0
  288. package/src/themes/callcenterOriginal/src/components/Orders/OrdersFilterGroup/index.js +172 -0
  289. package/src/themes/callcenterOriginal/src/components/Orders/OrdersFilterGroup/styles.js +125 -0
  290. package/src/themes/callcenterOriginal/src/components/Orders/OrdersLateralBar/index.js +136 -0
  291. package/src/themes/callcenterOriginal/src/components/Orders/OrdersLateralBar/styles.js +109 -0
  292. package/src/themes/callcenterOriginal/src/components/Orders/OrdersListing/index.js +157 -0
  293. package/src/themes/callcenterOriginal/src/components/Orders/OrdersListing/styles.js +47 -0
  294. package/src/themes/callcenterOriginal/src/components/Orders/OrdersManager/index.js +300 -0
  295. package/src/themes/callcenterOriginal/src/components/Orders/OrdersManager/styles.js +75 -0
  296. package/src/themes/callcenterOriginal/src/components/Orders/OrdersTable/index.js +724 -0
  297. package/src/themes/callcenterOriginal/src/components/Orders/OrdersTable/styles.js +403 -0
  298. package/src/themes/callcenterOriginal/src/components/Orders/PaymethodTypeSelector/index.js +58 -0
  299. package/src/themes/callcenterOriginal/src/components/Orders/PaymethodTypeSelector/styles.js +10 -0
  300. package/src/themes/callcenterOriginal/src/components/Orders/ProductItemAccordion/index.js +298 -0
  301. package/src/themes/callcenterOriginal/src/components/Orders/ProductItemAccordion/styles.js +373 -0
  302. package/src/themes/callcenterOriginal/src/components/Orders/ReviewCustomer/index.js +190 -0
  303. package/src/themes/callcenterOriginal/src/components/Orders/ReviewCustomer/styles.js +212 -0
  304. package/src/themes/callcenterOriginal/src/components/Orders/WizardOrders/index.js +94 -0
  305. package/src/themes/callcenterOriginal/src/components/Orders/WizardOrders/styles.js +34 -0
  306. package/src/themes/callcenterOriginal/src/components/Orders/index.js +95 -0
  307. package/src/themes/callcenterOriginal/src/components/PageNotFound/index.js +21 -0
  308. package/src/themes/callcenterOriginal/src/components/PageNotFound/styles.js +78 -0
  309. package/src/themes/callcenterOriginal/src/components/Shared/AutoScroll/index.js +102 -0
  310. package/src/themes/callcenterOriginal/src/components/Shared/AutoScroll/styles.js +85 -0
  311. package/src/themes/callcenterOriginal/src/components/Shared/CitySelector/index.js +83 -0
  312. package/src/themes/callcenterOriginal/src/components/Shared/CitySelector/styles.js +50 -0
  313. package/src/themes/callcenterOriginal/src/components/Shared/ColorPicker/index.js +59 -0
  314. package/src/themes/callcenterOriginal/src/components/Shared/ColorPicker/styles.js +47 -0
  315. package/src/themes/callcenterOriginal/src/components/Shared/ColumnAllowSettingPopover/index.js +116 -0
  316. package/src/themes/callcenterOriginal/src/components/Shared/ColumnAllowSettingPopover/styles.js +53 -0
  317. package/src/themes/callcenterOriginal/src/components/Shared/Confirm/index.js +80 -0
  318. package/src/themes/callcenterOriginal/src/components/Shared/Confirm/styles.js +98 -0
  319. package/src/themes/callcenterOriginal/src/components/Shared/ConfirmAdmin/index.js +102 -0
  320. package/src/themes/callcenterOriginal/src/components/Shared/ConfirmAdmin/styles.js +40 -0
  321. package/src/themes/callcenterOriginal/src/components/Shared/DragScroll/index.js +115 -0
  322. package/src/themes/callcenterOriginal/src/components/Shared/DragScroll/styles.js +55 -0
  323. package/src/themes/callcenterOriginal/src/components/Shared/Image/index.js +41 -0
  324. package/src/themes/callcenterOriginal/src/components/Shared/ImageCrop/index.js +97 -0
  325. package/src/themes/callcenterOriginal/src/components/Shared/ImageCrop/styles.js +125 -0
  326. package/src/themes/callcenterOriginal/src/components/Shared/InputPhoneNumber/index.js +70 -0
  327. package/src/themes/callcenterOriginal/src/components/Shared/InputPhoneNumber/styles.js +153 -0
  328. package/src/themes/callcenterOriginal/src/components/Shared/Modal/index.js +90 -0
  329. package/src/themes/callcenterOriginal/src/components/Shared/Modal/styles.js +94 -0
  330. package/src/themes/callcenterOriginal/src/components/Shared/MoreSidebarLayout/index.js +49 -0
  331. package/src/themes/callcenterOriginal/src/components/Shared/MoreSidebarLayout/styles.js +30 -0
  332. package/src/themes/callcenterOriginal/src/components/Shared/NotFoundSource/index.js +40 -0
  333. package/src/themes/callcenterOriginal/src/components/Shared/NotFoundSource/styles.js +40 -0
  334. package/src/themes/callcenterOriginal/src/components/Shared/Pagination/index.js +143 -0
  335. package/src/themes/callcenterOriginal/src/components/Shared/Pagination/styles.js +105 -0
  336. package/src/themes/callcenterOriginal/src/components/Shared/PaginationButton/index.js +32 -0
  337. package/src/themes/callcenterOriginal/src/components/Shared/PaginationButton/styles.js +33 -0
  338. package/src/themes/callcenterOriginal/src/components/Shared/Personalization/index.js +37 -0
  339. package/src/themes/callcenterOriginal/src/components/Shared/Personalization/styles.js +45 -0
  340. package/src/themes/callcenterOriginal/src/components/Shared/ProgressRing/index.js +102 -0
  341. package/src/themes/callcenterOriginal/src/components/Shared/ProtectedRoute/index.js +29 -0
  342. package/src/themes/callcenterOriginal/src/components/Shared/RangeCalendar/index.js +132 -0
  343. package/src/themes/callcenterOriginal/src/components/Shared/RangeCalendar/styles.js +62 -0
  344. package/src/themes/callcenterOriginal/src/components/Shared/Schedule/index.js +311 -0
  345. package/src/themes/callcenterOriginal/src/components/Shared/Schedule/styles.js +164 -0
  346. package/src/themes/callcenterOriginal/src/components/Shared/ScheduleCopyTimes/index.js +114 -0
  347. package/src/themes/callcenterOriginal/src/components/Shared/ScheduleCopyTimes/styles.js +92 -0
  348. package/src/themes/callcenterOriginal/src/components/Shared/SearchBar/index.js +54 -0
  349. package/src/themes/callcenterOriginal/src/components/Shared/SearchBar/styles.js +64 -0
  350. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinessCategories/index.js +161 -0
  351. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinessCategories/styles.js +91 -0
  352. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinessProducts/index.js +243 -0
  353. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinessProducts/styles.js +124 -0
  354. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinesses/index.js +113 -0
  355. package/src/themes/callcenterOriginal/src/components/Shared/SelectBusinesses/styles.js +90 -0
  356. package/src/themes/callcenterOriginal/src/components/Shared/SelectLoyaltyLevels/index.js +106 -0
  357. package/src/themes/callcenterOriginal/src/components/Shared/SelectLoyaltyLevels/styles.js +41 -0
  358. package/src/themes/callcenterOriginal/src/components/Shared/SelectSites/index.js +88 -0
  359. package/src/themes/callcenterOriginal/src/components/Shared/SelectSites/styles.js +44 -0
  360. package/src/themes/callcenterOriginal/src/components/Shared/SelectUsers/index.js +135 -0
  361. package/src/themes/callcenterOriginal/src/components/Shared/SelectUsers/styles.js +33 -0
  362. package/src/themes/callcenterOriginal/src/components/Shared/SideBar/index.js +79 -0
  363. package/src/themes/callcenterOriginal/src/components/Shared/SideBar/styles.js +49 -0
  364. package/src/themes/callcenterOriginal/src/components/Shared/SpinnerLoader/index.js +35 -0
  365. package/src/themes/callcenterOriginal/src/components/Shared/SpinnerLoader/styles.js +107 -0
  366. package/src/themes/callcenterOriginal/src/components/Shared/SpreadSheetEditor/index.js +201 -0
  367. package/src/themes/callcenterOriginal/src/components/Shared/SpreadSheetEditor/styles.js +58 -0
  368. package/src/themes/callcenterOriginal/src/components/Shared/index.js +66 -0
  369. package/src/themes/callcenterOriginal/src/components/Stores/BusinessSelectHeader/index.js +142 -0
  370. package/src/themes/callcenterOriginal/src/components/Stores/BusinessSelectHeader/styles.js +97 -0
  371. package/src/themes/callcenterOriginal/src/components/UserDetails/index.js +1 -1
  372. package/src/themes/callcenterOriginal/src/styles/Buttons/index.js +64 -0
  373. package/src/themes/callcenterOriginal/src/styles/Checkbox/index.js +56 -0
  374. package/src/themes/callcenterOriginal/src/styles/DashboardSelects/index.js +291 -0
  375. package/src/themes/callcenterOriginal/src/styles/MultiSelect/index.js +147 -0
  376. package/src/themes/callcenterOriginal/src/styles/MultiSelect/styles.js +9 -0
  377. package/src/themes/callcenterOriginal/src/styles/Select/DashboardSelect/index.js +192 -0
  378. package/src/themes/callcenterOriginal/src/styles/Select/DashboardSelect/styles.js +15 -0
  379. package/src/themes/callcenterOriginal/src/styles/Select/FirstSelect/index.js +175 -0
  380. package/src/themes/callcenterOriginal/src/styles/Select/styles.js +15 -0
  381. package/src/themes/callcenterOriginal/src/styles/Switch/index.js +39 -0
  382. package/src/themes/callcenterOriginal/src/styles/Switch/styles.js +58 -0
  383. package/src/themes/callcenterOriginal/src/styles/index.js +22 -0
  384. package/_bundles/ordering-ui.30cf55f42142a3ff6119.js +0 -2
@@ -0,0 +1,1037 @@
1
+ import React, { useState, useEffect, useRef } from 'react'
2
+ import { useUtils, useLanguage, useSession, MessagesDasboard as MessagesController } from 'ordering-components-external'
3
+ import { useForm, Controller } from 'react-hook-form'
4
+ import { useTheme } from 'styled-components'
5
+ import Skeleton from 'react-loading-skeleton'
6
+ import AiOutlineInfoCircle from '@meronex/icons/ai/AiOutlineInfoCircle'
7
+ import MdClose from '@meronex/icons/md/MdClose'
8
+ import { OverlayTrigger, Tooltip } from 'react-bootstrap'
9
+ import {
10
+ MessagesContainer,
11
+ WrapperContainer,
12
+ HeaderProfile,
13
+ WrapperHeader,
14
+ ImageContainer,
15
+ Chat,
16
+ BubbleCustomer,
17
+ MessageCustomer,
18
+ MessageBusiness,
19
+ BubbleBusines,
20
+ SkeletonBubbleCustomer,
21
+ SkeletonBubbleBusiness,
22
+ ChatImage,
23
+ TimeofSent,
24
+ SendForm,
25
+ Send,
26
+ WrapperSendInput,
27
+ SendImage,
28
+ MessageConsole,
29
+ BubbleConsole,
30
+ WrapperDeleteImage,
31
+ WrapperSendMessageButton,
32
+ OrderNumber,
33
+ WrapperHitoryHeader,
34
+ TabItem,
35
+ SkeletonHitory,
36
+ WrapperLogistics,
37
+ WrapperLogisticInformation,
38
+ HeaderInfo,
39
+ SearchAndDetailControlContainer,
40
+ MessagesSearch,
41
+ OrderDetailIconButton,
42
+ ChatHeader,
43
+ ChatContactInfoContainer,
44
+ InfoBlock,
45
+ SendToContainer,
46
+ MessageSender,
47
+ QuickMessageWrapper
48
+ } from './styles'
49
+ import { Alert, Image as ImageWithFallback } from '../../Shared'
50
+ import { Button, Input } from '../../../styles'
51
+ import BsCardImage from '@meronex/icons/bs/BsCardImage'
52
+ import IosSend from '@meronex/icons/ios/IosSend'
53
+ import RiUser2Fill from '@meronex/icons/ri/RiUser2Fill'
54
+ import FaUserAlt from '@meronex/icons/fa/FaUserAlt'
55
+ import BisBusiness from '@meronex/icons/bi/BisBusiness'
56
+ import { Logistics } from '../Logistics'
57
+ import { OrderLogisticInformation } from '../OrderLogisticInformation'
58
+
59
+ const filterSpecialStatus = ['prepared_in', 'delivered_in', 'delivery_datetime']
60
+
61
+ export const MessagesUI = (props) => {
62
+ const {
63
+ isChat,
64
+ order,
65
+ messages,
66
+ handleSend,
67
+ image,
68
+ message,
69
+ sendMessage,
70
+ setImage,
71
+ setMessage,
72
+ canRead,
73
+ setCanRead,
74
+ history,
75
+ messageDashboardView,
76
+ handleMessageOrderDetail,
77
+ handleReadMessages,
78
+ isTourOpen,
79
+ setCurrentTourStep,
80
+ orderDetailClose
81
+ } = props
82
+
83
+ const [, t] = useLanguage()
84
+ const theme = useTheme()
85
+ const { handleSubmit, setValue, errors, control } = useForm()
86
+ const [{ user }] = useSession()
87
+ const [{ parseDate, getTimeAgo, optimizeImage }] = useUtils()
88
+ const buttonRef = useRef(null)
89
+ const messageInputRef = useRef(null)
90
+
91
+ const [alertState, setAlertState] = useState({ open: false, content: [] })
92
+ const [tabActive, setTabActive] = useState({ orderHistory: true, logistics: false, logistic_information: false })
93
+ const [messageSearchValue, setMessageSearchValue] = useState('')
94
+ const [filteredMessages, setFilteredMessages] = useState([])
95
+ const [load, setLoad] = useState(0)
96
+ const [messageList, setMessageList] = useState([])
97
+ const [isChatDisabled, setIsChatDisabled] = useState(false)
98
+
99
+ const adminMessageList = [
100
+ { key: 'message_1', text: t('ADMIN_MESSAGE_1', 'admin_message_1') },
101
+ { key: 'message_2', text: t('ADMIN_MESSAGE_2', 'admin_message_2') },
102
+ { key: 'message_3', text: t('ADMIN_MESSAGE_3', 'admin_message_3') },
103
+ { key: 'message_4', text: t('ADMIN_MESSAGE_4', 'admin_message_4') }
104
+ ]
105
+
106
+ const storeMessageList = [
107
+ { key: 'message_1', text: t('STORE_MESSAGE_1', 'store_message_1') },
108
+ { key: 'message_2', text: t('STORE_MESSAGE_2', 'store_message_2') },
109
+ { key: 'message_3', text: t('STORE_MESSAGE_3', 'store_message_3') },
110
+ { key: 'message_4', text: t('STORE_MESSAGE_4', 'store_message_4') }
111
+ ]
112
+
113
+ const handleClickQuickMessage = (msg) => {
114
+ const quickMsg = message ? `${message} ${msg}` : msg
115
+ setValue('message', quickMsg)
116
+ setMessage(quickMsg)
117
+ }
118
+
119
+ useEffect(() => {
120
+ const msgElement = messageInputRef?.current
121
+ if (msgElement) {
122
+ msgElement.focus()
123
+ msgElement.selectionStart = msgElement.selectionEnd = msgElement.value.length
124
+ msgElement.scrollLeft = msgElement.scrollWidth
125
+ }
126
+ }, [message])
127
+
128
+ useEffect(() => {
129
+ if (user.level === 0) setMessageList(adminMessageList)
130
+ else if (user.level === 2) setMessageList(storeMessageList)
131
+ else setMessageList([])
132
+ }, [user])
133
+
134
+ useEffect(() => {
135
+ if (Object.keys(errors).length > 0) {
136
+ setAlertState({
137
+ open: true,
138
+ content: Object.values(errors).map(error => error.message)
139
+ })
140
+ }
141
+ }, [errors])
142
+
143
+ useEffect(() => {
144
+ setMessageSearchValue('')
145
+ }, [order.id])
146
+
147
+ useEffect(() => {
148
+ if (!sendMessage.loading && sendMessage?.error) {
149
+ setAlertState({
150
+ open: true,
151
+ content: sendMessage.error || [t('ERROR')]
152
+ })
153
+ }
154
+ if (sendMessage.loading) {
155
+ clearInputs()
156
+ }
157
+ }, [sendMessage])
158
+
159
+ useEffect(() => {
160
+ if (history) return
161
+ if (load < 3) {
162
+ const chat = document.getElementById('chat')
163
+ if (chat) {
164
+ chat.scrollTop = chat?.scrollHeight
165
+ }
166
+ }
167
+ }, [load])
168
+
169
+ useEffect(() => {
170
+ if (history) return
171
+ const chat = document.getElementById('chat')
172
+ if (chat) {
173
+ chat.scrollTop = chat?.scrollHeight
174
+ }
175
+ }, [messages.messages.length, filteredMessages])
176
+
177
+ useEffect(() => {
178
+ if (history) return
179
+ setTimeout(() => {
180
+ const chat = document.getElementById('chat')
181
+ if (chat) {
182
+ chat.scrollTop = chat?.scrollHeight
183
+ }
184
+ }, 10)
185
+ }, [isChat])
186
+
187
+ const onChangeMessage = (e) => {
188
+ setMessage(e.target.value)
189
+ }
190
+
191
+ const removeImage = (e) => {
192
+ setImage(null)
193
+ }
194
+
195
+ const onChangeImage = e => {
196
+ const files = e.target.files[0]
197
+ const reader = new window.FileReader()
198
+ reader.readAsDataURL(files)
199
+ reader.onload = () => {
200
+ setImage(reader.result)
201
+ buttonRef.current.focus()
202
+ }
203
+ reader.onerror = error => {
204
+ console.log(error)
205
+ }
206
+ }
207
+
208
+ const getStatus = (status) => {
209
+ switch (status) {
210
+ case 0:
211
+ return t('PENDING', 'Pending')
212
+ case 1:
213
+ return t('COMPLETED_BY_ADMIN', 'Completed by admin')
214
+ case 2:
215
+ return t('REJECTED_BY_ADMIN', 'Rejected by admin')
216
+ case 3:
217
+ return t('ORDER_STATUS_IN_BUSINESS', 'Driver arrived to business')
218
+ case 4:
219
+ return t('PREPARATION_COMPLETED', 'Preparation Completed')
220
+ case 5:
221
+ return t('REJECTED_BY_BUSINESS', 'Rejected by business')
222
+ case 6:
223
+ return t('REJECTED_BY_DRIVER', 'Rejected by driver')
224
+ case 7:
225
+ return t('ACCEPTED_BY_BUSINESS', 'Accepted by Business')
226
+ case 8:
227
+ return t('ACCEPTED_BY_DRIVER', 'Accepted by Driver')
228
+ case 9:
229
+ return t('PICK_UP_COMPLETED_BY_DRIVER', 'Pick up completed by driver')
230
+ case 10:
231
+ return t('PICK_UP_FAILED_BY_DRIVER', 'Pick up failed by driver')
232
+ case 11:
233
+ return t('DELIVERY_COMPLETED_BY_DRIVER', 'Delivery completed by driver')
234
+ case 12:
235
+ return t('DELIVERY_FAILED_BY_DRIVER', 'Delivery failed by driver')
236
+ case 13:
237
+ return t('PREORDER', 'Preorder')
238
+ case 14:
239
+ return t('ORDER_NOT_READY', 'Order not ready')
240
+ case 15:
241
+ return t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', 'Pickup completed by customer')
242
+ case 16:
243
+ return t('ORDER_STATUS_CANCELLED_BY_CUSTOMER', 'Cancelled by customer')
244
+ case 17:
245
+ return t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', 'Not picked by customer')
246
+ case 18:
247
+ return t('ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', 'Driver almost arrived to business')
248
+ case 19:
249
+ return t('ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', 'Driver almost arrived to customer')
250
+ case 20:
251
+ return t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', 'Customer almost arrived to business')
252
+ case 21:
253
+ return t('ORDER_CUSTOMER_ARRIVED_BUSINESS', 'Customer arrived to business')
254
+ case 22:
255
+ return t('ORDER_LOOKING_FOR_DRIVER', 'Looking for driver')
256
+ case 23:
257
+ return t('ORDER_DRIVER_ON_WAY', 'Driver on way')
258
+ default:
259
+ return status
260
+ }
261
+ }
262
+
263
+ const getLogisticTagStatus = (status) => {
264
+ switch (status) {
265
+ case 0:
266
+ return t('PENDING', 'Pending')
267
+ case 1:
268
+ return t('IN_PROGRESS', 'In Progress')
269
+ case 2:
270
+ return t('IN_QUEUE', 'In Queue')
271
+ case 3:
272
+ return t('EXPIRED', 'Logistic expired')
273
+ case 4:
274
+ return t('RESOLVED', 'Resolved')
275
+ default:
276
+ return status
277
+ }
278
+ }
279
+
280
+ const getLevel = (level) => {
281
+ switch (level) {
282
+ case 0:
283
+ return t('ADMIN', 'Admin')
284
+ case 1:
285
+ return t('CITY_MANAGER', 'City Manager')
286
+ case 2:
287
+ return t('BUSINESS', 'Business')
288
+ case 3:
289
+ return t('CUSTOMER', 'Customer')
290
+ case 4:
291
+ return t('DRIVER', 'Driver')
292
+ case 5:
293
+ return t('DRIVER_MANAGER', 'Driver Manager')
294
+ }
295
+ }
296
+
297
+ const getVehicleSmmary = (vehicle) => {
298
+ return vehicle?.type + ' ' + vehicle?.model + ' ' + vehicle?.car_registration + ' ' + vehicle?.color
299
+ }
300
+
301
+ const clearInputs = () => {
302
+ const input = messageInputRef?.current
303
+ if (input) {
304
+ input.value = ''
305
+ setValue('message', '')
306
+ }
307
+ removeImage()
308
+ setMessage('')
309
+ }
310
+
311
+ const onSubmit = (values) => {
312
+ handleSend()
313
+ if (isTourOpen && setCurrentTourStep && orderDetailClose) {
314
+ orderDetailClose()
315
+ setCurrentTourStep(4)
316
+ }
317
+ }
318
+
319
+ const handleChangeTour = (evt) => {
320
+ if (isTourOpen && !evt.target.closest('.message-footer')) {
321
+ orderDetailClose()
322
+ setCurrentTourStep(4)
323
+ }
324
+ }
325
+
326
+ const closeAlert = () => {
327
+ setAlertState({
328
+ open: false,
329
+ content: []
330
+ })
331
+ }
332
+
333
+ const unreadMessageControl = () => {
334
+ if (messages.loading || messages.messages.length === 0) return
335
+ if (messages.messages[messages.messages.length - 1].read) return
336
+ handleReadMessages(messages.messages[messages.messages.length - 1].id)
337
+ }
338
+
339
+ useEffect(() => {
340
+ if (!isChat) return
341
+ if (order?.driver) {
342
+ setCanRead({ administrator: true, business: true, customer: true, driver: true })
343
+ } else {
344
+ setCanRead({ administrator: true, business: true, customer: true, driver: false })
345
+ }
346
+ }, [isChat, order])
347
+
348
+ useEffect(() => {
349
+ if (messages.loading) return
350
+ const _filteredMessages = messages.messages.filter(message => {
351
+ if (message.type === 2) {
352
+ return message.comment.toLocaleLowerCase().includes(messageSearchValue.toLocaleLowerCase())
353
+ }
354
+ return true
355
+ })
356
+ setFilteredMessages(_filteredMessages)
357
+ }, [messages, messageSearchValue])
358
+
359
+ useEffect(() => {
360
+ if (user?.level !== 2) {
361
+ if (!canRead?.business && !canRead?.customer && !canRead?.driver) setIsChatDisabled(true)
362
+ else setIsChatDisabled(false)
363
+ } else {
364
+ if (!canRead?.customer && !canRead?.driver) setIsChatDisabled(true)
365
+ else setIsChatDisabled(false)
366
+ }
367
+ }, [canRead])
368
+
369
+ return (
370
+ <MessagesContainer>
371
+ <WrapperContainer onClick={handleChangeTour}>
372
+ <HeaderProfile>
373
+ <WrapperHeader
374
+ messageDashboardView={messageDashboardView}
375
+ historyView={history}
376
+ >
377
+ <HeaderInfo>
378
+ {isChat && (
379
+ <ChatHeader>
380
+ <OrderNumber>
381
+ {t('INVOICE_ORDER_NO', 'Order No')} {order.id}
382
+ </OrderNumber>
383
+ <ImageContainer>
384
+ {user?.level !== 2 && (
385
+ <ImageWithFallback
386
+ src={optimizeImage(order.business?.logo, 'h_40,c_limit')}
387
+ fallback={<BisBusiness />}
388
+ />
389
+ )}
390
+ <ImageWithFallback
391
+ src={optimizeImage(order.customer?.photo, 'w_40,c_limit')}
392
+ fallback={<FaUserAlt />}
393
+ />
394
+ {order?.driver && (
395
+ <ImageWithFallback
396
+ src={optimizeImage(order.driver?.photo, 'w_40,c_limit')}
397
+ fallback={<RiUser2Fill />}
398
+ />
399
+ )}
400
+ </ImageContainer>
401
+ </ChatHeader>
402
+ )}
403
+ {history && (
404
+ <WrapperHitoryHeader>
405
+ <TabItem active={tabActive.orderHistory} onClick={() => setTabActive({ orderHistory: true, logistics: false, logistic_information: false })}>
406
+ {t('MOBILE_ORDER_HISTORY', 'Order History')}
407
+ </TabItem>
408
+ <TabItem active={tabActive.logistics} onClick={() => setTabActive({ orderHistory: false, logistics: true, logistic_information: false })}>
409
+ {t('LOGISTICS', 'Logistics')}
410
+ </TabItem>
411
+ <TabItem active={tabActive.logistic_information} onClick={() => setTabActive({ orderHistory: false, logistics: false, logistic_information: true })}>
412
+ {t('LOGISTIC_INFORMATION', 'Logistics information')}
413
+ </TabItem>
414
+ </WrapperHitoryHeader>
415
+ )}
416
+ </HeaderInfo>
417
+ {messageDashboardView && (
418
+ <SearchAndDetailControlContainer>
419
+ <MessagesSearch>
420
+ <img src={theme?.images?.icons?.search} alt='search' />
421
+ <input
422
+ type='text'
423
+ name='search'
424
+ placeholder='Search'
425
+ value={messageSearchValue}
426
+ onChange={(e) => setMessageSearchValue(e.target.value)}
427
+ />
428
+ </MessagesSearch>
429
+ <OrderDetailIconButton onClick={() => handleMessageOrderDetail(true)}>
430
+ <AiOutlineInfoCircle />
431
+ </OrderDetailIconButton>
432
+ </SearchAndDetailControlContainer>
433
+ )}
434
+ </WrapperHeader>
435
+ </HeaderProfile>
436
+ <Chat id='chat'>
437
+ {
438
+ messages.loading && (
439
+ <>
440
+ {!history ? (
441
+ <>
442
+ <MessageBusiness>
443
+ <SkeletonBubbleBusiness>
444
+ <Skeleton width={200} height={100} />
445
+ </SkeletonBubbleBusiness>
446
+ </MessageBusiness>
447
+ <MessageCustomer>
448
+ <SkeletonBubbleCustomer>
449
+ <Skeleton width={250} height={100} />
450
+ </SkeletonBubbleCustomer>
451
+ </MessageCustomer>
452
+ <MessageBusiness>
453
+ <SkeletonBubbleBusiness>
454
+ <Skeleton width={150} height={100} />
455
+ </SkeletonBubbleBusiness>
456
+ </MessageBusiness>
457
+ <MessageCustomer>
458
+ <SkeletonBubbleCustomer>
459
+ <Skeleton width={200} height={100} />
460
+ </SkeletonBubbleCustomer>
461
+ </MessageCustomer>
462
+ </>
463
+ ) : (
464
+ <>
465
+ {[...Array(5)].map((item, i) =>
466
+ <SkeletonHitory key={i}>
467
+ <Skeleton width={400} height={50} />
468
+ <Skeleton width={300} height={50} />
469
+ <Skeleton width={380} height={50} />
470
+ <Skeleton width={200} height={50} />
471
+ <Skeleton width={450} height={50} />
472
+ </SkeletonHitory>
473
+ )}
474
+ </>
475
+ )}
476
+ </>
477
+ )
478
+ }
479
+ {
480
+ !messages.loading && (
481
+ <>
482
+ {!tabActive.logistic_information && (
483
+ <MessageConsole>
484
+ <BubbleConsole>
485
+ {t('ORDER_PLACED_FOR', 'Order placed for')} {' '}
486
+ <strong>{parseDate(order.created_at)}</strong> {' '}
487
+ {t('VIA', 'via')} <strong>{order.app_id}</strong>{' '}
488
+ <OverlayTrigger
489
+ placement='top'
490
+ overlay={
491
+ <Tooltip>
492
+ {parseDate(order.created_at)}
493
+ </Tooltip>
494
+ }
495
+ >
496
+ <TimeofSent>{getTimeAgo(order.created_at)}</TimeofSent>
497
+ </OverlayTrigger>
498
+ </BubbleConsole>
499
+ </MessageConsole>
500
+ )}
501
+ {history && (
502
+ <>
503
+ {tabActive.logistics && (
504
+ <WrapperLogistics>
505
+ <Logistics orderId={order.id} />
506
+ </WrapperLogistics>
507
+ )}
508
+ {tabActive.logistic_information && (
509
+ <WrapperLogisticInformation>
510
+ <OrderLogisticInformation orderId={order.id} />
511
+ </WrapperLogisticInformation>
512
+ )}
513
+ </>
514
+ )}
515
+ {filteredMessages.length > 0 && filteredMessages.map((message) => (
516
+ <React.Fragment key={message.id}>
517
+ {history && tabActive.orderHistory && (
518
+ <>
519
+ {message.type === 1 && (
520
+ <MessageConsole key={message.id} style={{ display: `${tabActive.orderHistory ? 'inline-flex' : 'none'}` }}>
521
+ {message.change?.attribute !== 'driver_id' ? (
522
+ <BubbleConsole>
523
+ {t('ORDER', 'Order')} {' '}
524
+ <strong>{t(message.change.attribute)}</strong> {' '}
525
+ {t('CHANGED_FROM', 'Changed from')} {' '}
526
+ {message.change.old !== null && (
527
+ <>
528
+ <strong>{message.change?.attribute === 'logistic_status' ? getLogisticTagStatus(parseInt(message.change.old, 10)) : getStatus(parseInt(message.change.old, 10))}</strong> {' '}
529
+ </>
530
+ )}
531
+ <>
532
+ {t('TO', 'to')} {' '}
533
+ <strong>{message.change.old === null && message.change.attribute === 'delivery_in' ? 'null' : message.change?.attribute === 'logistic_status' ? getLogisticTagStatus(parseInt(message.change.new, 10)) : getStatus(parseInt(message.change.new, 10))}</strong>
534
+ {message?.change?.comment ? `\n'${message?.change?.comment}'` : ''}
535
+ {(message?.author?.name || message?.author?.lastname) && (
536
+ <p><strong>Author: </strong>{(message?.author?.name ?? '') + ' ' + (message?.author?.lastname ?? '')}</p>
537
+ )}
538
+ </>
539
+ <OverlayTrigger
540
+ placement='top'
541
+ overlay={
542
+ <Tooltip>
543
+ {parseDate(message.created_at)}
544
+ </Tooltip>
545
+ }
546
+ >
547
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
548
+ </OverlayTrigger>
549
+ </BubbleConsole>
550
+ ) : (
551
+ <BubbleConsole>
552
+ <>
553
+ {message.change.new !== null ? (
554
+ <>
555
+ <strong>{message.driver?.name} {' '} {message.driver?.lastname && message.driver.lastname}</strong>
556
+ {t('WAS_ASSIGNED_AS_DRIVER', 'was assigned as driver')}
557
+ {message.comment && (<><br /> {message.comment.length}</>)}
558
+ </>
559
+ ) : (
560
+ <>
561
+ {t('DRIVER_UNASSIGNED', 'The driver was unnasigned')}
562
+ </>
563
+ )}
564
+ </>
565
+ <OverlayTrigger
566
+ placement='top'
567
+ overlay={
568
+ <Tooltip>
569
+ {parseDate(message.created_at)}
570
+ </Tooltip>
571
+ }
572
+ >
573
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
574
+ </OverlayTrigger>
575
+ </BubbleConsole>
576
+ )}
577
+ </MessageConsole>
578
+ )}
579
+ </>
580
+ )}
581
+ {isChat && (
582
+ <>
583
+ {message.type === 1 && message.change?.attribute !== 'comment' && (
584
+ <MessageConsole key={message.id}>
585
+ {message.change?.attribute !== 'driver_id' ? (
586
+ <BubbleConsole>
587
+ {t('ORDER', 'Order')} {' '}
588
+ <strong>{t(message.change.attribute)}</strong> {' '}
589
+ {t('CHANGED_FROM', 'Changed from')} {' '}
590
+ {filterSpecialStatus.includes(message.change.attribute) ? (
591
+ <>
592
+ {message.change.old === null ? <strong>0</strong> : (
593
+ <>
594
+ <strong>{message.change.old}</strong> {' '}
595
+ </>
596
+ )}
597
+ <div style={{ whiteSpace: 'pre' }}>
598
+ {t('TO', 'to')} {' '}
599
+ <strong>{message.change.new}</strong> {' '}
600
+ {t('MINUTES', 'Minutes')}
601
+ </div>
602
+ </>
603
+ ) : (
604
+ <>
605
+ {message.change.old !== null && (
606
+ <>
607
+ <strong>
608
+ {
609
+ message.change?.attribute === 'logistic_status'
610
+ ? getLogisticTagStatus(parseInt(message.change.old, 10))
611
+ : message.change?.attribute === 'vehicle'
612
+ ? getVehicleSmmary(message.change.old)
613
+ : getStatus(parseInt(message.change.old, 10))
614
+ }
615
+ </strong>{' '}
616
+ </>
617
+ )}
618
+ <div style={{ whiteSpace: 'pre' }}>
619
+ {t('TO', 'to')} {' '}
620
+ <strong>
621
+ {
622
+ message.change.old === null && message.change.attribute === 'delivery_in'
623
+ ? 'null'
624
+ : message.change?.attribute === 'logistic_status'
625
+ ? getLogisticTagStatus(parseInt(message.change.new, 10))
626
+ : message.change?.attribute === 'vehicle'
627
+ ? getVehicleSmmary(message.change.new)
628
+ : getStatus(parseInt(message.change.new, 10))
629
+ }
630
+ </strong>
631
+ <strong>{message?.change?.comment ? (`\n${t('COMMENT', 'Comment:')}`) : ''}</strong>
632
+ {message?.change?.comment ? ` ${message?.change?.comment}` : ''}
633
+ {(message?.author?.name || message?.author?.lastname) && (
634
+ <p><strong>Author: </strong>{(message?.author?.name ?? '') + ' ' + (message?.author?.lastname ?? '')}</p>
635
+ )}
636
+ </div>
637
+ </>
638
+ )}
639
+ <OverlayTrigger
640
+ placement='top'
641
+ overlay={
642
+ <Tooltip>
643
+ {parseDate(message.created_at)}
644
+ </Tooltip>
645
+ }
646
+ >
647
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
648
+ </OverlayTrigger>
649
+ </BubbleConsole>
650
+ ) : (
651
+ <BubbleConsole>
652
+ <>
653
+ {message.change.new !== null ? (
654
+ <>
655
+ <strong>{message.driver?.name} {' '} {message.driver?.lastname && message.driver.lastname}</strong>
656
+ {t('WAS_ASSIGNED_AS_DRIVER', 'was assigned as driver')}
657
+ {message.comment && (<><br /> {message.comment.length}</>)}
658
+ </>
659
+ ) : (
660
+ <>
661
+ {t('DRIVER_UNASSIGNED', 'The driver was unnasigned')}
662
+ </>
663
+ )}
664
+ </>
665
+ <OverlayTrigger
666
+ placement='top'
667
+ overlay={
668
+ <Tooltip>
669
+ {parseDate(message.created_at)}
670
+ </Tooltip>
671
+ }
672
+ >
673
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
674
+ </OverlayTrigger>
675
+ </BubbleConsole>
676
+ )}
677
+ </MessageConsole>
678
+ )}
679
+ {message.type === 2 && user.id === message.author_id && (
680
+ <MessageCustomer>
681
+ <BubbleCustomer>
682
+ <MessageSender>{message.author.name} ({order.customer_id === message.author.id ? getLevel(3) : getLevel(message.author.level)})</MessageSender>
683
+ {message.comment}
684
+ <OverlayTrigger
685
+ placement='top'
686
+ overlay={
687
+ <Tooltip>
688
+ {parseDate(message.created_at)}
689
+ </Tooltip>
690
+ }
691
+ >
692
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
693
+ </OverlayTrigger>
694
+ </BubbleCustomer>
695
+ <SendToContainer>
696
+ <p>{t('SEND_TO', 'Send to')}:</p>
697
+ <ImageContainer isCircle>
698
+ {message.can_see.includes(2) && (
699
+ <ImageWithFallback
700
+ src={order.business?.logo}
701
+ fallback={<BisBusiness />}
702
+ />
703
+ )}
704
+ {message.can_see.includes(3) && (
705
+ <ImageWithFallback
706
+ src={order.customer?.photo}
707
+ fallback={<FaUserAlt />}
708
+ />
709
+ )}
710
+ {message.can_see.includes(4) && (
711
+ <>
712
+ {order?.driver && (
713
+ <ImageWithFallback
714
+ src={order.driver?.photo}
715
+ fallback={<RiUser2Fill />}
716
+ />
717
+ )}
718
+ </>
719
+ )}
720
+ </ImageContainer>
721
+ </SendToContainer>
722
+ </MessageCustomer>
723
+ )}
724
+ {message.type === 3 && user.id === message.author_id && (
725
+ <MessageCustomer>
726
+ <BubbleCustomer name='image'>
727
+ <MessageSender>{message.author.name} ({order.customer_id === message.author.id ? getLevel(3) : getLevel(message.author.level)})</MessageSender>
728
+ <ChatImage><img src={message.source} onLoad={() => setLoad(load + 1)} alt='chat-image' /></ChatImage>
729
+ {message.comment && (
730
+ <>
731
+ {message.comment}
732
+ </>
733
+ )}
734
+ <OverlayTrigger
735
+ placement='top'
736
+ overlay={
737
+ <Tooltip>
738
+ {parseDate(message.created_at)}
739
+ </Tooltip>
740
+ }
741
+ >
742
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
743
+ </OverlayTrigger>
744
+ </BubbleCustomer>
745
+ <SendToContainer>
746
+ <p>{t('SEND_TO', 'Send to')}:</p>
747
+ <ImageContainer isCircle>
748
+ {message.can_see.includes(2) && (
749
+ <ImageWithFallback
750
+ src={order.business?.logo}
751
+ fallback={<BisBusiness />}
752
+ />
753
+ )}
754
+ {message.can_see.includes(3) && (
755
+ <ImageWithFallback
756
+ src={order.customer?.photo}
757
+ fallback={<FaUserAlt />}
758
+ />
759
+ )}
760
+ {message.can_see.includes(4) && (
761
+ <>
762
+ {order?.driver && (
763
+ <ImageWithFallback
764
+ src={order.driver?.photo}
765
+ fallback={<RiUser2Fill />}
766
+ />
767
+ )}
768
+ </>
769
+ )}
770
+ </ImageContainer>
771
+ </SendToContainer>
772
+ </MessageCustomer>
773
+ )}
774
+ {message.type === 2 && user.id !== message.author_id && (
775
+ <MessageBusiness>
776
+ <BubbleBusines>
777
+ <MessageSender>{message.author.name} ({order.customer_id === message.author.id ? getLevel(3) : getLevel(message.author.level)})</MessageSender>
778
+ {message.comment}
779
+ <OverlayTrigger
780
+ placement='top'
781
+ overlay={
782
+ <Tooltip>
783
+ {parseDate(message.created_at)}
784
+ </Tooltip>
785
+ }
786
+ >
787
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
788
+ </OverlayTrigger>
789
+ </BubbleBusines>
790
+ <SendToContainer isReceived>
791
+ <p>{t('SEND_TO', 'Send to')}:</p>
792
+ <ImageContainer isCircle isReceived>
793
+ {message.can_see.includes(2) && (
794
+ <ImageWithFallback
795
+ src={order.business?.logo}
796
+ fallback={<BisBusiness />}
797
+ />
798
+ )}
799
+ {message.can_see.includes(3) && (
800
+ <ImageWithFallback
801
+ src={order.customer?.photo}
802
+ fallback={<FaUserAlt />}
803
+ />
804
+ )}
805
+ {message.can_see.includes(4) && (
806
+ <>
807
+ {order?.driver && (
808
+ <ImageWithFallback
809
+ src={order.driver?.photo}
810
+ fallback={<RiUser2Fill />}
811
+ />
812
+ )}
813
+ </>
814
+ )}
815
+ </ImageContainer>
816
+ </SendToContainer>
817
+ </MessageBusiness>
818
+ )}
819
+ {message.type === 3 && user.id !== message.author_id && (
820
+ <MessageBusiness>
821
+ <MessageSender>{message.author.name} ({order.customer_id === message.author.id ? getLevel(3) : getLevel(message.author.level)})</MessageSender>
822
+ <BubbleBusines name='image'>
823
+ <ChatImage><img src={message.source} onLoad={() => setLoad(load + 1)} alt='chat-image' /></ChatImage>
824
+ {message.comment && (
825
+ <>
826
+ {message.comment}
827
+ </>
828
+ )}
829
+ <OverlayTrigger
830
+ placement='top'
831
+ overlay={
832
+ <Tooltip>
833
+ {parseDate(message.created_at)}
834
+ </Tooltip>
835
+ }
836
+ >
837
+ <TimeofSent>{getTimeAgo(message.created_at)}</TimeofSent>
838
+ </OverlayTrigger>
839
+ </BubbleBusines>
840
+ <SendToContainer isReceived>
841
+ <p>{t('SEND_TO', 'Send to')}:</p>
842
+ <ImageContainer isCircle isReceived>
843
+ {message.can_see.includes(2) && (
844
+ <ImageWithFallback
845
+ src={order.business?.logo}
846
+ fallback={<BisBusiness />}
847
+ />
848
+ )}
849
+ {message.can_see.includes(3) && (
850
+ <ImageWithFallback
851
+ src={order.customer?.photo}
852
+ fallback={<FaUserAlt />}
853
+ />
854
+ )}
855
+ {message.can_see.includes(4) && (
856
+ <>
857
+ {order?.driver && (
858
+ <ImageWithFallback
859
+ src={order.driver?.photo}
860
+ fallback={<RiUser2Fill />}
861
+ />
862
+ )}
863
+ </>
864
+ )}
865
+ </ImageContainer>
866
+ </SendToContainer>
867
+ </MessageBusiness>
868
+ )}
869
+ </>
870
+ )}
871
+ </React.Fragment>
872
+ ))}
873
+ </>
874
+ )
875
+ }
876
+ </Chat>
877
+
878
+ {!history && (
879
+ <SendForm className='message-footer'>
880
+ <ImageContainer>
881
+ {user?.level !== 2 && (
882
+ <ChatContactInfoContainer
883
+ disabled={!canRead?.business}
884
+ onClick={() => setCanRead({ ...canRead, business: !canRead?.business })}
885
+ >
886
+ <ImageWithFallback
887
+ src={optimizeImage(order.business?.logo, 'h_40,c_limit')}
888
+ fallback={<BisBusiness />}
889
+ />
890
+ <InfoBlock>
891
+ <p>{order.business?.name}</p>
892
+ <p>{t('BUSINESS', 'Business')}</p>
893
+ </InfoBlock>
894
+ </ChatContactInfoContainer>
895
+ )}
896
+ <ChatContactInfoContainer
897
+ disabled={!canRead?.customer}
898
+ onClick={() => setCanRead({ ...canRead, customer: !canRead?.customer })}
899
+ >
900
+ <ImageWithFallback
901
+ src={optimizeImage(order.customer?.photo, 'w_40,c_limit')}
902
+ fallback={<FaUserAlt />}
903
+ />
904
+ <InfoBlock>
905
+ <p>{order.customer?.name} {order.customer?.lastname}</p>
906
+ <p>{t('CUSTOMER', 'Customer')}</p>
907
+ </InfoBlock>
908
+ </ChatContactInfoContainer>
909
+ {order?.driver && (
910
+ <ChatContactInfoContainer
911
+ disabled={!canRead?.driver}
912
+ onClick={() => setCanRead({ ...canRead, driver: !canRead?.driver })}
913
+ >
914
+ <ImageWithFallback
915
+ src={optimizeImage(order.driver?.photo, 'w_40,c_limit')}
916
+ fallback={<RiUser2Fill />}
917
+ />
918
+ <InfoBlock>
919
+ <p>{order.driver?.name} {order.driver?.lastname}</p>
920
+ <p>{t('DRIVER', 'Driver')}</p>
921
+ </InfoBlock>
922
+ </ChatContactInfoContainer>
923
+ )}
924
+ </ImageContainer>
925
+ {messageList.length > 0 && (
926
+ <QuickMessageWrapper>
927
+ {messageList.map((quickMessage, i) => (
928
+ <Button
929
+ key={i}
930
+ color='secundaryDark'
931
+ onClick={() => handleClickQuickMessage(quickMessage.text)}
932
+ >
933
+ {quickMessage.text}
934
+ </Button>
935
+ ))}
936
+ </QuickMessageWrapper>
937
+ )}
938
+
939
+ <Send onSubmit={handleSubmit(onSubmit)} noValidate>
940
+ <WrapperSendInput>
941
+ <Controller
942
+ name='message'
943
+ control={control}
944
+ render={({ onChange, value }) => (
945
+ <Input
946
+ placeholder={t('WRITE_A_MESSAGE', 'Write a message...')}
947
+ value={value}
948
+ onChange={e => {
949
+ onChange(e.target.value)
950
+ onChangeMessage(e)
951
+ }}
952
+ onFocus={unreadMessageControl}
953
+ name='message'
954
+ ref={messageInputRef}
955
+ autoComplete='off'
956
+ readOnly={isChatDisabled}
957
+ />
958
+ )}
959
+ rules={{
960
+ required: !image
961
+ }}
962
+ defaultValue=''
963
+ />
964
+ {!image && (
965
+ <SendImage htmlFor='chat_image'>
966
+ <input
967
+ type='file'
968
+ name='image'
969
+ id='chat_image'
970
+ accept='image/png,image/jpg,image/jpeg'
971
+ onChange={onChangeImage}
972
+ disabled={isChatDisabled}
973
+ />
974
+ <BsCardImage />
975
+ </SendImage>
976
+ )}
977
+ {image && (
978
+ <WrapperDeleteImage>
979
+ <Button
980
+ circle
981
+ onClick={removeImage}
982
+ type='reset'
983
+ >
984
+ <MdClose />
985
+ </Button>
986
+ <img
987
+ src={image}
988
+ loading='lazy'
989
+ />
990
+ </WrapperDeleteImage>
991
+ )}
992
+ </WrapperSendInput>
993
+ <WrapperSendMessageButton>
994
+ <Button
995
+ borderRadius='8px'
996
+ color='primary'
997
+ type='submit'
998
+ disabled={sendMessage.loading || (message === '' && !image) || messages.loading}
999
+ ref={buttonRef}
1000
+ >
1001
+ <IosSend />
1002
+ {sendMessage.loading ? (
1003
+ <span>
1004
+ {t('SENDING_MESSAGE', 'Sending...')}
1005
+ </span>
1006
+ )
1007
+ : (
1008
+ <span>
1009
+ {t('SEND', 'send')}
1010
+ </span>)}
1011
+ </Button>
1012
+ </WrapperSendMessageButton>
1013
+ </Send>
1014
+ </SendForm>
1015
+ )}
1016
+ <Alert
1017
+ title={t('ERROR', 'error')}
1018
+ content={alertState.content}
1019
+ acceptText={t('ACCEPT')}
1020
+ open={alertState.open}
1021
+ onClose={() => closeAlert()}
1022
+ onAccept={() => closeAlert()}
1023
+ closeOnBackdrop={false}
1024
+ />
1025
+ </WrapperContainer>
1026
+ </MessagesContainer>
1027
+ )
1028
+ }
1029
+
1030
+ export const Messages = (props) => {
1031
+ const MessagesProps = {
1032
+ ...props,
1033
+ asDashboard: true,
1034
+ UIComponent: MessagesUI
1035
+ }
1036
+ return <MessagesController {...MessagesProps} />
1037
+ }