npm-pkg-hook 1.12.3 → 1.12.7

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 (315) hide show
  1. package/dist/index.cjs +20089 -0
  2. package/dist/index.js +19854 -0
  3. package/dist/index.mjs +19854 -0
  4. package/package.json +28 -6
  5. package/.babelrc +0 -0
  6. package/.env +0 -5
  7. package/.eslintrc.js +0 -38
  8. package/.eslintrc.json +0 -127
  9. package/.github/pull_request_template.md +0 -18
  10. package/.github/workflows/pepeline.yaml +0 -30
  11. package/expire.json +0 -1
  12. package/jsconfig.json +0 -28
  13. package/script.txt +0 -7
  14. package/src/config/client/errors.js +0 -26
  15. package/src/config/client/index.js +0 -1
  16. package/src/config/content/en.json +0 -5
  17. package/src/config/content/es.json +0 -5
  18. package/src/config/content/index.js +0 -16
  19. package/src/cookies/index.js +0 -3
  20. package/src/hooks/addTenMinutes/index.js +0 -14
  21. package/src/hooks/calculateLogLatHaversine/index.js +0 -30
  22. package/src/hooks/completeSchedules/index.js +0 -22
  23. package/src/hooks/convertToMilitaryTime/index.js +0 -14
  24. package/src/hooks/generateStoreURL/index.js +0 -38
  25. package/src/hooks/generateTemplate/index.js +0 -62
  26. package/src/hooks/getCardType/index.js +0 -24
  27. package/src/hooks/getCategoriesWithProduct/helpers/index.js +0 -7
  28. package/src/hooks/getCategoriesWithProduct/index.js +0 -62
  29. package/src/hooks/getGlobalSession/index.js +0 -49
  30. package/src/hooks/getSession/index.js +0 -18
  31. package/src/hooks/getTodayTimestamps/index.js +0 -64
  32. package/src/hooks/getTotalHours/index.js +0 -48
  33. package/src/hooks/handleLogin/index.js +0 -10
  34. package/src/hooks/index.ts +0 -146
  35. package/src/hooks/isTokenExpired/index.js +0 -17
  36. package/src/hooks/newMessageSubscription/index.js +0 -28
  37. package/src/hooks/newStoreOrderSubscription/index.js +0 -26
  38. package/src/hooks/statusOpenStores/helpers/index.js +0 -101
  39. package/src/hooks/statusOpenStores/index.js +0 -156
  40. package/src/hooks/updateExtProductFoodsOptional/index.js +0 -40
  41. package/src/hooks/useAcumulateDate/index.js +0 -16
  42. package/src/hooks/useAllStoresPendingToRegister/index.js +0 -34
  43. package/src/hooks/useAmountInput/index.ts +0 -117
  44. package/src/hooks/useAnimationFrame/index.js +0 -45
  45. package/src/hooks/useAnimationText/index.jsx +0 -31
  46. package/src/hooks/useAsideCart/helpers/index.js +0 -22
  47. package/src/hooks/useAsideCart/index.js +0 -214
  48. package/src/hooks/useAsideCart/queries.js +0 -10
  49. package/src/hooks/useBanner/index.js +0 -19
  50. package/src/hooks/useCart/index.js +0 -2
  51. package/src/hooks/useCart/queries.js +0 -174
  52. package/src/hooks/useCart/useCart/helpers/index.js +0 -75
  53. package/src/hooks/useCart/useCart/index.js +0 -412
  54. package/src/hooks/useCart/useGetCart/index.js +0 -33
  55. package/src/hooks/useCatWithProduct/index.js +0 -48
  56. package/src/hooks/useCatWithProduct/queries.js +0 -200
  57. package/src/hooks/useCatWithProductClient/index.js +0 -56
  58. package/src/hooks/useCatWithProductClient/queries.js +0 -56
  59. package/src/hooks/useCategoriesProduct/index.js +0 -13
  60. package/src/hooks/useCategoriesProduct/queries.js +0 -16
  61. package/src/hooks/useCategoryInStore/index.js +0 -100
  62. package/src/hooks/useCategoryInStore/queries.js +0 -78
  63. package/src/hooks/useCategoryStore/index.js +0 -7
  64. package/src/hooks/useCategoryStore/queries.js +0 -16
  65. package/src/hooks/useChartData/index.js +0 -170
  66. package/src/hooks/useChartData/useChartData/index.js +0 -199
  67. package/src/hooks/useChartData/useChartDataAllOrders/index.js +0 -94
  68. package/src/hooks/useChatRoomSubscription/index.js +0 -28
  69. package/src/hooks/useCheckbox/index.js +0 -115
  70. package/src/hooks/useCities/index.js +0 -13
  71. package/src/hooks/useCities/queries.js +0 -12
  72. package/src/hooks/useClients/index.js +0 -96
  73. package/src/hooks/useClients/queries.js +0 -212
  74. package/src/hooks/useColorByLetters/helpers/alea.js +0 -54
  75. package/src/hooks/useColorByLetters/helpers/colors.js +0 -45
  76. package/src/hooks/useColorByLetters/helpers/index.js +0 -18
  77. package/src/hooks/useColorByLetters/helpers/mersenne_twister.js +0 -118
  78. package/src/hooks/useColorByLetters/index.js +0 -27
  79. package/src/hooks/useConnection/index.js +0 -24
  80. package/src/hooks/useCountries/index.js +0 -19
  81. package/src/hooks/useCountries/queries.js +0 -12
  82. package/src/hooks/useCreateDeliveryTime/index.js +0 -51
  83. package/src/hooks/useCreateOrderStatusType/index.ts +0 -132
  84. package/src/hooks/useCreateProduct/helpers/index.js +0 -23
  85. package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/index.js +0 -52
  86. package/src/hooks/useCreateProduct/helpers/useEditImageProduct/index.js +0 -176
  87. package/src/hooks/useCreateProduct/index.js +0 -334
  88. package/src/hooks/useCreateStorePendingToRegister/index.js +0 -13
  89. package/src/hooks/useCreateStorePendingToRegister/queries.js +0 -10
  90. package/src/hooks/useDashboardComponents/index.js +0 -50
  91. package/src/hooks/useDeleteExtraProductFoods/index.js +0 -12
  92. package/src/hooks/useDeleteSubProductOptional/index.js +0 -30
  93. package/src/hooks/useDeleteSubProductOptional/queries.js +0 -10
  94. package/src/hooks/useDeliveryTime/index.js +0 -27
  95. package/src/hooks/useDepartments/index.js +0 -13
  96. package/src/hooks/useDepartments/queries.js +0 -13
  97. package/src/hooks/useDessert/helpers/index.js +0 -51
  98. package/src/hooks/useDessert/index.js +0 -525
  99. package/src/hooks/useDessertWithPrice/helpers/index.js +0 -76
  100. package/src/hooks/useDessertWithPrice/index.js +0 -373
  101. package/src/hooks/useDessertWithPrice/queries.js +0 -18
  102. package/src/hooks/useDevWS/index.ts +0 -53
  103. package/src/hooks/useDevices/index.js +0 -2
  104. package/src/hooks/useDevices/queries.js +0 -28
  105. package/src/hooks/useDevices/useGetDevices.js +0 -28
  106. package/src/hooks/useDevices/useRegisterDevices.js +0 -75
  107. package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +0 -21
  108. package/src/hooks/useDownloadReports/index.ts +0 -2
  109. package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +0 -103
  110. package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +0 -115
  111. package/src/hooks/useDrag/index.js +0 -63
  112. package/src/hooks/useDropzone/index.js +0 -94
  113. package/src/hooks/useDynamicAuth/index.js +0 -13
  114. package/src/hooks/useDynamicAuth/queries.js +0 -24
  115. package/src/hooks/useEditCategory/index.js +0 -41
  116. package/src/hooks/useEditOneExtProductFoodOptional/index.js +0 -28
  117. package/src/hooks/useEditOneExtProductFoodOptional/queries.js +0 -16
  118. package/src/hooks/useEditSubProductOptional/index.js +0 -11
  119. package/src/hooks/useEditSubProductOptional/queries.js +0 -10
  120. package/src/hooks/useEmployee/index.js +0 -17
  121. package/src/hooks/useEmployee/queries.js +0 -85
  122. package/src/hooks/useEmployee/useCreateEmployee.js +0 -86
  123. package/src/hooks/useEvent/index.js +0 -34
  124. package/src/hooks/useFavoriteStores/index.js +0 -29
  125. package/src/hooks/useFavoriteStores/queries.js +0 -54
  126. package/src/hooks/useFetchJson/index.js +0 -25
  127. package/src/hooks/useFetchMoreInteractions/index.jsx +0 -39
  128. package/src/hooks/useFingerprintjs/index.js +0 -172
  129. package/src/hooks/useFormTools/index.js +0 -116
  130. package/src/hooks/useFormatDate/index.js +0 -86
  131. package/src/hooks/useFormatNumberPhone/index.js +0 -23
  132. package/src/hooks/useFullScreenMode/index.js +0 -65
  133. package/src/hooks/useGenerateNumberArray/index.js +0 -17
  134. package/src/hooks/useGetAllLocationUser/index.js +0 -12
  135. package/src/hooks/useGetAllLocationUser/queries.js +0 -44
  136. package/src/hooks/useGetCookies/index.js +0 -43
  137. package/src/hooks/useGetExtProductFoodsSubOptionalAll/index.js +0 -14
  138. package/src/hooks/useGetFoodRecomended/index.js +0 -32
  139. package/src/hooks/useGetFoodRecomended/queries.js +0 -47
  140. package/src/hooks/useGetMessagesToRoom/index.js +0 -23
  141. package/src/hooks/useGetMinPrice/index.js +0 -12
  142. package/src/hooks/useGetMinPrice/queries.js +0 -7
  143. package/src/hooks/useGetOneStoreRating/index.js +0 -40
  144. package/src/hooks/useGetOneStoreRating/queries.js +0 -18
  145. package/src/hooks/useGetSalesAmountToday/index.js +0 -31
  146. package/src/hooks/useGetStoreCookie/index.js +0 -21
  147. package/src/hooks/useGoogleLogin/index.js +0 -160
  148. package/src/hooks/useGoogleLogin/loadScript.js +0 -15
  149. package/src/hooks/useGoogleLogin/removeScript.js +0 -7
  150. package/src/hooks/useHover/index.js +0 -29
  151. package/src/hooks/useImageOptimization/index.js +0 -28
  152. package/src/hooks/useImageUploaderProduct/helper/canvasUtils.ts +0 -130
  153. package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +0 -53
  154. package/src/hooks/useImageUploaderProduct/helper/index.ts +0 -5
  155. package/src/hooks/useImageUploaderProduct/index.ts +0 -292
  156. package/src/hooks/useImageWeight/index.js +0 -51
  157. package/src/hooks/useImagesStore/index.js +0 -225
  158. package/src/hooks/useImagesStore/queries.js +0 -193
  159. package/src/hooks/useImagesStore/utils/index.js +0 -4
  160. package/src/hooks/useIncomingOrders/index.js +0 -10
  161. package/src/hooks/useIncomingOrders/queries.js +0 -87
  162. package/src/hooks/useInnerHtml/index.js +0 -39
  163. package/src/hooks/useIntersection/index.js +0 -84
  164. package/src/hooks/useInventory/index.js +0 -2
  165. package/src/hooks/useInventory/queries.js +0 -58
  166. package/src/hooks/useInventory/useGetProductsInStock.js +0 -15
  167. package/src/hooks/useInventory/useUpdateManageStock.js +0 -41
  168. package/src/hooks/useKeypress/index.js +0 -28
  169. package/src/hooks/useLazyScript/index.js +0 -71
  170. package/src/hooks/useLocalBackendIp/index.js +0 -34
  171. package/src/hooks/useLocalSorage/index.js +0 -36
  172. package/src/hooks/useLocationManager/index.js +0 -63
  173. package/src/hooks/useLocationNavigate/index.js +0 -54
  174. package/src/hooks/useLoginEmployeeInStore/index.js +0 -38
  175. package/src/hooks/useLogout/helpers/BroadcastChannel.js +0 -31
  176. package/src/hooks/useLogout/helpers/apiBaseUrl.js +0 -8
  177. package/src/hooks/useLogout/helpers/fetchData.js +0 -28
  178. package/src/hooks/useLogout/helpers/getCsrfToken.js +0 -30
  179. package/src/hooks/useLogout/helpers/index.js +0 -57
  180. package/src/hooks/useLogout/helpers/logger.js +0 -70
  181. package/src/hooks/useLogout/helpers/parseUrl.js +0 -36
  182. package/src/hooks/useLogout/index.js +0 -96
  183. package/src/hooks/useManageNewOrder/helpers/index.js +0 -45
  184. package/src/hooks/useManageNewOrder/helpers/mock.js +0 -0
  185. package/src/hooks/useManageNewOrder/index.js +0 -102
  186. package/src/hooks/useManageQueryParams/index.js +0 -40
  187. package/src/hooks/useMobile/index.js +0 -65
  188. package/src/hooks/useModules/helpers/index.js +0 -1
  189. package/src/hooks/useModules/helpers/validateModules.js +0 -29
  190. package/src/hooks/useModules/index.js +0 -58
  191. package/src/hooks/useMouse/index.ts +0 -50
  192. package/src/hooks/useMutateHeight/index.js +0 -36
  193. package/src/hooks/useOrderClient/index.js +0 -5
  194. package/src/hooks/useOrderStatusTypes/index.ts +0 -2
  195. package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +0 -133
  196. package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +0 -97
  197. package/src/hooks/useOrders/index.js +0 -3
  198. package/src/hooks/useOrders/queries.js +0 -89
  199. package/src/hooks/useOrders/useChangeOrderState/index.ts +0 -125
  200. package/src/hooks/useOrders/useOrdersFromStore/index.ts +0 -77
  201. package/src/hooks/usePWAInstall/index.js +0 -38
  202. package/src/hooks/usePortFetcher/index.ts +0 -33
  203. package/src/hooks/useProductsFood/index.js +0 -253
  204. package/src/hooks/useProductsFood/queriesStore.js +0 -964
  205. package/src/hooks/useProductsFood/useEditProduct.js +0 -48
  206. package/src/hooks/useProductsFood/usetagsProducts.js +0 -98
  207. package/src/hooks/useProviders/index.js +0 -3
  208. package/src/hooks/useProviders/queries.js +0 -31
  209. package/src/hooks/useProviders/useProvidersCreateStore/index.js +0 -12
  210. package/src/hooks/useProviders/useProvidersDataStore/index.js +0 -24
  211. package/src/hooks/useProvidersStore/index.js +0 -24
  212. package/src/hooks/useProvidersStore/queries.js +0 -31
  213. package/src/hooks/usePushNotificationOrder/index.js +0 -52
  214. package/src/hooks/usePushNotifications/helpers/index.js +0 -114
  215. package/src/hooks/usePushNotifications/index.js +0 -149
  216. package/src/hooks/useQueryLocationsMap/index.js +0 -19
  217. package/src/hooks/useQueryLocationsMap/queries.js +0 -40
  218. package/src/hooks/useRatingArrayData/index.js +0 -54
  219. package/src/hooks/useRatingArrayData/queries.js +0 -19
  220. package/src/hooks/useReactToPrint/index.js +0 -1223
  221. package/src/hooks/useRemoveExtraProductFoodsOptional/index.js +0 -23
  222. package/src/hooks/useRemoveExtraProductFoodsOptional/queries.js +0 -48
  223. package/src/hooks/useReport/index.js +0 -47
  224. package/src/hooks/useReport/queries.js +0 -123
  225. package/src/hooks/useRestaurant/helpers/index.js +0 -24
  226. package/src/hooks/useRestaurant/helpers/manageStatusOpen.js +0 -26
  227. package/src/hooks/useRestaurant/index.js +0 -69
  228. package/src/hooks/useRestaurant/queries.js +0 -81
  229. package/src/hooks/useRoads/index.js +0 -19
  230. package/src/hooks/useRoads/queries.js +0 -13
  231. package/src/hooks/useRoles/index.js +0 -4
  232. package/src/hooks/useRoles/queries.js +0 -70
  233. package/src/hooks/useRoles/useCreateRole.js +0 -37
  234. package/src/hooks/useRoles/useGetRoles.js +0 -36
  235. package/src/hooks/useRoles/useRemoveRoles.js +0 -40
  236. package/src/hooks/useRoles/useUpdateRolesPriority.js +0 -44
  237. package/src/hooks/useSales/helpers/index.js +0 -55
  238. package/src/hooks/useSales/index.js +0 -1381
  239. package/src/hooks/useSales/queries.js +0 -424
  240. package/src/hooks/useSales/useGetAllSales/index.js +0 -25
  241. package/src/hooks/useSales/useGetSale.js +0 -13
  242. package/src/hooks/useSales/useTotalSales.js +0 -23
  243. package/src/hooks/useSaveAvailableProduct/helpers/index.js +0 -38
  244. package/src/hooks/useSaveAvailableProduct/index.js +0 -31
  245. package/src/hooks/useSaveAvailableProduct/queries.js +0 -10
  246. package/src/hooks/useSaveLocation/index.js +0 -16
  247. package/src/hooks/useSaveLocation/queries.js +0 -19
  248. package/src/hooks/useSchedule/index.js +0 -78
  249. package/src/hooks/useSchedule/index.jsx +0 -22
  250. package/src/hooks/useSchedule/queries.js +0 -43
  251. package/src/hooks/useScheduleData/index.js +0 -123
  252. package/src/hooks/useScroll/index.js +0 -56
  253. package/src/hooks/useScrollRotate/index.js +0 -16
  254. package/src/hooks/useSetImageProducts/index.js +0 -57
  255. package/src/hooks/useSetImageProducts/queries.js +0 -18
  256. package/src/hooks/useSetSession/index.js +0 -44
  257. package/src/hooks/useSetState/index.js +0 -24
  258. package/src/hooks/useSetupSchedule/helpers/index.js +0 -85
  259. package/src/hooks/useSetupSchedule/index.js +0 -272
  260. package/src/hooks/useStatusOpenStore/helpers/index.js +0 -101
  261. package/src/hooks/useStatusOpenStore/index.js +0 -179
  262. package/src/hooks/useStatusOrdersClient/helpers/index.js +0 -14
  263. package/src/hooks/useStatusOrdersClient/index.js +0 -17
  264. package/src/hooks/useStatusOrdersClient/queries.js +0 -80
  265. package/src/hooks/useStockMovements/helpers/index.js +0 -16
  266. package/src/hooks/useStockMovements/index.js +0 -38
  267. package/src/hooks/useStore/index.js +0 -80
  268. package/src/hooks/useStore/queries.js +0 -163
  269. package/src/hooks/useStoreCalendar/index.js +0 -5
  270. package/src/hooks/useStoreContacts/index.js +0 -47
  271. package/src/hooks/useStoreContacts/queries.js +0 -48
  272. package/src/hooks/useStoreTable/index.js +0 -2
  273. package/src/hooks/useStoreTable/queries.js +0 -47
  274. package/src/hooks/useStoreTable/useStoreTableCreate.js +0 -76
  275. package/src/hooks/useStoreTable/useStoreTables.js +0 -14
  276. package/src/hooks/useSubscriptionValidation/index.js +0 -41
  277. package/src/hooks/useTagProducts/index.ts +0 -3
  278. package/src/hooks/useTagProducts/useDeleteOneTag.ts +0 -106
  279. package/src/hooks/useTagProducts/useGetAllTags.ts +0 -68
  280. package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +0 -156
  281. package/src/hooks/useTimeAgo/useTimeAgo.js +0 -39
  282. package/src/hooks/useTokenCards/index.js +0 -41
  283. package/src/hooks/useTopProductsMovements/index.js +0 -27
  284. package/src/hooks/useTotalAllSales/index.js +0 -25
  285. package/src/hooks/useTotalProductsInStock/index.js +0 -23
  286. package/src/hooks/useTotalProductsSold/index.js +0 -23
  287. package/src/hooks/useTotalProductsSolded/index.js +0 -20
  288. package/src/hooks/useUpdateCart/index.js +0 -130
  289. package/src/hooks/useUpdateCartCookie/index.js +0 -43
  290. package/src/hooks/useUpdateDashboardComponent/index.ts +0 -91
  291. package/src/hooks/useUpdateExistingOrders/index.js +0 -85
  292. package/src/hooks/useUpdateExtProductFoodsSubOptional/index.js +0 -60
  293. package/src/hooks/useUpdateModuleOrder/index.js +0 -37
  294. package/src/hooks/useUpdateMultipleExtProduct/index.js +0 -33
  295. package/src/hooks/useUpdateMultipleExtProduct/queries.js +0 -33
  296. package/src/hooks/useUpdateMultipleProducts/index.js +0 -80
  297. package/src/hooks/useUpdateMultipleProducts/queries.js +0 -51
  298. package/src/hooks/useUploadProducts/helpers/index.js +0 -1
  299. package/src/hooks/useUploadProducts/helpers/parseNumber.js +0 -37
  300. package/src/hooks/useUploadProducts/helpers/validateProductDataExcel.js +0 -73
  301. package/src/hooks/useUploadProducts/index.js +0 -422
  302. package/src/hooks/useUpsertGoal/index.js +0 -68
  303. package/src/hooks/useUser/index.js +0 -23
  304. package/src/hooks/useUser/queries.js +0 -131
  305. package/src/hooks/useWeeklyStockMovement/helpers/index.js +0 -32
  306. package/src/hooks/useWeeklyStockMovement/index.js +0 -51
  307. package/src/hooks/useWindowSize/index.js +0 -38
  308. package/src/index.jsx +0 -9
  309. package/src/mock/dessert/index.js +0 -16
  310. package/src/mock/index.js +0 -1
  311. package/src/security/index.js +0 -1
  312. package/src/services/index.js +0 -0
  313. package/src/utils/UtilDateRange.js +0 -31
  314. package/src/utils/index.js +0 -306
  315. package/tsconfig.json +0 -5
@@ -1,373 +0,0 @@
1
- import {
2
- useCallback,
3
- useEffect,
4
- useMemo,
5
- useRef,
6
- useState,
7
- createRef
8
- } from 'react'
9
- import { useUpdateMultipleExtProduct } from '../useUpdateMultipleExtProduct'
10
- import { useMutation } from '@apollo/client'
11
- import { EDIT_EXTRA_PRODUCT_FOODS } from './queries'
12
- import { findNumbersExceedingRange, transformData, updateErrorFieldByIndex } from './helpers'
13
- import { useDeleteExtraProductFoods } from '../useDeleteExtraProductFoods'
14
-
15
- export const useDessertWithPrice = ({
16
- dataExtra = [],
17
- sendNotification = ({
18
- title,
19
- description,
20
- backgroundColor
21
- }) => {
22
- return {
23
- title,
24
- description,
25
- backgroundColor
26
- }
27
- },
28
- setAlertBox = ({ message, duration = 10000, success = true }) => { return { message, duration, success } }
29
- } = {}) => {
30
- const [selected, setSelected] = useState({
31
- loading: false,
32
- exPid: null
33
- })
34
- const [editExtraProductFoods] = useMutation(EDIT_EXTRA_PRODUCT_FOODS)
35
-
36
- const initialLine = useMemo(() => {
37
- return {
38
- extraName: '',
39
- extraPrice: '',
40
- exState: false
41
- }
42
- }, [])
43
-
44
- const initialLineItems = useMemo(() => {
45
- return {
46
- Lines: [
47
- {
48
- extraName: '',
49
- extraPrice: '',
50
- exState: false
51
- },
52
- (initialLine)
53
- ]
54
- }
55
- }, [initialLine])
56
- const transformedData = transformData(dataExtra)
57
-
58
- const [LineItems, setLine] = useState(
59
- Array.isArray(dataExtra) && dataExtra.length > 0 ? { Lines: transformedData } : initialLineItems
60
- )
61
-
62
- const inputRefs = useRef(LineItems.Lines.map(() => createRef()))
63
-
64
- const handleSelect = (item, index) => {
65
- try {
66
- const { exPid } = item || {}
67
- setSelected({ exPid, loading: false })
68
- if (inputRefs?.current[index]) {
69
- inputRefs.current[index].current.focus()
70
- }
71
- } catch (error) {
72
- return null
73
- }
74
- }
75
-
76
- useEffect(() => {
77
- // Asegurándote de que las referencias se actualicen si LineItems cambia
78
- inputRefs.current = LineItems.Lines.map((_, i) => inputRefs.current[i] || createRef())
79
- }, [LineItems])
80
-
81
- const handleCleanLines = useCallback(() => {
82
- setLine(Array.isArray(dataExtra) && dataExtra.length > 0 ? { Lines: transformedData } : initialLineItems)
83
- }, [initialLineItems])
84
-
85
- const [updateMultipleExtProduct, { loading }] = useUpdateMultipleExtProduct({
86
- handleCleanLines: () => { },
87
- sendNotification
88
- })
89
- /**
90
- * Handles the addition of two new lines to the Lines array in LineItems state.
91
- */
92
- const handleAdd = useCallback(() => {
93
- try {
94
- // Ensure that LineItems and initialLine are not null or undefined
95
- if (!LineItems || !initialLine) {
96
- throw new Error('Han ocurrido un error.')
97
- }
98
-
99
- // Ensure that LineItems.Lines is an array
100
- if (!Array.isArray(LineItems.Lines)) {
101
- throw new Error('Han ocurrido un error.')
102
- }
103
-
104
- // Clone the existing Lines array and add two new objects (clones of initialLine) to it
105
- const Lines = [...LineItems.Lines, { ...initialLine }]
106
-
107
- // Update the LineItems state with the new Lines array
108
- setLine((prevLineItems) => { return { ...prevLineItems, Lines } })
109
- } catch (error) {
110
- sendNotification({
111
- title: error.message,
112
- description: 'Error',
113
- backgroundColor: 'error'
114
- })
115
- }
116
- }, [LineItems, initialLine, setLine])
117
-
118
- const handleFocusChange = (index) => {
119
- const lastItem = LineItems.Lines.length - 1
120
- if (lastItem === index) {
121
- handleAdd()
122
- }
123
- }
124
-
125
- /**
126
- * Handles changes in line items, updating the state accordingly.
127
- * @param {number} index - The index of the line item being updated.
128
- * @param {string} name - The name of the attribute being changed.
129
- * @param {any} value - The new value of the attribute.
130
- */
131
- const handleLineChange = (index, name, value) => {
132
- const newLines = LineItems.Lines.map((line, i) => {
133
- if (i !== index) return { ...line }
134
-
135
- const newLine = { ...line }
136
-
137
- if (name === 'extraName' || name === 'extraPrice') {
138
- newLine[name] = value
139
- } else if (name === 'exState') {
140
- newLine[name] = value.target.checked
141
- } else {
142
- newLine[name] = value
143
- }
144
-
145
- return newLine
146
- })
147
-
148
- setLine({ ...LineItems, Lines: newLines })
149
- }
150
- const { deleteExtraProductFoods } = useDeleteExtraProductFoods()
151
-
152
- /**
153
- * Filter out a specific line from the LineItems array.
154
- * @param {number} index - Index of the line to be filtered out.
155
- */
156
- const filterOneLine = (index) => {
157
- // Use optional chaining to safely access nested properties.
158
- const Lines = LineItems?.Lines?.filter((_, i) => { return i !== index })
159
- // Use spread operator to create a new object with the filtered Lines array.
160
- return setLine({ ...LineItems, Lines })
161
- }
162
-
163
- /**
164
- * Removes a product extra by index or external product ID.
165
- *
166
- * @param {number} i - Index of the item in the list.
167
- * @param {string} [exPid] - External product ID to remove (optional).
168
- * @returns {Promise<void>}
169
- */
170
- const handleRemove = async (i, exPid) => {
171
- try {
172
- if (!exPid) {
173
- return filterOneLine(i)
174
- }
175
-
176
- const findDataExtra = dataExtra?.find(x => x?.exPid === exPid)
177
- if (!findDataExtra) return
178
-
179
- await deleteExtraProductFoods({
180
- variables: {
181
- state: 1,
182
- id: exPid
183
- },
184
- update: (cache, { data }) => {
185
- const res = data?.deleteExtraProduct
186
- const success = res?.success
187
- const message = res?.message || ''
188
-
189
- if (!success) {
190
- return sendNotification({
191
- title: 'Error',
192
- description: message,
193
- backgroundColor: 'error'
194
- })
195
- }
196
-
197
- sendNotification({
198
- title: 'Producto eliminado',
199
- description: message,
200
- backgroundColor: 'success'
201
- })
202
-
203
- cache.modify({
204
- fields: {
205
- ExtProductFoodsAll: (dataOld = []) => {
206
- if (!Array.isArray(dataOld)) return dataOld
207
-
208
- const transformedData = transformData(dataOld)
209
- const Lines = transformedData.filter((_, index) => index !== i)
210
- const newCache = dataOld.filter((_, index) => index !== i)
211
-
212
- setLine(prev => ({
213
- ...prev,
214
- Lines
215
- }))
216
-
217
- return newCache
218
- }
219
- }
220
- })
221
- }
222
- })
223
- } catch (error) {
224
- console.log('🚀 ~ handleRemove ~ error:', error)
225
- sendNotification({
226
- title: 'Error',
227
- description: 'Ocurrió un error al eliminar el producto',
228
- backgroundColor: 'error'
229
- })
230
- }
231
- }
232
-
233
- useEffect(() => {
234
- setLine(Array.isArray(dataExtra) && dataExtra.length > 0 ? { Lines: transformedData } : initialLineItems)
235
- }, [dataExtra.length])
236
-
237
- const prepareAndValidateData = useCallback((pId) => {
238
- const dataArr = LineItems?.Lines?.map(({ extraPrice, exState, extraName }) => ({
239
- extraPrice,
240
- exState: exState === true ? 1 : 0,
241
- extraName,
242
- pId
243
- }))
244
- console.log(dataArr)
245
- const message = 'Complete los campos vacíos'
246
- const findInputEmpty = dataArr?.find(({ extraName }) => extraName === '')
247
- const findInputEmptyPrice = dataArr?.find(({ extraPrice }) => isNaN(extraPrice) || extraPrice === '')
248
-
249
- if (findInputEmpty || findInputEmptyPrice) {
250
- setAlertBox({ message })
251
- return null
252
- }
253
- return dataArr
254
- }, [LineItems])
255
-
256
- const handleEdit = async (i, exPid) => {
257
- setSelected({ exPid: null, loading: true })
258
- const findOneExtra = LineItems?.Lines?.find((x, i) => { return x?.exPid === exPid })
259
- const { extraName, extraPrice: price } = findOneExtra || {}
260
- const extraPrice = price
261
- const { data } = await editExtraProductFoods({
262
- variables: {
263
- exPid,
264
- extraName,
265
- extraPrice
266
- },
267
- update: (cache) => {
268
- cache.modify({
269
- fields: {
270
- ExtProductFoodsAll: () => {
271
- return LineItems?.Lines || []
272
- }
273
- }
274
- })
275
- }
276
- })
277
- if (!data?.editExtraProductFoods?.success) {
278
- return sendNotification({
279
- title: 'Error',
280
- description: data?.editExtraProductFoods?.message || '',
281
- backgroundColor: 'error'
282
- })
283
- }
284
-
285
- if (data?.editExtraProductFoods?.success) {
286
- return sendNotification({
287
- title: 'Producto actualizado',
288
- description: data?.editExtraProductFoods?.message || '',
289
- backgroundColor: 'success'
290
- })
291
- }
292
- }
293
-
294
- function filterItemsWithValidExPid (items, pId) {
295
- // Primero, filtrar los elementos basados en exPid
296
- const filteredItems = items.filter(({ exPid }) => {
297
- const isExPidValid = !exPid
298
- return isExPidValid
299
- })
300
-
301
- // Luego, transformar los elementos filtrados
302
- return filteredItems.map(({ exPid, extraPrice, exState, extraName }) => ({
303
- exPid,
304
- extraPrice,
305
- exState: exState === true ? 1 : 0,
306
- extraName,
307
- pId
308
- }))
309
- }
310
-
311
- const handleSubmit = ({ pId }) => {
312
- try {
313
- const checkNumberRange = findNumbersExceedingRange(LineItems?.Lines)
314
- updateErrorFieldByIndex({ checkNumberRange, setLine })
315
- if (checkNumberRange?.length > 0) {
316
- return setAlertBox({ message: 'El precio no puede ser tan alto', duration: 10000 })
317
- }
318
-
319
- if (!prepareAndValidateData(pId)) return
320
- const dataArr = LineItems?.Lines?.map(x => {
321
- const extraPrice = x.extraPrice
322
- const extraName = x.extraName
323
- return {
324
- extraPrice,
325
- exState: x.exState === true ? 1 : 0,
326
- extraName,
327
- pId
328
- }
329
- })
330
- const filteredItems = filterItemsWithValidExPid(LineItems?.Lines, pId)
331
-
332
- return updateMultipleExtProduct({
333
- variables: {
334
- inputLineItems: {
335
- setData: filteredItems
336
- }
337
- },
338
- update: (cache) => {
339
- cache.modify({
340
- fields: {
341
- ExtProductFoodsAll: () => {
342
- return dataArr
343
- }
344
- }
345
- })
346
- }
347
- }).then((res) => {
348
- setAlertBox({ message: 'Se ha creado correctamente', duration: 7000, success: true })
349
- })
350
- } catch (error) {
351
- setAlertBox({ message: `${error}`, duration: 7000 })
352
- }
353
- }
354
- const isLoading = loading
355
-
356
- return {
357
- initialLine,
358
- inputRefs,
359
- selected,
360
- loading: isLoading,
361
- initialLineItems,
362
- LineItems,
363
- handleCleanLines,
364
- handleLineChange,
365
- handleSelect,
366
- handleFocusChange,
367
- setLine,
368
- handleEdit,
369
- handleRemove,
370
- handleAdd,
371
- handleSubmit
372
- }
373
- }
@@ -1,18 +0,0 @@
1
- import { gql } from '@apollo/client'
2
-
3
- export const DELETE_EXTRA_PRODUCTS = gql`
4
- mutation deleteExtraProduct($id: ID, $state: Int){
5
- deleteExtraProduct(id: $id, state: $state){
6
- success,
7
- message
8
- }
9
- }
10
- `
11
- export const EDIT_EXTRA_PRODUCT_FOODS = gql`
12
- mutation EditExtraProductFoods($exPid: ID, $state: Int, $extraName: String, $extraPrice: Float) {
13
- editExtraProductFoods(exPid: $exPid, state: $state, extraName: $extraName, extraPrice: $extraPrice) {
14
- success
15
- message
16
- }
17
- }
18
- `
@@ -1,53 +0,0 @@
1
- 'use client'
2
- import { useEffect, useRef, useState } from 'react'
3
-
4
- export const useDevWS = () => {
5
- const [status, setStatus] = useState("loading")
6
- const wsRef = useRef<WebSocket | null>(null)
7
-
8
- useEffect(() => {
9
- let reconnectTimer: any
10
-
11
- const connect = async () => {
12
- try {
13
- const r = await fetch('/api/ws-port')
14
- const { port } = await r.json()
15
-
16
- if (!port) {
17
- setStatus("down")
18
- reconnectTimer = setTimeout(connect, 2000)
19
- return
20
- }
21
-
22
- const ws = new WebSocket(`ws://localhost:${port}`)
23
- wsRef.current = ws
24
-
25
- ws.onopen = () => {
26
- setStatus("up")
27
- }
28
-
29
- ws.onerror = () => {
30
- setStatus("down")
31
- ws.close()
32
- }
33
-
34
- ws.onclose = () => {
35
- setStatus("down")
36
- reconnectTimer = setTimeout(connect, 2000)
37
- }
38
- } catch {
39
- setStatus("down")
40
- reconnectTimer = setTimeout(connect, 2000)
41
- }
42
- }
43
-
44
- connect()
45
-
46
- return () => {
47
- wsRef.current?.close()
48
- clearTimeout(reconnectTimer)
49
- }
50
- }, [])
51
-
52
- return status
53
- }
@@ -1,2 +0,0 @@
1
- export * from './useGetDevices'
2
- export * from './useRegisterDevices'
@@ -1,28 +0,0 @@
1
- import { gql } from '@apollo/client'
2
-
3
- /**
4
- * Query to fetch all device users with extended fields
5
- */
6
- export const GET_ALL_DEVICES = gql`
7
- query getDeviceUsers {
8
- getDeviceUsers {
9
- dId
10
- id
11
- deviceId
12
- deviceName
13
- locationFormat
14
- type
15
- shortName
16
- platform
17
- version
18
- family
19
- os
20
- model
21
- ip
22
- isBot
23
- dState
24
- createdAt
25
- updatedAt
26
- }
27
- }
28
- `
@@ -1,28 +0,0 @@
1
- import { useQuery } from '@apollo/client'
2
- import { GET_ALL_DEVICES } from './queries'
3
- import { useFormatDate } from '../useFormatDate'
4
-
5
- export const useDevices = () => {
6
- const { data, loading } = useQuery(GET_ALL_DEVICES, {
7
- onError: (error) => {
8
- console.error(error)
9
- }
10
- })
11
-
12
- // Función para formatear la fecha
13
- const { formatDateInTimeZone } = useFormatDate({})
14
-
15
- const listDevices = Array.isArray(data?.getDeviceUsers)
16
- ? data?.getDeviceUsers.map((device) => {
17
- // const formattedDate = formatDateInTimeZone(device.createdAt)
18
- return {
19
- ...device
20
- // createdAt: formattedDate
21
- }
22
- })
23
- : []
24
- return {
25
- data: listDevices,
26
- loading
27
- }
28
- }
@@ -1,75 +0,0 @@
1
- import { useMutation, gql } from '@apollo/client'
2
-
3
- /**
4
- * GraphQL mutation para registrar un nuevo dispositivo
5
- */
6
- const REGISTER_DEVICE_USER = gql`
7
- mutation RegisterDeviceUser($input: DeviceUserInput!) {
8
- newRegisterDeviceUser(input: $input) {
9
- success
10
- message
11
- data {
12
- dId
13
- id
14
- deviceId
15
- deviceName
16
- locationFormat
17
- type
18
- shortName
19
- platform
20
- version
21
- dState
22
- createdAt
23
- dState
24
- }
25
- errors {
26
- path
27
- message
28
- type
29
- context {
30
- limit
31
- value
32
- label
33
- key
34
- }
35
- }
36
- }
37
- }
38
- `
39
-
40
- /**
41
- * Custom hook para la mutación RegisterDeviceUser
42
- * @returns {Object} - Función para registrar el dispositivo y el estado de la operación
43
- */
44
- export const useRegisterDeviceUser = () => {
45
- const [registerDeviceUser, { loading, error, data }] = useMutation(REGISTER_DEVICE_USER)
46
-
47
- /**
48
- * Función para manejar la mutación
49
- * @param {Object} input - Datos del dispositivo a registrar
50
- * @returns {Promise<Object>} - Resultado de la operación
51
- */
52
- const handleRegisterDeviceUser = async (input) => {
53
- try {
54
- const result = await registerDeviceUser({ variables: { input } })
55
-
56
- if (result.data?.newRegisterDeviceUser?.success) {
57
- return { success: true, data: result.data.newRegisterDeviceUser.data }
58
- } else {
59
- return {
60
- success: false,
61
- errors: result.data?.newRegisterDeviceUser?.errors || []
62
- }
63
- }
64
- } catch (err) {
65
- console.error('Error while registering device user:', err)
66
- return { success: false, errors: [{ message: err.message }] }
67
- }
68
- }
69
-
70
- return [handleRegisterDeviceUser, {
71
- loading,
72
- error,
73
- data
74
- }]
75
- }
@@ -1,21 +0,0 @@
1
- export const downloadFileFromResponse = async (response, fileName) => {
2
- try {
3
- if (!response.ok) {
4
- throw new Error(`Failed to download file: ${response.statusText}`)
5
- }
6
-
7
- const blob = await response.blob()
8
- const url = window.URL.createObjectURL(blob)
9
- const link = document.createElement('a')
10
- link.href = url
11
- link.setAttribute('download', fileName)
12
- document.body.appendChild(link)
13
- link.click()
14
- document.body.removeChild(link)
15
- window.URL.revokeObjectURL(url)
16
- } catch (error) {
17
- console.error('Error downloading file:', error)
18
- throw error
19
- }
20
-
21
- }
@@ -1,2 +0,0 @@
1
- export * from './useDownloadReportByDay'
2
- export * from './useGetReportByDateRange'
@@ -1,103 +0,0 @@
1
- import { useLazyQuery } from '@apollo/client'
2
- import { gql } from '@apollo/client'
3
- import { useState } from 'react'
4
- import { downloadFileFromResponse } from '../helpers/downloadFileFromResponse'
5
-
6
-
7
-
8
- /**
9
- * GraphQL query to get the report for a specific day.
10
- */
11
- const GET_REPORT_DAY_NUMBER = gql`
12
- query getReportDayNumber($day: Int!) {
13
- getReportDayNumber(day: $day) {
14
- success
15
- message
16
- errors {
17
- path
18
- message
19
- type
20
- }
21
- data {
22
- id
23
- name
24
- description
25
- url
26
- createdAt
27
- }
28
- }
29
- }
30
- `
31
-
32
- /**
33
- * Custom hook to trigger the report download when the GraphQL query resolves.
34
- *
35
- * @returns {{
36
- * downloadReport: (day: number) => void,
37
- * loading: boolean,
38
- * error: Error | undefined
39
- * }} Object containing the trigger function, loading state and error.
40
- */
41
- export const useDownloadReportByDay = ({
42
- sendNotification = (
43
- { description = '', title = '', backgroundColor = 'info' } = {}
44
- ) => {
45
- return {
46
- description,
47
- title,
48
- backgroundColor
49
- }
50
- }
51
- } = {}) => {
52
- const [finished, setFinished] = useState(false)
53
- const [fetchReport, { loading, error }] = useLazyQuery(GET_REPORT_DAY_NUMBER, {
54
- fetchPolicy: 'network-only',
55
- onCompleted: async ({ getReportDayNumber }) => {
56
- setFinished(false)
57
- try {
58
- const {
59
- success,
60
- data,
61
- message
62
- } = getReportDayNumber || {}
63
- if (!success || !data) {
64
- setFinished(true)
65
- return sendNotification({
66
- description: message,
67
- title: 'Error al descargar reporte',
68
- backgroundColor: 'error'
69
- })
70
- }
71
- const { url = '', name = '' } = data
72
- const response = await fetch(`/api/files/${encodeURIComponent(url)}`)
73
- await downloadFileFromResponse(response, name)
74
- setFinished(true)
75
- return sendNotification({
76
- description: message ?? 'Reporte descargado exitosamente',
77
- title: 'Reporte descargado',
78
- backgroundColor: 'success'
79
- })
80
- } catch (e) {
81
- setFinished(false)
82
- }
83
- },
84
- onError: () => {
85
- setFinished(true)
86
- }
87
- })
88
-
89
- /**
90
- * Triggers the report download process.
91
- * @param {number} day - The report day number to fetch.
92
- */
93
- const downloadReport = (day: number) => {
94
- setFinished(false)
95
- if (!day || typeof day !== 'number') {
96
- console.warn('Invalid day for report download')
97
- return
98
- }
99
- fetchReport({ variables: { day } })
100
- }
101
-
102
- return [downloadReport, { loading, error, finished }] as const
103
- }