npm-pkg-hook 1.13.1 → 1.13.2

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 (347) hide show
  1. package/.babelrc +0 -0
  2. package/.github/pull_request_template.md +18 -0
  3. package/.github/workflows/pepeline.yaml +30 -0
  4. package/dist/index.js +1 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +1 -6
  7. package/dist/index.mjs.map +1 -1
  8. package/eslint.config.mts +153 -0
  9. package/expire.json +1 -0
  10. package/jsconfig.json +28 -0
  11. package/package.json +1 -6
  12. package/script.txt +7 -0
  13. package/src/config/client/errors.ts +39 -0
  14. package/src/config/client/index.ts +1 -0
  15. package/src/config/content/en.json +5 -0
  16. package/src/config/content/es.json +5 -0
  17. package/src/config/content/index.ts +16 -0
  18. package/src/cookies/index.ts +3 -0
  19. package/src/hooks/addTenMinutes/index.ts +14 -0
  20. package/src/hooks/calculateLogLatHaversine/index.ts +41 -0
  21. package/src/hooks/completeSchedules/index.ts +22 -0
  22. package/src/hooks/convertToMilitaryTime/index.ts +18 -0
  23. package/src/hooks/generateStoreURL/index.ts +41 -0
  24. package/src/hooks/generateTemplate/index.ts +66 -0
  25. package/src/hooks/getCardType/index.ts +24 -0
  26. package/src/hooks/getCategoriesWithProduct/helpers/index.ts +7 -0
  27. package/src/hooks/getCategoriesWithProduct/index.ts +62 -0
  28. package/src/hooks/getGlobalSession/index.ts +69 -0
  29. package/src/hooks/getSession/index.ts +72 -0
  30. package/src/hooks/getTodayTimestamps/index.ts +70 -0
  31. package/src/hooks/getTotalHours/index.ts +76 -0
  32. package/src/hooks/handleLogin/index.ts +14 -0
  33. package/src/hooks/index.ts +154 -0
  34. package/src/hooks/isTokenExpired/index.ts +17 -0
  35. package/src/hooks/newMessageSubscription/index.ts +28 -0
  36. package/src/hooks/newStoreOrderSubscription/index.ts +26 -0
  37. package/src/hooks/statusOpenStores/helpers/index.ts +124 -0
  38. package/src/hooks/statusOpenStores/index.ts +221 -0
  39. package/src/hooks/updateExtProductFoodsOptional/index.ts +49 -0
  40. package/src/hooks/useAcumulateDate/index.ts +18 -0
  41. package/src/hooks/useAllStoresPendingToRegister/index.ts +37 -0
  42. package/src/hooks/useAmountInput/index.ts +127 -0
  43. package/src/hooks/useAnimationFrame/index.ts +45 -0
  44. package/src/hooks/useAnimationText/index.ts +31 -0
  45. package/src/hooks/useAsideCart/helpers/index.ts +22 -0
  46. package/src/hooks/useAsideCart/index.ts +217 -0
  47. package/src/hooks/useAsideCart/queries.ts +10 -0
  48. package/src/hooks/useBanner/index.ts +20 -0
  49. package/src/hooks/useCart/index.ts +2 -0
  50. package/src/hooks/useCart/queries.ts +174 -0
  51. package/src/hooks/useCart/useCart/helpers/index.ts +79 -0
  52. package/src/hooks/useCart/useCart/index.ts +424 -0
  53. package/src/hooks/useCart/useGetCart/index.ts +34 -0
  54. package/src/hooks/useCatWithProduct/index.ts +54 -0
  55. package/src/hooks/useCatWithProduct/queries.ts +200 -0
  56. package/src/hooks/useCatWithProduct/types/index.ts +104 -0
  57. package/src/hooks/useCatWithProductClient/index.ts +57 -0
  58. package/src/hooks/useCatWithProductClient/queries.ts +56 -0
  59. package/src/hooks/useCategoriesProduct/index.ts +14 -0
  60. package/src/hooks/useCategoriesProduct/queries.ts +16 -0
  61. package/src/hooks/useCategoryInStore/index.ts +167 -0
  62. package/src/hooks/useCategoryInStore/queries.ts +78 -0
  63. package/src/hooks/useCategoryStore/index.ts +8 -0
  64. package/src/hooks/useCategoryStore/queries.ts +16 -0
  65. package/src/hooks/useChartData/index.ts +171 -0
  66. package/src/hooks/useChartData/useChartData/index.ts +200 -0
  67. package/src/hooks/useChartData/useChartDataAllOrders/index.ts +94 -0
  68. package/src/hooks/useChatRoomSubscription/index.ts +28 -0
  69. package/src/hooks/useCheckbox/index.ts +115 -0
  70. package/src/hooks/useCities/index.ts +14 -0
  71. package/src/hooks/useCities/queries.ts +12 -0
  72. package/src/hooks/useClients/index.ts +97 -0
  73. package/src/hooks/useClients/queries.ts +215 -0
  74. package/src/hooks/useColorByLetters/helpers/alea.ts +73 -0
  75. package/src/hooks/useColorByLetters/helpers/colors.ts +45 -0
  76. package/src/hooks/useColorByLetters/helpers/index.ts +24 -0
  77. package/src/hooks/useColorByLetters/helpers/mersenne_twister.ts +118 -0
  78. package/src/hooks/useColorByLetters/index.ts +24 -0
  79. package/src/hooks/useConnection/index.ts +24 -0
  80. package/src/hooks/useCountries/index.ts +20 -0
  81. package/src/hooks/useCountries/queries.ts +12 -0
  82. package/src/hooks/useCreateDeliveryTime/index.ts +51 -0
  83. package/src/hooks/useCreateOrderStatusType/index.ts +134 -0
  84. package/src/hooks/useCreateProduct/helpers/index.ts +23 -0
  85. package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/index.ts +52 -0
  86. package/src/hooks/useCreateProduct/helpers/useEditImageProduct/index.ts +182 -0
  87. package/src/hooks/useCreateProduct/index.ts +337 -0
  88. package/src/hooks/useCreateStorePendingToRegister/index.ts +17 -0
  89. package/src/hooks/useCreateStorePendingToRegister/queries.ts +10 -0
  90. package/src/hooks/useDashboardComponents/index.ts +50 -0
  91. package/src/hooks/useDeleteExtraProductFoods/index.ts +13 -0
  92. package/src/hooks/useDeleteSubProductOptional/index.ts +32 -0
  93. package/src/hooks/useDeleteSubProductOptional/queries.ts +10 -0
  94. package/src/hooks/useDeliveryTime/index.ts +29 -0
  95. package/src/hooks/useDepartments/index.ts +14 -0
  96. package/src/hooks/useDepartments/queries.ts +13 -0
  97. package/src/hooks/useDessert/helpers/index.ts +51 -0
  98. package/src/hooks/useDessert/index.ts +529 -0
  99. package/src/hooks/useDessertWithPrice/helpers/index.ts +76 -0
  100. package/src/hooks/useDessertWithPrice/index.ts +381 -0
  101. package/src/hooks/useDessertWithPrice/queries.ts +18 -0
  102. package/src/hooks/useDevWS/index.ts +53 -0
  103. package/src/hooks/useDevices/index.ts +2 -0
  104. package/src/hooks/useDevices/queries.ts +28 -0
  105. package/src/hooks/useDevices/useGetDevices.ts +28 -0
  106. package/src/hooks/useDevices/useRegisterDevices.ts +75 -0
  107. package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +21 -0
  108. package/src/hooks/useDownloadReports/index.ts +2 -0
  109. package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +105 -0
  110. package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +116 -0
  111. package/src/hooks/useDrag/index.ts +79 -0
  112. package/src/hooks/useDropzone/index.ts +94 -0
  113. package/src/hooks/useDynamicAuth/index.ts +14 -0
  114. package/src/hooks/useDynamicAuth/queries.ts +24 -0
  115. package/src/hooks/useEditCategory/index.ts +41 -0
  116. package/src/hooks/useEditOneExtProductFoodOptional/index.ts +28 -0
  117. package/src/hooks/useEditOneExtProductFoodOptional/queries.ts +16 -0
  118. package/src/hooks/useEditSubProductOptional/index.ts +12 -0
  119. package/src/hooks/useEditSubProductOptional/queries.ts +10 -0
  120. package/src/hooks/useEmployee/index.ts +18 -0
  121. package/src/hooks/useEmployee/queries.ts +85 -0
  122. package/src/hooks/useEmployee/useCreateEmployee.ts +90 -0
  123. package/src/hooks/useEvent/index.ts +34 -0
  124. package/src/hooks/useFavoriteStores/index.ts +31 -0
  125. package/src/hooks/useFavoriteStores/queries.ts +54 -0
  126. package/src/hooks/useFetchJson/index.ts +25 -0
  127. package/src/hooks/useFetchMoreInteractions/index.jsx +39 -0
  128. package/src/hooks/useFilterConfigs/index.ts +173 -0
  129. package/src/hooks/useFingerprintjs/index.ts +197 -0
  130. package/src/hooks/useFormTools/index.ts +143 -0
  131. package/src/hooks/useFormatDate/index.ts +91 -0
  132. package/src/hooks/useFormatNumberPhone/index.ts +23 -0
  133. package/src/hooks/useFullScreenMode/index.ts +61 -0
  134. package/src/hooks/useGenerateNumberArray/index.ts +17 -0
  135. package/src/hooks/useGetAllLocationUser/index.ts +13 -0
  136. package/src/hooks/useGetAllLocationUser/queries.ts +44 -0
  137. package/src/hooks/useGetAllSales/index.ts +26 -0
  138. package/src/hooks/useGetCookies/index.ts +43 -0
  139. package/src/hooks/useGetExtProductFoodsSubOptionalAll/index.ts +15 -0
  140. package/src/hooks/useGetFoodRecomended/index.ts +33 -0
  141. package/src/hooks/useGetFoodRecomended/queries.ts +47 -0
  142. package/src/hooks/useGetMessagesToRoom/index.ts +23 -0
  143. package/src/hooks/useGetMinPrice/index.ts +13 -0
  144. package/src/hooks/useGetMinPrice/queries.ts +7 -0
  145. package/src/hooks/useGetOneStoreRating/index.ts +41 -0
  146. package/src/hooks/useGetOneStoreRating/queries.ts +18 -0
  147. package/src/hooks/useGetSalesAmountToday/index.ts +31 -0
  148. package/src/hooks/useGetStoreCookie/index.ts +21 -0
  149. package/src/hooks/useGoogleLogin/index.ts +169 -0
  150. package/src/hooks/useGoogleLogin/loadScript.ts +15 -0
  151. package/src/hooks/useGoogleLogin/removeScript.ts +7 -0
  152. package/src/hooks/useHover/index.ts +32 -0
  153. package/src/hooks/useImageOptimization/index.ts +32 -0
  154. package/src/hooks/useImageUploaderProduct/helper/canvasUtils.ts +146 -0
  155. package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +54 -0
  156. package/src/hooks/useImageUploaderProduct/helper/index.ts +5 -0
  157. package/src/hooks/useImageUploaderProduct/index.ts +295 -0
  158. package/src/hooks/useImageWeight/index.ts +55 -0
  159. package/src/hooks/useImagesStore/index.ts +227 -0
  160. package/src/hooks/useImagesStore/queries.ts +193 -0
  161. package/src/hooks/useImagesStore/utils/index.ts +4 -0
  162. package/src/hooks/useIncomingOrders/index.ts +11 -0
  163. package/src/hooks/useIncomingOrders/queries.ts +87 -0
  164. package/src/hooks/useInnerHtml/index.ts +39 -0
  165. package/src/hooks/useIntersection/index.ts +84 -0
  166. package/src/hooks/useInventory/index.ts +2 -0
  167. package/src/hooks/useInventory/queries.ts +58 -0
  168. package/src/hooks/useInventory/useGetProductsInStock.ts +16 -0
  169. package/src/hooks/useInventory/useUpdateManageStock.ts +41 -0
  170. package/src/hooks/useKeypress/index.ts +28 -0
  171. package/src/hooks/useLazyScript/index.ts +74 -0
  172. package/src/hooks/useLocalBackendIp/index.ts +34 -0
  173. package/src/hooks/useLocalSorage/index.ts +36 -0
  174. package/src/hooks/useLocationManager/index.ts +63 -0
  175. package/src/hooks/useLocationNavigate/index.ts +54 -0
  176. package/src/hooks/useLoginEmployeeInStore/index.ts +38 -0
  177. package/src/hooks/useLogout/helpers/BroadcastChannel.ts +74 -0
  178. package/src/hooks/useLogout/helpers/apiBaseUrl.ts +12 -0
  179. package/src/hooks/useLogout/helpers/fetchData.ts +37 -0
  180. package/src/hooks/useLogout/helpers/getCsrfToken.ts +37 -0
  181. package/src/hooks/useLogout/helpers/index.ts +65 -0
  182. package/src/hooks/useLogout/helpers/logger.ts +88 -0
  183. package/src/hooks/useLogout/helpers/parseUrl.ts +39 -0
  184. package/src/hooks/useLogout/index.ts +105 -0
  185. package/src/hooks/useManageNewOrder/helpers/index.ts +45 -0
  186. package/src/hooks/useManageNewOrder/helpers/mock.ts +0 -0
  187. package/src/hooks/useManageNewOrder/index.ts +104 -0
  188. package/src/hooks/useManageQueryParams/index.ts +120 -0
  189. package/src/hooks/useMobile/index.ts +65 -0
  190. package/src/hooks/useModules/helpers/index.ts +1 -0
  191. package/src/hooks/useModules/helpers/validateModules.ts +43 -0
  192. package/src/hooks/useModules/index.ts +124 -0
  193. package/src/hooks/useMouse/index.ts +55 -0
  194. package/src/hooks/useMutateHeight/index.ts +36 -0
  195. package/src/hooks/useOrderClient/index.ts +5 -0
  196. package/src/hooks/useOrderStatusTypes/index.ts +2 -0
  197. package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +133 -0
  198. package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +99 -0
  199. package/src/hooks/useOrders/index.ts +3 -0
  200. package/src/hooks/useOrders/queries.ts +99 -0
  201. package/src/hooks/useOrders/useChangeOrderState/index.ts +128 -0
  202. package/src/hooks/useOrders/useOrdersFromStore/index.ts +77 -0
  203. package/src/hooks/usePWAInstall/index.ts +38 -0
  204. package/src/hooks/usePaymentMethod/index.ts +3 -0
  205. package/src/hooks/usePaymentMethod/paymentMethod.gql.ts +62 -0
  206. package/src/hooks/usePaymentMethod/paymentMethod.types.ts +28 -0
  207. package/src/hooks/usePaymentMethod/useCreatePaymentMethod/index.ts +25 -0
  208. package/src/hooks/usePaymentMethod/useGetAllPaymentMethods/index.ts +19 -0
  209. package/src/hooks/usePaymentMethod/useGetPaymentMethod/index.ts +26 -0
  210. package/src/hooks/usePortFetcher/index.ts +33 -0
  211. package/src/hooks/usePrintSaleTicket/index.ts +68 -0
  212. package/src/hooks/useProductsFood/index.ts +341 -0
  213. package/src/hooks/useProductsFood/queriesStore.ts +964 -0
  214. package/src/hooks/useProductsFood/types/index.ts +0 -0
  215. package/src/hooks/useProductsFood/useEditProduct.ts +49 -0
  216. package/src/hooks/useProductsFood/usetagsProducts.ts +101 -0
  217. package/src/hooks/useProviders/index.ts +3 -0
  218. package/src/hooks/useProviders/queries.ts +31 -0
  219. package/src/hooks/useProviders/useProvidersCreateStore/index.ts +13 -0
  220. package/src/hooks/useProviders/useProvidersDataStore/index.ts +25 -0
  221. package/src/hooks/useProvidersStore/index.ts +25 -0
  222. package/src/hooks/useProvidersStore/queries.ts +31 -0
  223. package/src/hooks/usePushNotificationOrder/index.ts +52 -0
  224. package/src/hooks/usePushNotifications/helpers/index.ts +123 -0
  225. package/src/hooks/usePushNotifications/index.ts +150 -0
  226. package/src/hooks/useQueryLocationsMap/index.ts +20 -0
  227. package/src/hooks/useQueryLocationsMap/queries.ts +40 -0
  228. package/src/hooks/useRatingArrayData/index.ts +54 -0
  229. package/src/hooks/useRatingArrayData/queries.ts +19 -0
  230. package/src/hooks/useReactToPrint/index.ts +4 -0
  231. package/src/hooks/useReactToPrint/index.txt +1223 -0
  232. package/src/hooks/useRemoveExtraProductFoodsOptional/index.ts +24 -0
  233. package/src/hooks/useRemoveExtraProductFoodsOptional/queries.ts +48 -0
  234. package/src/hooks/useReport/index.ts +48 -0
  235. package/src/hooks/useReport/queries.ts +72 -0
  236. package/src/hooks/useRestaurant/helpers/index.ts +28 -0
  237. package/src/hooks/useRestaurant/helpers/manageStatusOpen.ts +26 -0
  238. package/src/hooks/useRestaurant/index.ts +71 -0
  239. package/src/hooks/useRestaurant/queries.ts +81 -0
  240. package/src/hooks/useRoads/index.ts +20 -0
  241. package/src/hooks/useRoads/queries.ts +13 -0
  242. package/src/hooks/useRoles/index.ts +4 -0
  243. package/src/hooks/useRoles/queries.ts +70 -0
  244. package/src/hooks/useRoles/useCreateRole.ts +40 -0
  245. package/src/hooks/useRoles/useGetRoles.ts +37 -0
  246. package/src/hooks/useRoles/useRemoveRoles.ts +40 -0
  247. package/src/hooks/useRoles/useUpdateRolesPriority.ts +44 -0
  248. package/src/hooks/useSales/helpers/add-product.utils.ts +120 -0
  249. package/src/hooks/useSales/helpers/apply-discount-to-cart.utils.ts +292 -0
  250. package/src/hooks/useSales/helpers/comment-product.utils.ts +41 -0
  251. package/src/hooks/useSales/helpers/constants/index.ts +38 -0
  252. package/src/hooks/useSales/helpers/extras.utils.ts +42 -0
  253. package/src/hooks/useSales/helpers/filterProductsByCarProId.utils.ts +17 -0
  254. package/src/hooks/useSales/helpers/increment-product-quantity.utils.ts +76 -0
  255. package/src/hooks/useSales/helpers/index.ts +3 -0
  256. package/src/hooks/useSales/helpers/initializer.utils.ts +22 -0
  257. package/src/hooks/useSales/helpers/isStockInsufficient.ts +3 -0
  258. package/src/hooks/useSales/helpers/remove-product.utils.test.ts +49 -0
  259. package/src/hooks/useSales/helpers/remove-product.utils.ts +34 -0
  260. package/src/hooks/useSales/helpers/resolveProduct.ts +29 -0
  261. package/src/hooks/useSales/helpers/useAddToCart.ts +64 -0
  262. package/src/hooks/useSales/index.ts +1418 -0
  263. package/src/hooks/useSales/queries.ts +532 -0
  264. package/src/hooks/useSales/types/index.ts +206 -0
  265. package/src/hooks/useSales/types/use-sales.types.ts +8 -0
  266. package/src/hooks/useSales/useGetSale.ts +21 -0
  267. package/src/hooks/useSales/useTotalSales.ts +24 -0
  268. package/src/hooks/useSaveAvailableProduct/helpers/index.ts +38 -0
  269. package/src/hooks/useSaveAvailableProduct/index.ts +32 -0
  270. package/src/hooks/useSaveAvailableProduct/queries.ts +10 -0
  271. package/src/hooks/useSaveLocation/index.ts +17 -0
  272. package/src/hooks/useSaveLocation/queries.ts +19 -0
  273. package/src/hooks/useSchedule/index.ts +35 -0
  274. package/src/hooks/useSchedule/queries.ts +43 -0
  275. package/src/hooks/useSchedule/schedule.ts +79 -0
  276. package/src/hooks/useScheduleData/index.ts +135 -0
  277. package/src/hooks/useScroll/index.ts +56 -0
  278. package/src/hooks/useScrollRotate/index.ts +16 -0
  279. package/src/hooks/useSetImageProducts/index.ts +59 -0
  280. package/src/hooks/useSetImageProducts/queries.ts +18 -0
  281. package/src/hooks/useSetSession/index.ts +44 -0
  282. package/src/hooks/useSetState/index.ts +24 -0
  283. package/src/hooks/useSetupSchedule/helpers/index.ts +85 -0
  284. package/src/hooks/useSetupSchedule/index.ts +284 -0
  285. package/src/hooks/useStatusOpenStore/helpers/index.ts +124 -0
  286. package/src/hooks/useStatusOpenStore/index.ts +195 -0
  287. package/src/hooks/useStatusOrdersClient/helpers/index.ts +14 -0
  288. package/src/hooks/useStatusOrdersClient/index.ts +18 -0
  289. package/src/hooks/useStatusOrdersClient/queries.ts +80 -0
  290. package/src/hooks/useStock/index.ts +1 -0
  291. package/src/hooks/useStock/useStockUpdatedAllSubscription.ts +40 -0
  292. package/src/hooks/useStockMovements/helpers/index.ts +16 -0
  293. package/src/hooks/useStockMovements/index.ts +39 -0
  294. package/src/hooks/useStore/index.ts +83 -0
  295. package/src/hooks/useStore/queries.ts +163 -0
  296. package/src/hooks/useStoreCalendar/index.ts +5 -0
  297. package/src/hooks/useStoreContacts/index.ts +53 -0
  298. package/src/hooks/useStoreContacts/queries.ts +48 -0
  299. package/src/hooks/useStoreTable/index.ts +2 -0
  300. package/src/hooks/useStoreTable/queries.ts +47 -0
  301. package/src/hooks/useStoreTable/useStoreTableCreate.ts +77 -0
  302. package/src/hooks/useStoreTable/useStoreTables.ts +15 -0
  303. package/src/hooks/useSubscriptionValidation/index.ts +112 -0
  304. package/src/hooks/useTagProducts/index.ts +3 -0
  305. package/src/hooks/useTagProducts/useDeleteOneTag.ts +106 -0
  306. package/src/hooks/useTagProducts/useGetAllTags.ts +68 -0
  307. package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +157 -0
  308. package/src/hooks/useTheme/index.ts +65 -0
  309. package/src/hooks/useTimeAgo/useTimeAgo.ts +39 -0
  310. package/src/hooks/useTokenCards/index.ts +45 -0
  311. package/src/hooks/useTopProductsMovements/index.ts +27 -0
  312. package/src/hooks/useTotalAllSales/index.ts +25 -0
  313. package/src/hooks/useTotalProductsInStock/index.ts +23 -0
  314. package/src/hooks/useTotalProductsSold/index.ts +23 -0
  315. package/src/hooks/useTotalProductsSolded/index.ts +20 -0
  316. package/src/hooks/useUpdateCart/index.ts +131 -0
  317. package/src/hooks/useUpdateCartCookie/index.ts +60 -0
  318. package/src/hooks/useUpdateDashboardComponent/index.ts +91 -0
  319. package/src/hooks/useUpdateExistingOrders/index.ts +85 -0
  320. package/src/hooks/useUpdateExtProductFoodsSubOptional/index.ts +61 -0
  321. package/src/hooks/useUpdateModuleOrder/index.ts +37 -0
  322. package/src/hooks/useUpdateMultipleExtProduct/index.ts +34 -0
  323. package/src/hooks/useUpdateMultipleExtProduct/queries.ts +33 -0
  324. package/src/hooks/useUpdateMultipleProducts/index.ts +117 -0
  325. package/src/hooks/useUpdateMultipleProducts/queries.ts +51 -0
  326. package/src/hooks/useUploadProducts/helpers/index.ts +1 -0
  327. package/src/hooks/useUploadProducts/helpers/parseNumber.ts +37 -0
  328. package/src/hooks/useUploadProducts/helpers/validateProductDataExcel.ts +73 -0
  329. package/src/hooks/useUploadProducts/index.ts +442 -0
  330. package/src/hooks/useUpsertGoal/index.ts +68 -0
  331. package/src/hooks/useUser/index.ts +24 -0
  332. package/src/hooks/useUser/queries.ts +131 -0
  333. package/src/hooks/useWeeklyStockMovement/helpers/index.ts +32 -0
  334. package/src/hooks/useWeeklyStockMovement/index.ts +52 -0
  335. package/src/hooks/useWindowSize/index.ts +45 -0
  336. package/src/index.ts +11 -0
  337. package/src/mock/dessert/index.ts +16 -0
  338. package/src/mock/index.ts +1 -0
  339. package/src/security/index.ts +1 -0
  340. package/src/services/index.ts +1 -0
  341. package/src/utils/UtilDateRange.ts +56 -0
  342. package/src/utils/generateCode.ts +222 -0
  343. package/src/utils/index.ts +2 -0
  344. package/src/utils/utils.ts +344 -0
  345. package/tsconfig.eslint.json +16 -0
  346. package/tsconfig.json +21 -0
  347. package/tsup.config.ts +24 -0
@@ -0,0 +1,8 @@
1
+ import { NotificationPayload } from '.'
2
+
3
+ export interface UseSalesProps {
4
+ disabled?: boolean;
5
+ router?: any;
6
+ sendNotification?: (args: NotificationPayload) => any;
7
+ setAlertBox?: (args: any) => any;
8
+ }
@@ -0,0 +1,21 @@
1
+ import { useLazyQuery } from '@apollo/client'
2
+
3
+ import { GET_ONE_SALE } from './queries'
4
+
5
+ export const useGetSale = () => {
6
+ const [getOneSalesStore, { loading, data, called, error }] = useLazyQuery(GET_ONE_SALE)
7
+
8
+ const handleGetSale = async (pCodeRef) => {
9
+ return await getOneSalesStore({
10
+ variables: { pCodeRef }
11
+ })
12
+ }
13
+ return {
14
+ data: data?.getOneSalesStore,
15
+ loading,
16
+ error,
17
+ called,
18
+ getOneSalesStore,
19
+ handleGetSale
20
+ }
21
+ }
@@ -0,0 +1,24 @@
1
+ import { useApolloClient, useQuery } from '@apollo/client'
2
+
3
+ import { GET_ALL_COUNT_SALES } from './queries'
4
+
5
+ export const useTotalSales = () => {
6
+ const client = useApolloClient()
7
+
8
+ const { data, loading, error } = useQuery(GET_ALL_COUNT_SALES, {
9
+ fetchPolicy: 'cache-and-network',
10
+ notifyOnNetworkStatusChange: true,
11
+ nextFetchPolicy: 'cache-first',
12
+ refetchWritePolicy: 'merge'
13
+ })
14
+
15
+ // Guarda la respuesta en la caché manualmente (opcional)
16
+ if (data) {
17
+ client.writeQuery({ query: GET_ALL_COUNT_SALES, data })
18
+ }
19
+
20
+ return [data?.getTodaySales || 0, {
21
+ loading,
22
+ error
23
+ }]
24
+ }
@@ -0,0 +1,38 @@
1
+ export const days = [
2
+ {
3
+ day: 1,
4
+ name: 'L'
5
+ },
6
+ {
7
+ day: 2,
8
+ name: 'M'
9
+ },
10
+ {
11
+ day: 3,
12
+ name: 'MI'
13
+ },
14
+ {
15
+ day: 4,
16
+ name: 'J'
17
+ },
18
+ {
19
+ day: 5,
20
+ name: 'V'
21
+ },
22
+ {
23
+ day: 6,
24
+ name: 'S'
25
+ },
26
+ {
27
+ day: 0,
28
+ name: 'D'
29
+ }
30
+ ]
31
+
32
+ export const arraysAreEqual = (arr1, arr2) => {
33
+ if (arr1.length !== arr2.length) return false
34
+ for (let i = 0; i < arr1.length; i++) {
35
+ if (arr1[i] !== arr2[i]) return false
36
+ }
37
+ return true
38
+ }
@@ -0,0 +1,32 @@
1
+ import { useMutation } from '@apollo/client'
2
+ import { useState } from 'react'
3
+
4
+ import { days } from './helpers/index'
5
+ import { CREATE_AVAILABLE_PRODUCTS_DAYS } from './queries'
6
+
7
+ export const useSaveAvailableProduct = () => {
8
+ const [selectedDays, setSelectedDays] = useState([])
9
+
10
+ const handleDaySelection = (day) => {
11
+ if (selectedDays.includes(day)) {
12
+ setSelectedDays(selectedDays.filter((selectedDay) => { return selectedDay !== day }))
13
+ } else {
14
+ setSelectedDays([...selectedDays, day])
15
+ }
16
+ }
17
+ const handleCleanSelectedDays = () => {
18
+ setSelectedDays([])
19
+ }
20
+ const [registerAvailableProduct, { loading }] = useMutation(CREATE_AVAILABLE_PRODUCTS_DAYS, {
21
+ onError: () => { return console.log({ message: 'Lo sentimos ocurrió un error, vuelve a intentarlo' }) }
22
+ })
23
+ return {
24
+ handleDaySelection,
25
+ handleCleanSelectedDays,
26
+ selectedDays,
27
+ setSelectedDays,
28
+ days,
29
+ Loading: loading,
30
+ registerAvailableProduct
31
+ }
32
+ }
@@ -0,0 +1,10 @@
1
+ import { gql } from '@apollo/client'
2
+
3
+ export const CREATE_AVAILABLE_PRODUCTS_DAYS = gql`
4
+ mutation registerAvailableProduct($input: [IAvailableProduct]) {
5
+ registerAvailableProduct(input: $input) {
6
+ success
7
+ message
8
+ }
9
+ }
10
+ `
@@ -0,0 +1,17 @@
1
+ import { useMutation } from '@apollo/client'
2
+
3
+ import { SAVE_LOCATION_USER } from './queries'
4
+
5
+ export const useSaveLocation = () => {
6
+ const [updateUserLocations, { loading, error, data }] =
7
+ useMutation(SAVE_LOCATION_USER)
8
+
9
+ return [
10
+ updateUserLocations,
11
+ {
12
+ loading,
13
+ error,
14
+ data
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,19 @@
1
+ import { gql } from '@apollo/client'
2
+
3
+ export const SAVE_LOCATION_USER = gql`
4
+ mutation updateUserLocations($input: InputUserLocation) {
5
+ updateUserLocations(input: $input) {
6
+ locationId
7
+ id
8
+ cId
9
+ dId
10
+ ctId
11
+ uLatitud
12
+ uLongitude
13
+ uLocationKnow
14
+ uPiso
15
+ DatCre
16
+ DatMod
17
+ }
18
+ }
19
+ `
@@ -0,0 +1,35 @@
1
+ import { useMutation, useQuery } from '@apollo/client'
2
+
3
+ import { GET_ONE_SCHEDULE_STORE, GET_SCHEDULE_STORE } from '../useProductsFood/queriesStore'
4
+ import { CREATE_STORE_CALENDAR } from '../useSchedule/queries'
5
+ export * from './schedule'
6
+
7
+ export const useSchedule = ({ day = null, idStore = '' }) => {
8
+ const {
9
+ data,
10
+ loading,
11
+ error
12
+ } = useQuery(GET_ONE_SCHEDULE_STORE, { variables: { schDay: day, idStore } })
13
+
14
+ return [data?.getOneStoreSchedules, { loading, error }]
15
+ }
16
+
17
+ export const useSchedules = ({ schDay = 1, idStore = '' }) => {
18
+ const {
19
+ data,
20
+ loading,
21
+ error
22
+ } = useQuery(GET_SCHEDULE_STORE, { variables: { schDay, idStore } })
23
+
24
+ return [data?.getStoreSchedules, { loading, error }]
25
+ }
26
+
27
+ export const useCreateSchedules = () => {
28
+ const [setStoreSchedule, { loading, error }] = useMutation(CREATE_STORE_CALENDAR, {
29
+ onError: (e) => {
30
+ console.error(e)
31
+ }
32
+ })
33
+
34
+ return [setStoreSchedule, { loading, error }]
35
+ }
@@ -0,0 +1,43 @@
1
+ import { gql } from '@apollo/client'
2
+
3
+ export const CREATE_STORE_CALENDAR = gql`
4
+ mutation setStoreSchedule($input: ITstoreSchedule!){
5
+ setStoreSchedule(input: $input){
6
+ message
7
+ success
8
+ }
9
+ }
10
+ `
11
+ export const GET_SCHEDULE_STORE = gql`
12
+ query getStoreSchedules($schDay: Int, $idStore: ID) {
13
+ getStoreSchedules(schDay: $schDay, idStore: $idStore) {
14
+ schId
15
+ idStore
16
+ schDay
17
+ schHoSta
18
+ schHoEnd
19
+ schState
20
+ }
21
+ }
22
+ `
23
+
24
+ export const GET_ONE_SCHEDULE_STORE = gql`
25
+ query getOneStoreSchedules($schDay: Int, $idStore: ID) {
26
+ getOneStoreSchedules(schDay: $schDay, idStore: $idStore) {
27
+ schId
28
+ schDay
29
+ schHoSta
30
+ schHoEnd
31
+ schState
32
+ }
33
+ }
34
+ `
35
+
36
+ export const SET_STATUS_ALL_SCHEDULE_STORE = gql`
37
+ mutation setScheduleOpenAll($scheduleOpenAll: Boolean!) {
38
+ setScheduleOpenAll(scheduleOpenAll: $scheduleOpenAll) {
39
+ success
40
+ message
41
+ }
42
+ }
43
+ `
@@ -0,0 +1,79 @@
1
+ import { useQuery, useMutation } from '@apollo/client'
2
+
3
+ import {
4
+ GET_ONE_SCHEDULE_STORE,
5
+ GET_SCHEDULE_STORE,
6
+ CREATE_STORE_CALENDAR,
7
+ SET_STATUS_ALL_SCHEDULE_STORE
8
+ } from './queries'
9
+
10
+ export const useSchedule = ({ day = null, idStore = '' }) => {
11
+ const {
12
+ data,
13
+ loading,
14
+ error
15
+ } = useQuery(GET_ONE_SCHEDULE_STORE, { variables: { schDay: day, idStore } })
16
+
17
+ return [data?.getOneStoreSchedules, { loading, error }]
18
+ }
19
+
20
+ export const useSetScheduleOpenAll = () => {
21
+ const [setStoreSchedule, { loading, error }] = useMutation(SET_STATUS_ALL_SCHEDULE_STORE, {
22
+ onError: (e) => {
23
+ console.error(e)
24
+ }
25
+ })
26
+
27
+ const handleSetStoreSchedule = (scheduleOpenAll) => {
28
+ setStoreSchedule({
29
+ variables: {
30
+ scheduleOpenAll
31
+ },
32
+ update: (cache, { data }) => {
33
+ const success = data?.setScheduleOpenAll?.success
34
+ if (success) {
35
+ cache.modify({
36
+ fields: {
37
+ getStore (_, { readField }) {
38
+ const store = readField('getStore')
39
+ const updatedCart = {
40
+ ...store,
41
+ scheduleOpenAll
42
+ }
43
+ return updatedCart
44
+ }
45
+ }
46
+ })
47
+ }
48
+ }
49
+ })
50
+ }
51
+
52
+ return [handleSetStoreSchedule, { loading, error }]
53
+ }
54
+
55
+ export const useSchedules = ({ schDay = 1, idStore = '', onCompleted = (data) => { return data } }) => {
56
+ const {
57
+ data,
58
+ loading,
59
+ error
60
+ } = useQuery(GET_SCHEDULE_STORE, {
61
+ variables: { schDay, idStore },
62
+ onCompleted: (data) => {
63
+ onCompleted(data)
64
+ }
65
+ }
66
+ )
67
+
68
+ return [data?.getStoreSchedules, { loading, error }]
69
+ }
70
+
71
+ export const useCreateSchedules = () => {
72
+ const [setStoreSchedule, { loading, error }] = useMutation(CREATE_STORE_CALENDAR, {
73
+ onError: (e) => {
74
+ console.error(e)
75
+ }
76
+ })
77
+
78
+ return [setStoreSchedule, { loading, error }]
79
+ }
@@ -0,0 +1,135 @@
1
+ /**
2
+ *
3
+ * @param data
4
+ */
5
+ export function useScheduleData (data) {
6
+ const days = {
7
+ 1: 'Lunes',
8
+ 2: 'Martes',
9
+ 3: 'Miércoles',
10
+ 4: 'Jueves',
11
+ 5: 'Viernes',
12
+ 6: 'Sabado',
13
+ 0: 'Domingo'
14
+ }
15
+
16
+ const daysArray = [
17
+ { day: 0, schHoSta: '', schHoEnd: '' },
18
+ { day: 1, schHoSta: '', schHoEnd: '' },
19
+ { day: 2, schHoSta: '', schHoEnd: '' },
20
+ { day: 3, schHoSta: '', schHoEnd: '' },
21
+ { day: 4, schHoSta: '', schHoEnd: '' },
22
+ { day: 5, schHoSta: '', schHoEnd: '' },
23
+ { day: 6, schHoSta: '', schHoEnd: '' }
24
+ ]
25
+
26
+ const combinedArray = daysArray.map((dayObj) => {
27
+ const originalObj = data?.find((item) => {return item.schDay === dayObj.day})
28
+ return originalObj || { ...dayObj }
29
+ })
30
+
31
+ // Encontrar la hora de inicio más temprana en combinedArray
32
+ const earliestStartTime = Math.min(
33
+ ...combinedArray.map((item) => {
34
+ const time = new Date(`2023-08-01 ${item.schHoSta}`)
35
+ return time.getTime()
36
+ })
37
+ )
38
+
39
+ const calculateYPosition = (start) => {
40
+ const time = new Date(`2023-08-01 ${start}`)
41
+ const differenceInMinutes = (time.getTime() - earliestStartTime) / (1000 * 40)
42
+ return differenceInMinutes / 40 // Ajusta el valor para adaptarse a la posición deseada en el eje Y
43
+ }
44
+
45
+ /**
46
+ * Calcula la duración en horas entre dos horas de inicio y final.
47
+ * @param {string} startTime - Hora de inicio en formato 'HH:mm'.
48
+ * @param {string} endTime - Hora de fin en formato 'HH:mm'.
49
+ * @returns {number|string} Duración en horas con dos decimales.
50
+ */
51
+
52
+ // Función para calcular la duración en horas de un horario
53
+ /**
54
+ *
55
+ * @param startTime
56
+ * @param endTime
57
+ */
58
+ function calculateDurationInHours (startTime, endTime) {
59
+ const startHour = new Date(`2000-01-01T${startTime}`)
60
+ const endHour = new Date(`2000-01-01T${endTime}`)
61
+ const duration = (endHour - startHour) / (1000 * 40 * 40) // Convertir la diferencia en horas
62
+ return duration.toFixed(2) // Redondear a 2 decimales
63
+ }
64
+
65
+ // Variables para controlar la posición en el eje X
66
+ const columnIndex = 0
67
+ const lastDay = -1
68
+ const uniqueHoursSet = new Set([
69
+ ...combinedArray.map((item) => {return item.schHoSta}),
70
+ ...combinedArray.map((item) => {return item.schHoEnd})
71
+ ])
72
+
73
+ const uniqueHours = []
74
+ for (const hour of uniqueHoursSet) {
75
+ const time = new Date(`2023-08-01 ${hour}`)
76
+ const formattedHour = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: false })
77
+ uniqueHours.push(formattedHour)
78
+ }
79
+
80
+ uniqueHours.sort((a, b) => {
81
+ const timeA = new Date(`2023-08-01 ${a}`)
82
+ const timeB = new Date(`2023-08-01 ${b}`)
83
+ return timeA - timeB
84
+ })
85
+
86
+ // Agregar las horas que faltan al final del día
87
+ if (uniqueHours.length > 0) {
88
+ const lastHour = new Date(`2023-08-01 ${uniqueHours[uniqueHours.length - 1]}`)
89
+ const endTime = new Date(`2023-08-01 ${combinedArray[0].schHoEnd}`)
90
+ const hoursDifference = (endTime - lastHour) / (1000 * 60 * 60)
91
+
92
+ for (let i = 1; i <= hoursDifference; i++) {
93
+ const newHour = new Date(lastHour.getTime() + i * 60 * 60 * 1000)
94
+ const formattedNewHour = newHour.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: false })
95
+ uniqueHours.push(formattedNewHour)
96
+ }
97
+ }
98
+
99
+ const dayWidth = 120
100
+ const daysWithHours = Array.from(new Set(combinedArray.map((item) => {return (item.schDay !== undefined ? item.schDay : item.day)})))
101
+ const totalDays = daysWithHours.length
102
+ const totalWidth = totalDays * dayWidth
103
+
104
+ const sortedUniqueHours = Array.from(uniqueHoursSet)
105
+ .sort((a, b) => {
106
+ const timeA = new Date(`2023-08-01 ${a}`)
107
+ const timeB = new Date(`2023-08-01 ${b}`)
108
+ return timeA - timeB
109
+ })
110
+
111
+ const formattedHours = sortedUniqueHours
112
+
113
+ /**
114
+ *
115
+ */
116
+ function calculateTimeLinesHeight () {
117
+ const totalHours = uniqueHours.length
118
+ return totalHours * 60 // Cada hora ocupa 60 píxeles de altura
119
+ }
120
+ return {
121
+ columnIndex,
122
+ combinedArray,
123
+ days,
124
+ daysArray,
125
+ daysWithHours,
126
+ dayWidth,
127
+ lastDay,
128
+ totalWidth,
129
+ sortedUniqueHours,
130
+ uniqueHours: formattedHours,
131
+ calculateDurationInHours,
132
+ calculateTimeLinesHeight,
133
+ calculateYPosition
134
+ }
135
+ }
@@ -0,0 +1,56 @@
1
+ import { useEffect, useState } from 'react'
2
+
3
+ export const useScrollY = () => {
4
+ // Función scroll Para mover verticalmente
5
+ const [offsetY, setOffsetY] = useState(0)
6
+ const handleScroll = () => { return setOffsetY(window.pageYOffset) }
7
+
8
+ useEffect(() => {
9
+ window.addEventListener('scroll', handleScroll)
10
+ return () => { return window.removeEventListener('scroll', handleScroll) }
11
+ }, [])
12
+ return {
13
+ offsetY
14
+ }
15
+ }
16
+
17
+ export const useScrollColor = () => {
18
+ const [scrollNav, setScrollNav] = useState(false)
19
+ const changeNav = () => {
20
+ if (window?.scrollY >= 1) {
21
+ setScrollNav(true)
22
+ } else {
23
+ setScrollNav(false)
24
+ }
25
+ }
26
+ useEffect(() => {
27
+ window.addEventListener('scroll', changeNav)
28
+ }, [])
29
+ return {
30
+ scrollNav
31
+ }
32
+ }
33
+
34
+ export const useScrollHook = () => {
35
+ const [style, setStyle] = useState({})
36
+
37
+ useEffect(() => {
38
+ let scrollPos = 0
39
+ const handleChangeHeaderStyle = () => {
40
+ if (document.body?.getBoundingClientRect && document.body.getBoundingClientRect().top > scrollPos) {
41
+ setStyle({})
42
+ } else {
43
+ setStyle({ transform: 'translateY(-300%)' })
44
+ }
45
+ scrollPos = document.body.getBoundingClientRect().top
46
+ }
47
+
48
+ window.addEventListener('scroll', handleChangeHeaderStyle)
49
+
50
+ return () => {
51
+ window.removeEventListener('scroll', handleChangeHeaderStyle)
52
+ }
53
+ }, [])
54
+
55
+ return style
56
+ }
@@ -0,0 +1,16 @@
1
+ import { useEffect, useState } from 'react'
2
+
3
+ // Función scroll Para rotar
4
+ export const useScrollRotate = () => {
5
+ const [position, setPosition] = useState(0)
6
+
7
+ useEffect(() => {
8
+ const handleScroll = () => { return setPosition(window.scrollY) }
9
+ window.addEventListener('scroll', handleScroll)
10
+ return () => {
11
+ window.removeEventListener('scroll', handleScroll)
12
+ }
13
+ }, [])
14
+
15
+ return { position }
16
+ }
@@ -0,0 +1,59 @@
1
+ import { useMutation, useApolloClient } from '@apollo/client'
2
+
3
+ import { GET_ONE_PRODUCTS_FOOD } from '../useProductsFood/queriesStore'
4
+
5
+ import { UPDATE_IMAGE_PRODUCT_FOOD } from './queries'
6
+
7
+ /**
8
+ * Hook to update product image and sync Apollo cache.
9
+ *
10
+ * @returns {[Function, Object]} mutation function and its state
11
+ */
12
+ export const useSetImageProducts = () => {
13
+ const client = useApolloClient()
14
+
15
+ const [setImageProducts, { data, loading, error }] = useMutation(UPDATE_IMAGE_PRODUCT_FOOD)
16
+
17
+ /**
18
+ * Updates product image and manually updates Apollo cache.
19
+ *
20
+ * @param {Object} variables - Requires pId and image
21
+ * @returns {Promise<any>}
22
+ */
23
+ const updateImageProducts = async (variables) => {
24
+ const { pId, image } = variables
25
+
26
+ if (!pId || !image) throw new Error('Missing pId or image')
27
+
28
+ const response = await setImageProducts({
29
+ variables: { input: { pId, image } }
30
+ })
31
+ const { ProImage } = response?.data?.setImageProducts?.data ?? {}
32
+ try {
33
+ const existing = client.readQuery({
34
+ query: GET_ONE_PRODUCTS_FOOD,
35
+ variables: { pId }
36
+ })
37
+
38
+ if (!existing?.productFoodsOne) return response
39
+
40
+ // 📝 Escribir de nuevo el producto con la imagen actualizada
41
+ client.writeQuery({
42
+ query: GET_ONE_PRODUCTS_FOOD,
43
+ variables: { pId },
44
+ data: {
45
+ productFoodsOne: {
46
+ ...existing.productFoodsOne,
47
+ ProImage
48
+ }
49
+ }
50
+ })
51
+ } catch (err) {
52
+ console.warn('⚠️ Error updating cache for GET_ONE_PRODUCTS_FOOD:', err)
53
+ }
54
+
55
+ return response
56
+ }
57
+
58
+ return [updateImageProducts, { data, loading, error }]
59
+ }
@@ -0,0 +1,18 @@
1
+ import { gql } from '@apollo/client'
2
+
3
+ export const UPDATE_IMAGE_PRODUCT_FOOD = gql`
4
+ mutation setImageProducts($input: IFileImageProductFood) {
5
+ setImageProducts(input: $input) {
6
+ success
7
+ message
8
+ data {
9
+ pId
10
+ ProImage
11
+ __typename
12
+ }
13
+ errors {
14
+ message
15
+ }
16
+ }
17
+ }
18
+ `
@@ -0,0 +1,44 @@
1
+ import { Cookies } from '../../cookies'
2
+ import { getCurrentDomain } from '../../utils'
3
+
4
+ export const useSetSession = () => {
5
+ const handleSession = async (props) => {
6
+ try {
7
+ const { cookies } = props
8
+ let domain = getCurrentDomain()
9
+
10
+ // Si estás en entorno local, usa 'localhost' como dominio
11
+ if (domain === 'localhost') {
12
+ domain = undefined // Esto permitirá la cookie en 'localhost'
13
+ }
14
+
15
+ if (!Array.isArray(cookies)) {
16
+ throw new Error('Input cookies should be an array.')
17
+ }
18
+
19
+ for (const { name, value, domain: incomingDomain } of cookies) {
20
+ if (value) {
21
+ const expirationTime = new Date()
22
+ expirationTime.setTime(expirationTime.getTime() + 8 * 60 * 60 * 1000)
23
+
24
+ const formattedDomain = incomingDomain || domain
25
+
26
+ await Cookies.set(name, value, {
27
+ domain: formattedDomain,
28
+ path: '/',
29
+ secure: process.env.NODE_ENV === 'production',
30
+ sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax',
31
+ expires: expirationTime
32
+ })
33
+ }
34
+ }
35
+
36
+ console.log('Cookies guardadas correctamente.')
37
+ } catch (error) {
38
+ console.error('Error al guardar las cookies:', error)
39
+ throw new Error('Error al guardar las cookies.')
40
+ }
41
+ }
42
+
43
+ return [handleSession]
44
+ }
@@ -0,0 +1,24 @@
1
+ import { useEffect, useState } from 'react'
2
+
3
+ export const useSetState = initialState => {
4
+ const [state, setState] = useState(initialState)
5
+ const increase = () => { return setState(state + 1) }
6
+ const decrease = () => { return setState(state - 1) }
7
+ const reset = () => { return setState(0) }
8
+ useEffect(() => {
9
+ if (state === -1) return reset()
10
+ return {}
11
+ }, [state])
12
+ // Cambio de estado
13
+ const changeState = () => {
14
+ setState(!state)
15
+ }
16
+ return {
17
+ state,
18
+ increase,
19
+ decrease,
20
+ reset,
21
+ changeState,
22
+ setState
23
+ }
24
+ }