npm-pkg-hook 1.3.9 → 1.4.0

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 (394) hide show
  1. package/.babelrc +2 -10
  2. package/.env +5 -1
  3. package/dist/index.js +17953 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +17711 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/eslint.config.mjs +154 -0
  8. package/expire.json +1 -0
  9. package/index.d.ts +2 -0
  10. package/jest.config.ts +9 -0
  11. package/package.json +45 -36
  12. package/src/config/client/errors.ts +39 -0
  13. package/src/config/content/en.json +5 -0
  14. package/src/config/content/es.json +5 -0
  15. package/src/config/content/index.ts +16 -0
  16. package/src/hooks/addTenMinutes/index.ts +14 -0
  17. package/src/hooks/calculateLogLatHaversine/index.ts +41 -0
  18. package/src/hooks/completeSchedules/index.ts +22 -0
  19. package/src/hooks/convertToMilitaryTime/index.ts +18 -0
  20. package/src/hooks/generateStoreURL/index.ts +41 -0
  21. package/src/hooks/generateTemplate/index.ts +66 -0
  22. package/src/hooks/getCardType/index.ts +24 -0
  23. package/src/hooks/getCategoriesWithProduct/{index.js → index.ts} +7 -7
  24. package/src/hooks/getGlobalSession/index.ts +69 -0
  25. package/src/hooks/getSession/index.ts +72 -0
  26. package/src/hooks/getTodayTimestamps/index.ts +70 -0
  27. package/src/hooks/getTotalHours/index.ts +76 -0
  28. package/src/hooks/handleLogin/index.ts +14 -0
  29. package/src/hooks/index.ts +154 -0
  30. package/src/hooks/isTokenExpired/index.ts +17 -0
  31. package/src/hooks/newMessageSubscription/index.ts +28 -0
  32. package/src/hooks/newStoreOrderSubscription/index.ts +26 -0
  33. package/src/hooks/{useStatusOpenStore/helpers/index.js → statusOpenStores/helpers/index.ts} +24 -1
  34. package/src/hooks/statusOpenStores/index.ts +221 -0
  35. package/src/hooks/updateExtProductFoodsOptional/{index.js → index.ts} +15 -6
  36. package/src/hooks/useAcumulateDate/index.ts +18 -0
  37. package/src/hooks/useAllStoresPendingToRegister/index.ts +37 -0
  38. package/src/hooks/useAmountInput/index.ts +127 -0
  39. package/src/hooks/useAnimationText/{index.jsx → index.ts} +2 -2
  40. package/src/hooks/useAsideCart/index.ts +217 -0
  41. package/src/hooks/useBanner/{index.js → index.ts} +2 -1
  42. package/src/hooks/useCart/{queries.js → queries.ts} +11 -1
  43. package/src/hooks/useCart/useCart/helpers/{index.js → index.ts} +10 -6
  44. package/src/hooks/useCart/useCart/{index.js → index.ts} +58 -44
  45. package/src/hooks/useCart/useGetCart/{index.js → index.ts} +6 -3
  46. package/src/hooks/useCatWithProduct/{index.js → index.ts} +17 -7
  47. package/src/hooks/useCatWithProduct/{queries.js → queries.ts} +50 -23
  48. package/src/hooks/useCatWithProduct/types/index.ts +104 -0
  49. package/src/hooks/useCatWithProductClient/{index.js → index.ts} +19 -18
  50. package/src/hooks/useCatWithProductClient/{queries.js → queries.ts} +1 -0
  51. package/src/hooks/useCategoriesProduct/{index.js → index.ts} +3 -1
  52. package/src/hooks/useCategoriesProduct/{queries.js → queries.ts} +2 -2
  53. package/src/hooks/useCategoryInStore/index.ts +167 -0
  54. package/src/hooks/useCategoryInStore/{queries.js → queries.ts} +2 -2
  55. package/src/hooks/useCategoryStore/{index.js → index.ts} +4 -3
  56. package/src/hooks/useCategoryStore/{queries.js → queries.ts} +2 -2
  57. package/src/hooks/useChartData/{index.js → index.ts} +31 -34
  58. package/src/hooks/useChartData/useChartData/{index.js → index.ts} +31 -30
  59. package/src/hooks/useChartData/useChartDataAllOrders/{index.js → index.ts} +4 -4
  60. package/src/hooks/useChatRoomSubscription/index.ts +28 -0
  61. package/src/hooks/useCheckbox/{index.js → index.ts} +1 -1
  62. package/src/hooks/useCities/index.ts +14 -0
  63. package/src/hooks/useCities/queries.ts +12 -0
  64. package/src/hooks/useClients/{index.js → index.ts} +36 -10
  65. package/src/hooks/useClients/queries.ts +215 -0
  66. package/src/hooks/useColorByLetters/helpers/alea.ts +73 -0
  67. package/src/hooks/useColorByLetters/helpers/colors.ts +45 -0
  68. package/src/hooks/useColorByLetters/helpers/index.ts +24 -0
  69. package/src/hooks/useColorByLetters/helpers/mersenne_twister.ts +118 -0
  70. package/src/hooks/useColorByLetters/index.ts +24 -0
  71. package/src/hooks/useConnection/index.ts +24 -0
  72. package/src/hooks/useCountries/index.ts +20 -0
  73. package/src/hooks/useCountries/queries.ts +12 -0
  74. package/src/hooks/useCreateDeliveryTime/index.ts +51 -0
  75. package/src/hooks/useCreateOrderStatusType/index.ts +134 -0
  76. package/src/hooks/useCreateProduct/helpers/index.ts +23 -0
  77. package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/{index.js → index.ts} +1 -1
  78. package/src/hooks/useCreateProduct/helpers/useEditImageProduct/{index.js → index.ts} +14 -8
  79. package/src/hooks/useCreateProduct/index.ts +337 -0
  80. package/src/hooks/useCreateStorePendingToRegister/index.ts +17 -0
  81. package/src/hooks/useCreateStorePendingToRegister/queries.ts +10 -0
  82. package/src/hooks/useDashboardComponents/index.ts +50 -0
  83. package/src/hooks/useDeleteExtraProductFoods/index.ts +13 -0
  84. package/src/hooks/useDeleteSubProductOptional/{index.js → index.ts} +5 -3
  85. package/src/hooks/useDeliveryTime/index.ts +29 -0
  86. package/src/hooks/useDepartments/index.ts +14 -0
  87. package/src/hooks/useDepartments/queries.ts +13 -0
  88. package/src/hooks/useDessert/{index.js → index.ts} +162 -114
  89. package/src/hooks/useDessertWithPrice/helpers/index.ts +76 -0
  90. package/src/hooks/useDessertWithPrice/index.ts +381 -0
  91. package/src/hooks/useDessertWithPrice/queries.ts +18 -0
  92. package/src/hooks/useDevWS/index.ts +53 -0
  93. package/src/hooks/useDevices/index.ts +2 -0
  94. package/src/hooks/useDevices/queries.ts +28 -0
  95. package/src/hooks/useDevices/useGetDevices.ts +28 -0
  96. package/src/hooks/useDevices/useRegisterDevices.ts +75 -0
  97. package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +21 -0
  98. package/src/hooks/useDownloadReports/index.ts +2 -0
  99. package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +105 -0
  100. package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +116 -0
  101. package/src/hooks/useDrag/{index.js → index.ts} +16 -0
  102. package/src/hooks/useDropzone/{index.js → index.ts} +2 -2
  103. package/src/hooks/useDynamicAuth/{index.js → index.ts} +2 -1
  104. package/src/hooks/useEditCategory/{index.js → index.ts} +14 -14
  105. package/src/hooks/useEditOneExtProductFoodOptional/index.ts +28 -0
  106. package/src/hooks/useEditOneExtProductFoodOptional/{queries.js → queries.ts} +2 -2
  107. package/src/hooks/useEditSubProductOptional/index.ts +12 -0
  108. package/src/hooks/useEmployee/index.ts +18 -0
  109. package/src/hooks/useEmployee/queries.ts +85 -0
  110. package/src/hooks/useEmployee/useCreateEmployee.ts +90 -0
  111. package/src/hooks/useEvent/{index.js → index.ts} +1 -0
  112. package/src/hooks/useFavoriteStores/index.ts +31 -0
  113. package/src/hooks/useFavoriteStores/queries.ts +54 -0
  114. package/src/hooks/useFetchMoreInteractions/index.jsx +26 -26
  115. package/src/hooks/useFilterConfigs/index.ts +173 -0
  116. package/src/hooks/useFingerprintjs/{index.js → index.ts} +32 -7
  117. package/src/hooks/useFormTools/index.ts +143 -0
  118. package/src/hooks/useFormatDate/index.ts +91 -0
  119. package/src/hooks/useFullScreenMode/{index.js → index.ts} +1 -5
  120. package/src/hooks/useGetAllLocationUser/index.ts +13 -0
  121. package/src/hooks/useGetAllLocationUser/queries.ts +44 -0
  122. package/src/hooks/{useSales/useGetAllSales/index.js → useGetAllSales/index.ts} +3 -2
  123. package/src/hooks/useGetCookies/index.ts +43 -0
  124. package/src/hooks/useGetExtProductFoodsSubOptionalAll/{index.js → index.ts} +2 -1
  125. package/src/hooks/useGetFoodRecomended/{index.js → index.ts} +2 -1
  126. package/src/hooks/useGetMessagesToRoom/index.ts +23 -0
  127. package/src/hooks/useGetMinPrice/{index.js → index.ts} +2 -1
  128. package/src/hooks/useGetOneStoreRating/{index.js → index.ts} +2 -1
  129. package/src/hooks/useGetSalesAmountToday/index.ts +31 -0
  130. package/src/hooks/useGetStoreCookie/index.ts +21 -0
  131. package/src/hooks/useGoogleLogin/{index.js → index.ts} +14 -5
  132. package/src/hooks/useHover/{index.js → index.ts} +3 -0
  133. package/src/hooks/useImageOptimization/{index.js → index.ts} +4 -0
  134. package/src/hooks/useImageUploaderProduct/helper/canvasUtils.ts +146 -0
  135. package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +54 -0
  136. package/src/hooks/useImageUploaderProduct/helper/index.ts +5 -0
  137. package/src/hooks/useImageUploaderProduct/index.ts +295 -0
  138. package/src/hooks/useImageWeight/{index.js → index.ts} +4 -0
  139. package/src/hooks/useImagesStore/index.ts +227 -0
  140. package/src/hooks/useImagesStore/{queries.js → queries.ts} +4 -68
  141. package/src/hooks/useImagesStore/utils/index.ts +4 -0
  142. package/src/hooks/useIncomingOrders/index.ts +11 -0
  143. package/src/hooks/useIncomingOrders/queries.ts +87 -0
  144. package/src/hooks/useIntersection/{index.js → index.ts} +1 -1
  145. package/src/hooks/useInventory/index.ts +2 -0
  146. package/src/hooks/useInventory/queries.ts +58 -0
  147. package/src/hooks/useInventory/useGetProductsInStock.ts +16 -0
  148. package/src/hooks/useInventory/useUpdateManageStock.ts +41 -0
  149. package/src/hooks/useLazyScript/{index.js → index.ts} +3 -0
  150. package/src/hooks/useLocalBackendIp/index.ts +34 -0
  151. package/src/hooks/useLocalSorage/{index.js → index.ts} +3 -3
  152. package/src/hooks/useLocationManager/index.ts +63 -0
  153. package/src/hooks/useLoginEmployeeInStore/index.ts +38 -0
  154. package/src/hooks/useLogout/helpers/BroadcastChannel.ts +74 -0
  155. package/src/hooks/useLogout/helpers/apiBaseUrl.ts +12 -0
  156. package/src/hooks/useLogout/helpers/fetchData.ts +37 -0
  157. package/src/hooks/useLogout/helpers/getCsrfToken.ts +37 -0
  158. package/src/hooks/useLogout/helpers/index.ts +65 -0
  159. package/src/hooks/useLogout/helpers/logger.ts +88 -0
  160. package/src/hooks/useLogout/helpers/parseUrl.ts +39 -0
  161. package/src/hooks/useLogout/index.ts +105 -0
  162. package/src/hooks/useManageNewOrder/helpers/index.ts +45 -0
  163. package/src/hooks/useManageNewOrder/index.ts +104 -0
  164. package/src/hooks/useManageQueryParams/index.ts +120 -0
  165. package/src/hooks/useMobile/index.ts +65 -0
  166. package/src/hooks/useModules/helpers/index.ts +1 -0
  167. package/src/hooks/useModules/helpers/validateModules.ts +43 -0
  168. package/src/hooks/useModules/index.ts +124 -0
  169. package/src/hooks/useMouse/index.ts +55 -0
  170. package/src/hooks/useOrderStatusTypes/index.ts +2 -0
  171. package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +133 -0
  172. package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +99 -0
  173. package/src/hooks/useOrders/index.ts +3 -0
  174. package/src/hooks/useOrders/queries.ts +99 -0
  175. package/src/hooks/useOrders/useChangeOrderState/index.ts +128 -0
  176. package/src/hooks/useOrders/{index.js → useOrdersFromStore/index.ts} +20 -18
  177. package/src/hooks/usePWAInstall/index.ts +38 -0
  178. package/src/hooks/usePaymentMethod/index.ts +3 -0
  179. package/src/hooks/usePaymentMethod/paymentMethod.gql.ts +62 -0
  180. package/src/hooks/usePaymentMethod/paymentMethod.types.ts +28 -0
  181. package/src/hooks/usePaymentMethod/useCreatePaymentMethod/index.ts +25 -0
  182. package/src/hooks/usePaymentMethod/useGetAllPaymentMethods/index.ts +19 -0
  183. package/src/hooks/usePaymentMethod/useGetPaymentMethod/index.ts +26 -0
  184. package/src/hooks/usePortFetcher/index.ts +33 -0
  185. package/src/hooks/usePrintSaleTicket/index.ts +68 -0
  186. package/src/hooks/useProductsFood/index.ts +341 -0
  187. package/src/hooks/useProductsFood/{queriesStore.js → queriesStore.ts} +151 -84
  188. package/src/hooks/useProductsFood/types/index.ts +0 -0
  189. package/src/hooks/useProductsFood/useEditProduct.ts +49 -0
  190. package/src/hooks/useProductsFood/usetagsProducts.ts +101 -0
  191. package/src/hooks/useProviders/useProvidersCreateStore/{index.js → index.ts} +2 -1
  192. package/src/hooks/useProviders/useProvidersDataStore/{index.js → index.ts} +2 -1
  193. package/src/hooks/useProvidersStore/{index.js → index.ts} +2 -1
  194. package/src/hooks/usePushNotificationOrder/index.ts +52 -0
  195. package/src/hooks/usePushNotifications/helpers/index.ts +123 -0
  196. package/src/hooks/usePushNotifications/index.ts +150 -0
  197. package/src/hooks/useQueryLocationsMap/index.ts +20 -0
  198. package/src/hooks/useQueryLocationsMap/queries.ts +40 -0
  199. package/src/hooks/useRatingArrayData/{index.js → index.ts} +4 -4
  200. package/src/hooks/useRatingArrayData/{queries.js → queries.ts} +1 -1
  201. package/src/hooks/useReactToPrint/index.ts +4 -0
  202. package/src/hooks/useRemoveExtraProductFoodsOptional/{index.js → index.ts} +2 -1
  203. package/src/hooks/useRemoveExtraProductFoodsOptional/{queries.js → queries.ts} +4 -4
  204. package/src/hooks/useReport/{index.js → index.ts} +5 -5
  205. package/src/hooks/useReport/{queries.js → queries.ts} +4 -55
  206. package/src/hooks/useRestaurant/helpers/index.ts +28 -0
  207. package/src/hooks/useRestaurant/helpers/manageStatusOpen.ts +26 -0
  208. package/src/hooks/useRestaurant/index.ts +71 -0
  209. package/src/hooks/useRestaurant/{queries.js → queries.ts} +2 -1
  210. package/src/hooks/useRoads/index.ts +20 -0
  211. package/src/hooks/useRoads/queries.ts +13 -0
  212. package/src/hooks/useRoles/index.ts +4 -0
  213. package/src/hooks/useRoles/queries.ts +70 -0
  214. package/src/hooks/useRoles/useCreateRole.ts +40 -0
  215. package/src/hooks/useRoles/useGetRoles.ts +37 -0
  216. package/src/hooks/useRoles/useRemoveRoles.ts +40 -0
  217. package/src/hooks/useRoles/useUpdateRolesPriority.ts +44 -0
  218. package/src/hooks/useSales/helpers/add-product.utils.ts +120 -0
  219. package/src/hooks/useSales/helpers/apply-discount-to-cart.utils.ts +292 -0
  220. package/src/hooks/useSales/helpers/comment-product.utils.ts +41 -0
  221. package/src/hooks/useSales/helpers/constants/index.ts +38 -0
  222. package/src/hooks/useSales/helpers/extras.utils.ts +42 -0
  223. package/src/hooks/useSales/helpers/filterProductsByCarProId.utils.ts +17 -0
  224. package/src/hooks/useSales/helpers/increment-product-quantity.utils.ts +76 -0
  225. package/src/hooks/useSales/helpers/index.ts +3 -0
  226. package/src/hooks/useSales/helpers/initializer.utils.ts +22 -0
  227. package/src/hooks/useSales/helpers/isStockInsufficient.ts +3 -0
  228. package/src/hooks/useSales/helpers/remove-product.utils.test.ts +49 -0
  229. package/src/hooks/useSales/helpers/remove-product.utils.ts +34 -0
  230. package/src/hooks/useSales/helpers/resolveProduct.ts +29 -0
  231. package/src/hooks/useSales/helpers/useAddToCart.ts +64 -0
  232. package/src/hooks/useSales/index.ts +1418 -0
  233. package/src/hooks/useSales/{queries.js → queries.ts} +256 -166
  234. package/src/hooks/useSales/types/index.ts +206 -0
  235. package/src/hooks/useSales/types/use-sales.types.ts +8 -0
  236. package/src/hooks/useSales/useGetSale.ts +21 -0
  237. package/src/hooks/useSales/useTotalSales.ts +24 -0
  238. package/src/hooks/useSaveAvailableProduct/helpers/{index.js → index.ts} +4 -4
  239. package/src/hooks/useSaveAvailableProduct/{index.js → index.ts} +7 -1
  240. package/src/hooks/useSaveLocation/index.ts +17 -0
  241. package/src/hooks/useSaveLocation/queries.ts +19 -0
  242. package/src/hooks/useSchedule/{index.jsx → index.ts} +16 -4
  243. package/src/hooks/useSchedule/{index.js → schedule.ts} +22 -15
  244. package/src/hooks/useScheduleData/{index.js → index.ts} +21 -9
  245. package/src/hooks/useSetImageProducts/index.ts +59 -0
  246. package/src/hooks/useSetImageProducts/queries.ts +18 -0
  247. package/src/hooks/useSetSession/{index.js → index.ts} +16 -17
  248. package/src/hooks/useSetupSchedule/helpers/index.ts +85 -0
  249. package/src/hooks/useSetupSchedule/index.ts +284 -0
  250. package/src/hooks/useStatusOpenStore/helpers/index.ts +124 -0
  251. package/src/hooks/useStatusOpenStore/{index.js → index.ts} +39 -16
  252. package/src/hooks/useStatusOrdersClient/{index.js → index.ts} +3 -2
  253. package/src/hooks/useStatusOrdersClient/{queries.js → queries.ts} +2 -2
  254. package/src/hooks/useStock/index.ts +1 -0
  255. package/src/hooks/useStock/useStockUpdatedAllSubscription.ts +40 -0
  256. package/src/hooks/useStockMovements/helpers/index.ts +16 -0
  257. package/src/hooks/useStockMovements/index.ts +39 -0
  258. package/src/hooks/useStore/index.ts +83 -0
  259. package/src/hooks/useStore/{queries.js → queries.ts} +71 -71
  260. package/src/hooks/useStoreContacts/{index.js → index.ts} +11 -5
  261. package/src/hooks/useStoreTable/index.ts +2 -0
  262. package/src/hooks/useStoreTable/queries.ts +47 -0
  263. package/src/hooks/useStoreTable/useStoreTableCreate.ts +77 -0
  264. package/src/hooks/useStoreTable/useStoreTables.ts +15 -0
  265. package/src/hooks/useSubscriptionValidation/index.ts +112 -0
  266. package/src/hooks/useTagProducts/index.ts +3 -0
  267. package/src/hooks/useTagProducts/useDeleteOneTag.ts +106 -0
  268. package/src/hooks/useTagProducts/useGetAllTags.ts +68 -0
  269. package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +157 -0
  270. package/src/hooks/useTheme/index.ts +65 -0
  271. package/src/hooks/useTimeAgo/{useTimeAgo.js → useTimeAgo.ts} +7 -7
  272. package/src/hooks/useTokenCards/index.ts +45 -0
  273. package/src/hooks/useTopProductsMovements/index.ts +27 -0
  274. package/src/hooks/useTotalAllSales/index.ts +25 -0
  275. package/src/hooks/useTotalProductsInStock/index.ts +23 -0
  276. package/src/hooks/useTotalProductsSold/index.ts +23 -0
  277. package/src/hooks/useTotalProductsSolded/index.ts +20 -0
  278. package/src/hooks/useUpdateCart/{index.js → index.ts} +3 -2
  279. package/src/hooks/useUpdateCartCookie/index.ts +60 -0
  280. package/src/hooks/useUpdateDashboardComponent/index.ts +91 -0
  281. package/src/hooks/useUpdateExistingOrders/{index.js → index.ts} +5 -11
  282. package/src/hooks/useUpdateExtProductFoodsSubOptional/index.ts +61 -0
  283. package/src/hooks/useUpdateModuleOrder/index.ts +37 -0
  284. package/src/hooks/useUpdateMultipleExtProduct/index.ts +34 -0
  285. package/src/hooks/useUpdateMultipleExtProduct/queries.ts +33 -0
  286. package/src/hooks/useUpdateMultipleProducts/index.ts +117 -0
  287. package/src/hooks/useUpdateMultipleProducts/queries.ts +51 -0
  288. package/src/hooks/useUploadProducts/helpers/index.ts +1 -0
  289. package/src/hooks/useUploadProducts/helpers/parseNumber.ts +37 -0
  290. package/src/hooks/useUploadProducts/helpers/validateProductDataExcel.ts +73 -0
  291. package/src/hooks/useUploadProducts/index.ts +442 -0
  292. package/src/hooks/useUpsertGoal/index.ts +68 -0
  293. package/src/hooks/useUser/{index.js → index.ts} +11 -4
  294. package/src/hooks/useUser/{queries.js → queries.ts} +9 -4
  295. package/src/hooks/useWeeklyStockMovement/helpers/index.ts +32 -0
  296. package/src/hooks/useWeeklyStockMovement/index.ts +52 -0
  297. package/src/hooks/useWindowSize/{index.js → index.ts} +9 -2
  298. package/src/index.ts +12 -0
  299. package/src/security/index.ts +1 -0
  300. package/src/services/index.ts +1 -0
  301. package/src/utils/UtilDateRange.ts +56 -0
  302. package/src/utils/generateCode.ts +222 -0
  303. package/src/utils/index.ts +2 -0
  304. package/src/utils/utils.ts +344 -0
  305. package/tsconfig.eslint.json +17 -0
  306. package/tsconfig.json +21 -0
  307. package/tsup.config.ts +24 -0
  308. package/.eslintrc.js +0 -38
  309. package/.eslintrc.json +0 -127
  310. package/next.config.js +0 -126
  311. package/src/config/client/errors.js +0 -26
  312. package/src/hooks/getGlobalSession/index.js +0 -49
  313. package/src/hooks/getSession/index.js +0 -18
  314. package/src/hooks/handleLogin/index.js +0 -10
  315. package/src/hooks/index.js +0 -77
  316. package/src/hooks/useAcumulateDate/index.js +0 -16
  317. package/src/hooks/useAsideCart/index.js +0 -155
  318. package/src/hooks/useCategoryInStore/index.js +0 -98
  319. package/src/hooks/useClients/queries.js +0 -127
  320. package/src/hooks/useConnection/index.js +0 -22
  321. package/src/hooks/useCreateProduct/index.js +0 -291
  322. package/src/hooks/useDevices/index.js +0 -35
  323. package/src/hooks/useDevices/queries.js +0 -19
  324. package/src/hooks/useEditOneExtProductFoodOptional/index.js +0 -28
  325. package/src/hooks/useEditSubProductOptional/index.js +0 -11
  326. package/src/hooks/useEmployee/index.js +0 -13
  327. package/src/hooks/useEmployee/queries.js +0 -17
  328. package/src/hooks/useFavoriteStores/index.js +0 -19
  329. package/src/hooks/useFavoriteStores/queries.js +0 -47
  330. package/src/hooks/useFormTools/index.js +0 -100
  331. package/src/hooks/useFormatDate/index.js +0 -33
  332. package/src/hooks/useGetStoreCookie/index.js +0 -22
  333. package/src/hooks/useImagesStore/index.js +0 -183
  334. package/src/hooks/useLogout/helpers/BroadcastChannel.js +0 -32
  335. package/src/hooks/useLogout/helpers/apiBaseUrl.js +0 -8
  336. package/src/hooks/useLogout/helpers/fetchData.js +0 -29
  337. package/src/hooks/useLogout/helpers/getCsrfToken.js +0 -30
  338. package/src/hooks/useLogout/helpers/index.js +0 -54
  339. package/src/hooks/useLogout/helpers/logger.js +0 -72
  340. package/src/hooks/useLogout/helpers/parseUrl.js +0 -36
  341. package/src/hooks/useLogout/index.js +0 -46
  342. package/src/hooks/useManageQueryParams/index.js +0 -37
  343. package/src/hooks/useMobile/index.js +0 -39
  344. package/src/hooks/useOrders/queries.js +0 -328
  345. package/src/hooks/useProductsFood/index.js +0 -234
  346. package/src/hooks/useProductsFood/useEditProduct.js +0 -8
  347. package/src/hooks/useProductsFood/usetagsProducts.js +0 -94
  348. package/src/hooks/useRestaurant/index.js +0 -19
  349. package/src/hooks/useSales/helpers/index.js +0 -8
  350. package/src/hooks/useSales/index.js +0 -1102
  351. package/src/hooks/useSales/useGetSale.js +0 -13
  352. package/src/hooks/useSales/useTotalSales.js +0 -24
  353. package/src/hooks/useStore/index.js +0 -70
  354. package/src/hooks/useUpdateExtProductFoodsSubOptional/index.js +0 -38
  355. package/src/index.jsx +0 -4
  356. package/src/utils/index.js +0 -141
  357. /package/src/config/client/{index.js → index.ts} +0 -0
  358. /package/src/hooks/getCategoriesWithProduct/helpers/{index.js → index.ts} +0 -0
  359. /package/src/hooks/useAnimationFrame/{index.js → index.ts} +0 -0
  360. /package/src/hooks/useAsideCart/helpers/{index.js → index.ts} +0 -0
  361. /package/src/hooks/useAsideCart/{queries.js → queries.ts} +0 -0
  362. /package/src/hooks/useCart/{index.js → index.ts} +0 -0
  363. /package/src/hooks/useDeleteSubProductOptional/{queries.js → queries.ts} +0 -0
  364. /package/src/hooks/useDessert/helpers/{index.js → index.ts} +0 -0
  365. /package/src/hooks/useDynamicAuth/{queries.js → queries.ts} +0 -0
  366. /package/src/hooks/useEditSubProductOptional/{queries.js → queries.ts} +0 -0
  367. /package/src/hooks/useFetchJson/{index.js → index.ts} +0 -0
  368. /package/src/hooks/useFormatNumberPhone/{index.js → index.ts} +0 -0
  369. /package/src/hooks/useGenerateNumberArray/{index.js → index.ts} +0 -0
  370. /package/src/hooks/useGetFoodRecomended/{queries.js → queries.ts} +0 -0
  371. /package/src/hooks/useGetMinPrice/{queries.js → queries.ts} +0 -0
  372. /package/src/hooks/useGetOneStoreRating/{queries.js → queries.ts} +0 -0
  373. /package/src/hooks/useGoogleLogin/{loadScript.js → loadScript.ts} +0 -0
  374. /package/src/hooks/useGoogleLogin/{removeScript.js → removeScript.ts} +0 -0
  375. /package/src/hooks/useInnerHtml/{index.js → index.ts} +0 -0
  376. /package/src/hooks/useKeypress/{index.js → index.ts} +0 -0
  377. /package/src/hooks/useLocationNavigate/{index.js → index.ts} +0 -0
  378. /package/src/{security/index.js → hooks/useManageNewOrder/helpers/mock.ts} +0 -0
  379. /package/src/hooks/useMutateHeight/{index.js → index.ts} +0 -0
  380. /package/src/hooks/useOrderClient/{index.js → index.ts} +0 -0
  381. /package/src/hooks/useProviders/{index.js → index.ts} +0 -0
  382. /package/src/hooks/useProviders/{queries.js → queries.ts} +0 -0
  383. /package/src/hooks/useProvidersStore/{queries.js → queries.ts} +0 -0
  384. /package/src/hooks/useReactToPrint/{index.js → index.txt} +0 -0
  385. /package/src/hooks/useSaveAvailableProduct/{queries.js → queries.ts} +0 -0
  386. /package/src/hooks/useSchedule/{queries.js → queries.ts} +0 -0
  387. /package/src/hooks/useScroll/{index.js → index.ts} +0 -0
  388. /package/src/hooks/useScrollRotate/{index.js → index.ts} +0 -0
  389. /package/src/hooks/useSetState/{index.js → index.ts} +0 -0
  390. /package/src/hooks/useStatusOrdersClient/helpers/{index.js → index.ts} +0 -0
  391. /package/src/hooks/useStoreCalendar/{index.js → index.ts} +0 -0
  392. /package/src/hooks/useStoreContacts/{queries.js → queries.ts} +0 -0
  393. /package/src/mock/dessert/{index.js → index.ts} +0 -0
  394. /package/src/mock/{index.js → index.ts} +0 -0
@@ -0,0 +1,68 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ /**
4
+ * GraphQL query to fetch all tags
5
+ */
6
+ export const GET_ALL_TAGS = gql`
7
+ query getAllTags {
8
+ getAllTags {
9
+ success
10
+ message
11
+ pagination {
12
+ totalRecords
13
+ totalPages
14
+ currentPage
15
+ }
16
+ data {
17
+ tgId
18
+ idUser
19
+ idStore
20
+ pId
21
+ nameTag
22
+ aName
23
+ }
24
+ errors {
25
+ path
26
+ message
27
+ type
28
+ context {
29
+ limit
30
+ value
31
+ label
32
+ key
33
+ }
34
+ }
35
+ }
36
+ }
37
+ `
38
+
39
+ /**
40
+ * Custom hook to fetch all tags
41
+ *
42
+ * @returns {{
43
+ * tags: any[],
44
+ * loading: boolean,
45
+ * error: Error | null,
46
+ * message: string,
47
+ * success: boolean,
48
+ * pagination: { totalRecords: number, totalPages: number, currentPage: number } | null,
49
+ * errors: any[] | null
50
+ * }}
51
+ */
52
+ export const useGetAllTags = () => {
53
+ const { data, loading, error } = useQuery(GET_ALL_TAGS, {
54
+ fetchPolicy: 'network-only'
55
+ })
56
+
57
+ const result = data?.getAllTags ?? {}
58
+
59
+ return {
60
+ tags: result?.data || [],
61
+ loading,
62
+ error,
63
+ message: result?.message ?? '',
64
+ success: result?.success ?? false,
65
+ pagination: result?.pagination ?? null,
66
+ errors: result?.errors ?? null
67
+ }
68
+ }
@@ -0,0 +1,157 @@
1
+ import { useMutation, gql, useApolloClient } from '@apollo/client'
2
+
3
+ import { GET_ALL_TAGS } from './useGetAllTags'
4
+
5
+ /**
6
+ * GraphQL mutation to register multiple tags.
7
+ */
8
+ const REGISTER_MULTIPLE_TAGS = gql`
9
+ mutation registerMultipleTags($input: [String!]!) {
10
+ registerMultipleTags(input: $input) {
11
+ success
12
+ message
13
+ errors {
14
+ path
15
+ message
16
+ }
17
+ data {
18
+ tgId
19
+ nameTag
20
+ idStore
21
+ idUser
22
+ }
23
+ }
24
+ }
25
+ `
26
+
27
+ /**
28
+ * Response structure for tag registration errors.
29
+ */
30
+ interface ITagError {
31
+ path: string
32
+ message: string
33
+ }
34
+
35
+ /**
36
+ * Structure for a registered tag.
37
+ */
38
+ interface ITag {
39
+ tgId: string
40
+ nameTag: string
41
+ idStore: string
42
+ idUser: string
43
+ }
44
+
45
+ /**
46
+ * General GraphQL response for registering tags.
47
+ */
48
+ interface IResponseTag {
49
+ success: boolean
50
+ message: string
51
+ errors: ITagError[]
52
+ data: ITag[]
53
+ }
54
+
55
+ /**
56
+ * Options for the useRegisterMultipleTags hook.
57
+ */
58
+ interface UseRegisterMultipleTagsOptions {
59
+ callback?: (response: IResponseTag) => void
60
+ }
61
+
62
+ /**
63
+ * Return type for the useRegisterMultipleTags hook.
64
+ */
65
+ type UseRegisterMultipleTagsReturn = [
66
+ (tags: string[]) => Promise<IResponseTag>,
67
+ {
68
+ loading: boolean
69
+ error: any
70
+ data: IResponseTag | null
71
+ }
72
+ ]
73
+
74
+ /**
75
+ * Hook to register multiple tags via GraphQL mutation.
76
+ *
77
+ * @param {UseRegisterMultipleTagsOptions} [options] - Optional callback for post-mutation handling.
78
+ * @returns {UseRegisterMultipleTagsReturn} - Mutation handler and state.
79
+ */
80
+ export const useRegisterMultipleTags = (
81
+ { callback = () => { } }: UseRegisterMultipleTagsOptions = {}
82
+ ): UseRegisterMultipleTagsReturn => {
83
+ const client = useApolloClient()
84
+ const [registerMultipleTags, { loading, error, data }] = useMutation<
85
+ { registerMultipleTags: IResponseTag },
86
+ { input: string[] }
87
+ >(REGISTER_MULTIPLE_TAGS, {
88
+ onCompleted: (data) => {
89
+ if (typeof callback === 'function') {
90
+ callback(data.registerMultipleTags)
91
+ }
92
+ }
93
+ })
94
+
95
+ /**
96
+ * Register multiple tags with the provided names.
97
+ *
98
+ * @param {string[]} tags - Array of tag names.
99
+ * @returns {Promise<IResponseTag>} - Mutation response.
100
+ */
101
+ const handleRegisterTags = async (tags: string[]): Promise<IResponseTag> => {
102
+ if (!Array.isArray(tags) || tags.length === 0 || tags.some(tag => {return typeof tag !== 'string'})) {
103
+ throw new Error('Tag list must be a non-empty array of strings.')
104
+ }
105
+
106
+ const response = await registerMultipleTags({
107
+ variables: {
108
+ input: tags
109
+ },
110
+ update: (cache, { data }) => {
111
+ if (!data?.registerMultipleTags?.data?.length) return
112
+
113
+ const newTags = data.registerMultipleTags.data
114
+
115
+ try {
116
+ const existing = client.readQuery({ query: GET_ALL_TAGS })
117
+
118
+ const updatedTags = [
119
+ ...newTags,
120
+ ...(existing?.getAllTags?.data || [])
121
+ ]
122
+
123
+ cache.writeQuery({
124
+ query: GET_ALL_TAGS,
125
+ data: {
126
+ getAllTags: {
127
+ ...existing.getAllTags,
128
+ data: updatedTags,
129
+ pagination: {
130
+ ...existing.getAllTags.pagination,
131
+ totalRecords: updatedTags.length
132
+ }
133
+ }
134
+ }
135
+ })
136
+ } catch (error) {
137
+ console.warn('Failed to update cache for GET_ALL_TAGS:', error)
138
+ }
139
+ }
140
+ })
141
+ return response.data?.registerMultipleTags ?? {
142
+ success: false,
143
+ message: 'No response from server',
144
+ errors: [],
145
+ data: []
146
+ }
147
+ }
148
+
149
+ return [
150
+ handleRegisterTags,
151
+ {
152
+ loading,
153
+ error,
154
+ data: data?.registerMultipleTags ?? null
155
+ }
156
+ ]
157
+ }
@@ -0,0 +1,65 @@
1
+ import { useState } from 'react'
2
+
3
+ import { Cookies } from '../../cookies'
4
+
5
+ enum Theme {
6
+ LIGHT = 'light',
7
+ DARK = 'dark',
8
+ }
9
+
10
+ /**
11
+ * Handles light/dark theme switching using data-theme attribute.
12
+ * Cookie is used only for persistence, not as source of truth.
13
+ */
14
+ export const useTheme = () => {
15
+
16
+ // STATES
17
+ const [theme, setTheme] = useState<Theme>(Theme.LIGHT)
18
+ /**
19
+ * Applies theme to DOM and persists it.
20
+ * @param theme
21
+ */
22
+ const applyTheme = (theme: Theme): void => {
23
+ document.documentElement.setAttribute('data-theme', theme)
24
+ Cookies.set('theme', theme, { expires: 365 })
25
+ setTheme(theme)
26
+ }
27
+
28
+ /**
29
+ * Toggles between light and dark themes.
30
+ */
31
+ const toggleTheme = (): void => {
32
+ if (typeof document === 'undefined') return
33
+
34
+ const current =
35
+ (document.documentElement.getAttribute('data-theme') as Theme) ??
36
+ Theme.LIGHT
37
+
38
+ applyTheme(current === Theme.DARK ? Theme.LIGHT : Theme.DARK)
39
+ setTheme(current === Theme.DARK ? Theme.LIGHT : Theme.DARK)
40
+ }
41
+
42
+ /**
43
+ * Initializes theme from cookie or system preference.
44
+ */
45
+ const initTheme = (): void => {
46
+ if (typeof document === 'undefined') return
47
+
48
+ const cookieTheme = Cookies.get('theme') as Theme | undefined
49
+
50
+ const systemTheme =
51
+ window.matchMedia?.('(prefers-color-scheme: dark)').matches
52
+ ? Theme.DARK
53
+ : Theme.LIGHT
54
+
55
+ applyTheme(cookieTheme ?? systemTheme)
56
+ setTheme(cookieTheme ?? systemTheme)
57
+ }
58
+
59
+ return {
60
+ setTheme: applyTheme,
61
+ toggleTheme,
62
+ initTheme,
63
+ theme
64
+ }
65
+ }
@@ -1,13 +1,15 @@
1
1
  import { useEffect, useState } from 'react'
2
2
 
3
- const DATE_UNITS = [
3
+ const DATE_UNITS: [unit: Intl.RelativeTimeFormatUnit, secondsInUnit: number][] = [
4
4
  ['day', 86400],
5
5
  ['hour', 3600],
6
6
  ['minute', 60],
7
7
  ['second', 1]
8
8
  ]
9
9
 
10
- const getDateDiffs = (timestamp) => {
10
+ type DateDiff = { value: number; unit: Intl.RelativeTimeFormatUnit }
11
+
12
+ const getDateDiffs = (timestamp: number): DateDiff | undefined => {
11
13
  const now = Date.now()
12
14
  const elapsed = (timestamp - now) / 1000
13
15
 
@@ -19,8 +21,8 @@ const getDateDiffs = (timestamp) => {
19
21
  }
20
22
  }
21
23
 
22
- export const useTimeAgo = (timestamp) => {
23
- const [timeAgo, setTimeAgo] = useState(() => { return getDateDiffs(timestamp) })
24
+ export const useTimeAgo = (timestamp: number) => {
25
+ const [timeAgo, setTimeAgo] = useState<DateDiff | undefined>(() => getDateDiffs(timestamp))
24
26
 
25
27
  useEffect(() => {
26
28
  const interval = setInterval(() => {
@@ -33,7 +35,5 @@ export const useTimeAgo = (timestamp) => {
33
35
 
34
36
  const rtf = new Intl.RelativeTimeFormat('es', { style: 'short' })
35
37
 
36
- const { value, unit } = timeAgo
37
-
38
- return rtf && rtf?.format(value, unit)
38
+ return rtf?.format(timeAgo?.value ?? 0, (timeAgo?.unit ?? 'second'))
39
39
  }
@@ -0,0 +1,45 @@
1
+ import { useState } from 'react'
2
+
3
+ export const useTokenCards = () => {
4
+ const [loading, setLoading] = useState(false)
5
+ const [error, setError] = useState<string | null>(null)
6
+ const [responseData, setResponseData] = useState(null)
7
+
8
+ const handleTokenCardsSubmit = async (postData: any) => {
9
+ setLoading(true)
10
+ setError(null)
11
+ try {
12
+ const headers = {
13
+ 'Content-Type': 'application/json'
14
+ }
15
+ const url = 'http://localhost:3000/api/v1/wompi/transaction/tokens/cards'
16
+
17
+ const response = await fetch(url, {
18
+ method: 'POST',
19
+ headers,
20
+ body: JSON.stringify(postData)
21
+ })
22
+
23
+ const responseData = await response.json()
24
+
25
+ if (!response.ok) {
26
+ throw new Error(responseData.message || 'Something went wrong')
27
+ }
28
+ setResponseData(responseData)
29
+ return responseData
30
+ } catch (error) {
31
+ if (error instanceof Error) {
32
+ setError(String(error.message))
33
+ } else {
34
+ setError(String(error))
35
+ }
36
+ return {
37
+
38
+ }
39
+ } finally {
40
+ setLoading(false)
41
+ }
42
+ }
43
+
44
+ return { loading, error, responseData, handleTokenCardsSubmit }
45
+ }
@@ -0,0 +1,27 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ /**
4
+ * GraphQL query to fetch top-selling products movements
5
+ */
6
+ const GET_TOP_PRODUCTS_MOVEMENTS = gql`
7
+ query {
8
+ getTopProductsMovements {
9
+ productName
10
+ idProduct
11
+ totalMovements
12
+ }
13
+ }
14
+ `
15
+
16
+ /**
17
+ * Custom hook to fetch and return the top-selling products movements
18
+ * @returns {Object} - { data, loading, error }
19
+ */
20
+ export const useTopProductsMovements = () => {
21
+ const { data, loading, error } = useQuery(GET_TOP_PRODUCTS_MOVEMENTS)
22
+
23
+ return [data?.getTopProductsMovements, {
24
+ loading,
25
+ error
26
+ }]
27
+ }
@@ -0,0 +1,25 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ const GET_TOTAL_SALES = gql`
4
+ query totalSales {
5
+ totalSales {
6
+ success
7
+ message
8
+ totalSales
9
+ }
10
+ }
11
+ `
12
+
13
+ /**
14
+ * Custom hook to fetch total sales from GraphQL API.
15
+ * @returns {Object} An object containing total sales, loading state, error, and refetch function.
16
+ */
17
+ export const useTotalAllSales = () => {
18
+ const { data, loading, error, refetch } = useQuery(GET_TOTAL_SALES)
19
+
20
+ return [data?.totalSales?.totalSales, {
21
+ loading,
22
+ error,
23
+ refetch
24
+ }]
25
+ }
@@ -0,0 +1,23 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ /**
4
+ * GraphQL query to fetch total products in stock.
5
+ */
6
+ const GET_TOTAL_PRODUCTS_IN_STOCK = gql`
7
+ query getTotalProductsInStock {
8
+ getTotalProductsInStock
9
+ }
10
+ `
11
+
12
+ /**
13
+ * Custom hook to fetch total products in stock.
14
+ * @returns {Object} - { totalProductsInStock, loading, error }
15
+ */
16
+ export const useTotalProductsInStock = () => {
17
+ const { data, loading, error } = useQuery(GET_TOTAL_PRODUCTS_IN_STOCK)
18
+
19
+ return [data?.getTotalProductsInStock ?? 0, {
20
+ loading,
21
+ error
22
+ }]
23
+ }
@@ -0,0 +1,23 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ /**
4
+ * GraphQL query to fetch total products sold.
5
+ */
6
+ const GET_TOTAL_PRODUCTS_SOLD = gql`
7
+ query getTotalSalesSold {
8
+ getTotalSalesSold
9
+ }
10
+ `
11
+
12
+ /**
13
+ * Custom hook to fetch total products sold.
14
+ * @returns {Object} - { totalProductsSold, loading, error }
15
+ */
16
+ export const useTotalProductsSold = () => {
17
+ const { data, loading, error } = useQuery(GET_TOTAL_PRODUCTS_SOLD)
18
+
19
+ return [data?.getTotalSalesSold || 0, {
20
+ loading,
21
+ error
22
+ }]
23
+ }
@@ -0,0 +1,20 @@
1
+ import { useQuery, gql } from '@apollo/client'
2
+
3
+ const GET_TOTAL_PRODUCTS_SOLD = gql`
4
+ query {
5
+ getTotalProductsSold
6
+ }
7
+ `
8
+
9
+ /**
10
+ * Custom hook to fetch the total number of products sold.
11
+ * @returns {{ totalSold: number, loading: boolean, error: any }}
12
+ */
13
+ export const useTotalProductsSolded = () => {
14
+ const { data, loading, error } = useQuery(GET_TOTAL_PRODUCTS_SOLD)
15
+
16
+ return [data?.getTotalProductsSold, {
17
+ loading,
18
+ error
19
+ }]
20
+ }
@@ -1,8 +1,9 @@
1
1
  import debounce from 'lodash'
2
- import { useState, useEffect } from 'react'
2
+ import { useState, useEffect } from 'react'
3
+
4
+ import { Cookies } from '../../cookies'
3
5
  import { getCurrentDomain } from '../../utils'
4
6
  import { trigger } from '../useEvent'
5
- import { Cookies } from '../../cookies'
6
7
 
7
8
  // EXAMPLE
8
9
  // https://codesandbox.io/s/nextjs-cart-system-tfg1e?file=/pages/_app.js
@@ -0,0 +1,60 @@
1
+ import { useEffect, useReducer } from 'react'
2
+
3
+ import { Cookies } from '../../cookies'
4
+ import { getCurrentDomain } from '../../utils'
5
+
6
+ type Product = {
7
+ pId: string;
8
+ ProQuantity: number;
9
+ [key: string]: any;
10
+ };
11
+
12
+ type State = {
13
+ PRODUCT: Product[];
14
+ counter: number;
15
+ };
16
+
17
+ type Action =
18
+ | { type: 'REMOVE_PRODUCT_TO_CART'; payload: Product }
19
+ | { type: 'ADD_PRODUCT_TO_CART'; payload: Product }
20
+ | { type: 'UPDATE_PRODUCT_IN_CART'; payload: Product }
21
+ | { type: string; payload?: any };
22
+
23
+ export const useUpdateCartCookie = () => {
24
+ const keyToSaveData = process.env.NEXT_LOCAL_SALES_STORE
25
+ const domain = getCurrentDomain()
26
+
27
+ const PRODUCT = (state: State, action: Action): State => {
28
+ switch (action.type) {
29
+ case 'REMOVE_PRODUCT_TO_CART':
30
+ return {
31
+ ...state,
32
+ PRODUCT: state?.PRODUCT?.filter((t: Product) => {
33
+ return t.pId !== action?.payload.pId
34
+ }),
35
+ counter: state.counter - action.payload.ProQuantity
36
+ }
37
+ case 'ADD_PRODUCT_TO_CART':
38
+ // Add code for 'ADD_PRODUCT_TO_CART' case
39
+ return state
40
+ case 'UPDATE_PRODUCT_IN_CART':
41
+ // Add code for 'UPDATE_PRODUCT_IN_CART' case
42
+ return state
43
+ default:
44
+ return state
45
+ }
46
+ }
47
+ const [data, dispatch] = useReducer(PRODUCT, { PRODUCT: [], counter: 0 })
48
+
49
+ const handleRemoveProductToCookieCart = (product: Product) => {
50
+ dispatch({ type: 'REMOVE_PRODUCT_TO_CART', payload: product })
51
+ }
52
+ useEffect(() => {
53
+ // @ts-ignore
54
+ Cookies.set(keyToSaveData, JSON.stringify(data), { domain, path: '/' })
55
+ }, [data, domain])
56
+
57
+ return {
58
+ handleRemoveProductToCookieCart
59
+ }
60
+ }
@@ -0,0 +1,91 @@
1
+ import { gql, useMutation } from '@apollo/client'
2
+
3
+ /**
4
+ * GraphQL mutation for updating a dashboard component.
5
+ */
6
+ const UPDATE_DASHBOARD_COMPONENT = gql`
7
+ mutation UpdateDashboardComponent($input: [DashboardComponentUpdateInput]) {
8
+ updateDashboardComponent(input: $input) {
9
+ success
10
+ message
11
+ data {
12
+ id
13
+ idStore
14
+ idUser
15
+ coordinates
16
+ createAt
17
+ updateAt
18
+ title
19
+ }
20
+ errors {
21
+ path
22
+ message
23
+ type
24
+ }
25
+ }
26
+ }
27
+ `
28
+
29
+ /**
30
+ * Types for the mutation response and input.
31
+ */
32
+ interface DashboardComponent {
33
+ id: string;
34
+ idStore: string;
35
+ idUser: string;
36
+ coordinates: any;
37
+ createAt: string;
38
+ updateAt: string;
39
+ title: string;
40
+ }
41
+
42
+ interface ErrorResponse {
43
+ message: string;
44
+ field?: string;
45
+ }
46
+
47
+ interface UpdateDashboardComponentResponse {
48
+ updateDashboardComponent: {
49
+ success: boolean;
50
+ message?: string;
51
+ data?: DashboardComponent;
52
+ errors?: ErrorResponse[];
53
+ };
54
+ }
55
+
56
+ interface UpdateDashboardComponentInput {
57
+ id: string;
58
+ coordinates?: any;
59
+ title?: string;
60
+ }
61
+
62
+ /**
63
+ * Custom hook to update a dashboard component.
64
+ */
65
+ export const useUpdateDashboardComponent = () => {
66
+ const [mutate, { loading, error, data }] = useMutation<
67
+ UpdateDashboardComponentResponse,
68
+ { input: UpdateDashboardComponentInput[] }
69
+ >(UPDATE_DASHBOARD_COMPONENT)
70
+
71
+ /**
72
+ * Calls the mutation with the provided input.
73
+ * @param input DashboardComponentUpdateInput
74
+ */
75
+ const updateComponent = async (input: UpdateDashboardComponentInput[]) => {
76
+ try {
77
+ const response = await mutate({ variables: { input } })
78
+ return response.data?.updateDashboardComponent
79
+ } catch (err) {
80
+ console.error('UpdateDashboardComponent Error:', err)
81
+ throw err
82
+ }
83
+ }
84
+
85
+ return {
86
+ updateComponent,
87
+ loading,
88
+ error,
89
+ data: data?.updateDashboardComponent
90
+ }
91
+ }