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.
- package/.babelrc +2 -10
- package/.env +5 -1
- package/dist/index.js +17953 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +17711 -0
- package/dist/index.mjs.map +1 -0
- package/eslint.config.mjs +154 -0
- package/expire.json +1 -0
- package/index.d.ts +2 -0
- package/jest.config.ts +9 -0
- package/package.json +45 -36
- package/src/config/client/errors.ts +39 -0
- package/src/config/content/en.json +5 -0
- package/src/config/content/es.json +5 -0
- package/src/config/content/index.ts +16 -0
- package/src/hooks/addTenMinutes/index.ts +14 -0
- package/src/hooks/calculateLogLatHaversine/index.ts +41 -0
- package/src/hooks/completeSchedules/index.ts +22 -0
- package/src/hooks/convertToMilitaryTime/index.ts +18 -0
- package/src/hooks/generateStoreURL/index.ts +41 -0
- package/src/hooks/generateTemplate/index.ts +66 -0
- package/src/hooks/getCardType/index.ts +24 -0
- package/src/hooks/getCategoriesWithProduct/{index.js → index.ts} +7 -7
- package/src/hooks/getGlobalSession/index.ts +69 -0
- package/src/hooks/getSession/index.ts +72 -0
- package/src/hooks/getTodayTimestamps/index.ts +70 -0
- package/src/hooks/getTotalHours/index.ts +76 -0
- package/src/hooks/handleLogin/index.ts +14 -0
- package/src/hooks/index.ts +154 -0
- package/src/hooks/isTokenExpired/index.ts +17 -0
- package/src/hooks/newMessageSubscription/index.ts +28 -0
- package/src/hooks/newStoreOrderSubscription/index.ts +26 -0
- package/src/hooks/{useStatusOpenStore/helpers/index.js → statusOpenStores/helpers/index.ts} +24 -1
- package/src/hooks/statusOpenStores/index.ts +221 -0
- package/src/hooks/updateExtProductFoodsOptional/{index.js → index.ts} +15 -6
- package/src/hooks/useAcumulateDate/index.ts +18 -0
- package/src/hooks/useAllStoresPendingToRegister/index.ts +37 -0
- package/src/hooks/useAmountInput/index.ts +127 -0
- package/src/hooks/useAnimationText/{index.jsx → index.ts} +2 -2
- package/src/hooks/useAsideCart/index.ts +217 -0
- package/src/hooks/useBanner/{index.js → index.ts} +2 -1
- package/src/hooks/useCart/{queries.js → queries.ts} +11 -1
- package/src/hooks/useCart/useCart/helpers/{index.js → index.ts} +10 -6
- package/src/hooks/useCart/useCart/{index.js → index.ts} +58 -44
- package/src/hooks/useCart/useGetCart/{index.js → index.ts} +6 -3
- package/src/hooks/useCatWithProduct/{index.js → index.ts} +17 -7
- package/src/hooks/useCatWithProduct/{queries.js → queries.ts} +50 -23
- package/src/hooks/useCatWithProduct/types/index.ts +104 -0
- package/src/hooks/useCatWithProductClient/{index.js → index.ts} +19 -18
- package/src/hooks/useCatWithProductClient/{queries.js → queries.ts} +1 -0
- package/src/hooks/useCategoriesProduct/{index.js → index.ts} +3 -1
- package/src/hooks/useCategoriesProduct/{queries.js → queries.ts} +2 -2
- package/src/hooks/useCategoryInStore/index.ts +167 -0
- package/src/hooks/useCategoryInStore/{queries.js → queries.ts} +2 -2
- package/src/hooks/useCategoryStore/{index.js → index.ts} +4 -3
- package/src/hooks/useCategoryStore/{queries.js → queries.ts} +2 -2
- package/src/hooks/useChartData/{index.js → index.ts} +31 -34
- package/src/hooks/useChartData/useChartData/{index.js → index.ts} +31 -30
- package/src/hooks/useChartData/useChartDataAllOrders/{index.js → index.ts} +4 -4
- package/src/hooks/useChatRoomSubscription/index.ts +28 -0
- package/src/hooks/useCheckbox/{index.js → index.ts} +1 -1
- package/src/hooks/useCities/index.ts +14 -0
- package/src/hooks/useCities/queries.ts +12 -0
- package/src/hooks/useClients/{index.js → index.ts} +36 -10
- package/src/hooks/useClients/queries.ts +215 -0
- package/src/hooks/useColorByLetters/helpers/alea.ts +73 -0
- package/src/hooks/useColorByLetters/helpers/colors.ts +45 -0
- package/src/hooks/useColorByLetters/helpers/index.ts +24 -0
- package/src/hooks/useColorByLetters/helpers/mersenne_twister.ts +118 -0
- package/src/hooks/useColorByLetters/index.ts +24 -0
- package/src/hooks/useConnection/index.ts +24 -0
- package/src/hooks/useCountries/index.ts +20 -0
- package/src/hooks/useCountries/queries.ts +12 -0
- package/src/hooks/useCreateDeliveryTime/index.ts +51 -0
- package/src/hooks/useCreateOrderStatusType/index.ts +134 -0
- package/src/hooks/useCreateProduct/helpers/index.ts +23 -0
- package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/{index.js → index.ts} +1 -1
- package/src/hooks/useCreateProduct/helpers/useEditImageProduct/{index.js → index.ts} +14 -8
- package/src/hooks/useCreateProduct/index.ts +337 -0
- package/src/hooks/useCreateStorePendingToRegister/index.ts +17 -0
- package/src/hooks/useCreateStorePendingToRegister/queries.ts +10 -0
- package/src/hooks/useDashboardComponents/index.ts +50 -0
- package/src/hooks/useDeleteExtraProductFoods/index.ts +13 -0
- package/src/hooks/useDeleteSubProductOptional/{index.js → index.ts} +5 -3
- package/src/hooks/useDeliveryTime/index.ts +29 -0
- package/src/hooks/useDepartments/index.ts +14 -0
- package/src/hooks/useDepartments/queries.ts +13 -0
- package/src/hooks/useDessert/{index.js → index.ts} +162 -114
- package/src/hooks/useDessertWithPrice/helpers/index.ts +76 -0
- package/src/hooks/useDessertWithPrice/index.ts +381 -0
- package/src/hooks/useDessertWithPrice/queries.ts +18 -0
- package/src/hooks/useDevWS/index.ts +53 -0
- package/src/hooks/useDevices/index.ts +2 -0
- package/src/hooks/useDevices/queries.ts +28 -0
- package/src/hooks/useDevices/useGetDevices.ts +28 -0
- package/src/hooks/useDevices/useRegisterDevices.ts +75 -0
- package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +21 -0
- package/src/hooks/useDownloadReports/index.ts +2 -0
- package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +105 -0
- package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +116 -0
- package/src/hooks/useDrag/{index.js → index.ts} +16 -0
- package/src/hooks/useDropzone/{index.js → index.ts} +2 -2
- package/src/hooks/useDynamicAuth/{index.js → index.ts} +2 -1
- package/src/hooks/useEditCategory/{index.js → index.ts} +14 -14
- package/src/hooks/useEditOneExtProductFoodOptional/index.ts +28 -0
- package/src/hooks/useEditOneExtProductFoodOptional/{queries.js → queries.ts} +2 -2
- package/src/hooks/useEditSubProductOptional/index.ts +12 -0
- package/src/hooks/useEmployee/index.ts +18 -0
- package/src/hooks/useEmployee/queries.ts +85 -0
- package/src/hooks/useEmployee/useCreateEmployee.ts +90 -0
- package/src/hooks/useEvent/{index.js → index.ts} +1 -0
- package/src/hooks/useFavoriteStores/index.ts +31 -0
- package/src/hooks/useFavoriteStores/queries.ts +54 -0
- package/src/hooks/useFetchMoreInteractions/index.jsx +26 -26
- package/src/hooks/useFilterConfigs/index.ts +173 -0
- package/src/hooks/useFingerprintjs/{index.js → index.ts} +32 -7
- package/src/hooks/useFormTools/index.ts +143 -0
- package/src/hooks/useFormatDate/index.ts +91 -0
- package/src/hooks/useFullScreenMode/{index.js → index.ts} +1 -5
- package/src/hooks/useGetAllLocationUser/index.ts +13 -0
- package/src/hooks/useGetAllLocationUser/queries.ts +44 -0
- package/src/hooks/{useSales/useGetAllSales/index.js → useGetAllSales/index.ts} +3 -2
- package/src/hooks/useGetCookies/index.ts +43 -0
- package/src/hooks/useGetExtProductFoodsSubOptionalAll/{index.js → index.ts} +2 -1
- package/src/hooks/useGetFoodRecomended/{index.js → index.ts} +2 -1
- package/src/hooks/useGetMessagesToRoom/index.ts +23 -0
- package/src/hooks/useGetMinPrice/{index.js → index.ts} +2 -1
- package/src/hooks/useGetOneStoreRating/{index.js → index.ts} +2 -1
- package/src/hooks/useGetSalesAmountToday/index.ts +31 -0
- package/src/hooks/useGetStoreCookie/index.ts +21 -0
- package/src/hooks/useGoogleLogin/{index.js → index.ts} +14 -5
- package/src/hooks/useHover/{index.js → index.ts} +3 -0
- package/src/hooks/useImageOptimization/{index.js → index.ts} +4 -0
- package/src/hooks/useImageUploaderProduct/helper/canvasUtils.ts +146 -0
- package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +54 -0
- package/src/hooks/useImageUploaderProduct/helper/index.ts +5 -0
- package/src/hooks/useImageUploaderProduct/index.ts +295 -0
- package/src/hooks/useImageWeight/{index.js → index.ts} +4 -0
- package/src/hooks/useImagesStore/index.ts +227 -0
- package/src/hooks/useImagesStore/{queries.js → queries.ts} +4 -68
- package/src/hooks/useImagesStore/utils/index.ts +4 -0
- package/src/hooks/useIncomingOrders/index.ts +11 -0
- package/src/hooks/useIncomingOrders/queries.ts +87 -0
- package/src/hooks/useIntersection/{index.js → index.ts} +1 -1
- package/src/hooks/useInventory/index.ts +2 -0
- package/src/hooks/useInventory/queries.ts +58 -0
- package/src/hooks/useInventory/useGetProductsInStock.ts +16 -0
- package/src/hooks/useInventory/useUpdateManageStock.ts +41 -0
- package/src/hooks/useLazyScript/{index.js → index.ts} +3 -0
- package/src/hooks/useLocalBackendIp/index.ts +34 -0
- package/src/hooks/useLocalSorage/{index.js → index.ts} +3 -3
- package/src/hooks/useLocationManager/index.ts +63 -0
- package/src/hooks/useLoginEmployeeInStore/index.ts +38 -0
- package/src/hooks/useLogout/helpers/BroadcastChannel.ts +74 -0
- package/src/hooks/useLogout/helpers/apiBaseUrl.ts +12 -0
- package/src/hooks/useLogout/helpers/fetchData.ts +37 -0
- package/src/hooks/useLogout/helpers/getCsrfToken.ts +37 -0
- package/src/hooks/useLogout/helpers/index.ts +65 -0
- package/src/hooks/useLogout/helpers/logger.ts +88 -0
- package/src/hooks/useLogout/helpers/parseUrl.ts +39 -0
- package/src/hooks/useLogout/index.ts +105 -0
- package/src/hooks/useManageNewOrder/helpers/index.ts +45 -0
- package/src/hooks/useManageNewOrder/index.ts +104 -0
- package/src/hooks/useManageQueryParams/index.ts +120 -0
- package/src/hooks/useMobile/index.ts +65 -0
- package/src/hooks/useModules/helpers/index.ts +1 -0
- package/src/hooks/useModules/helpers/validateModules.ts +43 -0
- package/src/hooks/useModules/index.ts +124 -0
- package/src/hooks/useMouse/index.ts +55 -0
- package/src/hooks/useOrderStatusTypes/index.ts +2 -0
- package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +133 -0
- package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +99 -0
- package/src/hooks/useOrders/index.ts +3 -0
- package/src/hooks/useOrders/queries.ts +99 -0
- package/src/hooks/useOrders/useChangeOrderState/index.ts +128 -0
- package/src/hooks/useOrders/{index.js → useOrdersFromStore/index.ts} +20 -18
- package/src/hooks/usePWAInstall/index.ts +38 -0
- package/src/hooks/usePaymentMethod/index.ts +3 -0
- package/src/hooks/usePaymentMethod/paymentMethod.gql.ts +62 -0
- package/src/hooks/usePaymentMethod/paymentMethod.types.ts +28 -0
- package/src/hooks/usePaymentMethod/useCreatePaymentMethod/index.ts +25 -0
- package/src/hooks/usePaymentMethod/useGetAllPaymentMethods/index.ts +19 -0
- package/src/hooks/usePaymentMethod/useGetPaymentMethod/index.ts +26 -0
- package/src/hooks/usePortFetcher/index.ts +33 -0
- package/src/hooks/usePrintSaleTicket/index.ts +68 -0
- package/src/hooks/useProductsFood/index.ts +341 -0
- package/src/hooks/useProductsFood/{queriesStore.js → queriesStore.ts} +151 -84
- package/src/hooks/useProductsFood/types/index.ts +0 -0
- package/src/hooks/useProductsFood/useEditProduct.ts +49 -0
- package/src/hooks/useProductsFood/usetagsProducts.ts +101 -0
- package/src/hooks/useProviders/useProvidersCreateStore/{index.js → index.ts} +2 -1
- package/src/hooks/useProviders/useProvidersDataStore/{index.js → index.ts} +2 -1
- package/src/hooks/useProvidersStore/{index.js → index.ts} +2 -1
- package/src/hooks/usePushNotificationOrder/index.ts +52 -0
- package/src/hooks/usePushNotifications/helpers/index.ts +123 -0
- package/src/hooks/usePushNotifications/index.ts +150 -0
- package/src/hooks/useQueryLocationsMap/index.ts +20 -0
- package/src/hooks/useQueryLocationsMap/queries.ts +40 -0
- package/src/hooks/useRatingArrayData/{index.js → index.ts} +4 -4
- package/src/hooks/useRatingArrayData/{queries.js → queries.ts} +1 -1
- package/src/hooks/useReactToPrint/index.ts +4 -0
- package/src/hooks/useRemoveExtraProductFoodsOptional/{index.js → index.ts} +2 -1
- package/src/hooks/useRemoveExtraProductFoodsOptional/{queries.js → queries.ts} +4 -4
- package/src/hooks/useReport/{index.js → index.ts} +5 -5
- package/src/hooks/useReport/{queries.js → queries.ts} +4 -55
- package/src/hooks/useRestaurant/helpers/index.ts +28 -0
- package/src/hooks/useRestaurant/helpers/manageStatusOpen.ts +26 -0
- package/src/hooks/useRestaurant/index.ts +71 -0
- package/src/hooks/useRestaurant/{queries.js → queries.ts} +2 -1
- package/src/hooks/useRoads/index.ts +20 -0
- package/src/hooks/useRoads/queries.ts +13 -0
- package/src/hooks/useRoles/index.ts +4 -0
- package/src/hooks/useRoles/queries.ts +70 -0
- package/src/hooks/useRoles/useCreateRole.ts +40 -0
- package/src/hooks/useRoles/useGetRoles.ts +37 -0
- package/src/hooks/useRoles/useRemoveRoles.ts +40 -0
- package/src/hooks/useRoles/useUpdateRolesPriority.ts +44 -0
- package/src/hooks/useSales/helpers/add-product.utils.ts +120 -0
- package/src/hooks/useSales/helpers/apply-discount-to-cart.utils.ts +292 -0
- package/src/hooks/useSales/helpers/comment-product.utils.ts +41 -0
- package/src/hooks/useSales/helpers/constants/index.ts +38 -0
- package/src/hooks/useSales/helpers/extras.utils.ts +42 -0
- package/src/hooks/useSales/helpers/filterProductsByCarProId.utils.ts +17 -0
- package/src/hooks/useSales/helpers/increment-product-quantity.utils.ts +76 -0
- package/src/hooks/useSales/helpers/index.ts +3 -0
- package/src/hooks/useSales/helpers/initializer.utils.ts +22 -0
- package/src/hooks/useSales/helpers/isStockInsufficient.ts +3 -0
- package/src/hooks/useSales/helpers/remove-product.utils.test.ts +49 -0
- package/src/hooks/useSales/helpers/remove-product.utils.ts +34 -0
- package/src/hooks/useSales/helpers/resolveProduct.ts +29 -0
- package/src/hooks/useSales/helpers/useAddToCart.ts +64 -0
- package/src/hooks/useSales/index.ts +1418 -0
- package/src/hooks/useSales/{queries.js → queries.ts} +256 -166
- package/src/hooks/useSales/types/index.ts +206 -0
- package/src/hooks/useSales/types/use-sales.types.ts +8 -0
- package/src/hooks/useSales/useGetSale.ts +21 -0
- package/src/hooks/useSales/useTotalSales.ts +24 -0
- package/src/hooks/useSaveAvailableProduct/helpers/{index.js → index.ts} +4 -4
- package/src/hooks/useSaveAvailableProduct/{index.js → index.ts} +7 -1
- package/src/hooks/useSaveLocation/index.ts +17 -0
- package/src/hooks/useSaveLocation/queries.ts +19 -0
- package/src/hooks/useSchedule/{index.jsx → index.ts} +16 -4
- package/src/hooks/useSchedule/{index.js → schedule.ts} +22 -15
- package/src/hooks/useScheduleData/{index.js → index.ts} +21 -9
- package/src/hooks/useSetImageProducts/index.ts +59 -0
- package/src/hooks/useSetImageProducts/queries.ts +18 -0
- package/src/hooks/useSetSession/{index.js → index.ts} +16 -17
- package/src/hooks/useSetupSchedule/helpers/index.ts +85 -0
- package/src/hooks/useSetupSchedule/index.ts +284 -0
- package/src/hooks/useStatusOpenStore/helpers/index.ts +124 -0
- package/src/hooks/useStatusOpenStore/{index.js → index.ts} +39 -16
- package/src/hooks/useStatusOrdersClient/{index.js → index.ts} +3 -2
- package/src/hooks/useStatusOrdersClient/{queries.js → queries.ts} +2 -2
- package/src/hooks/useStock/index.ts +1 -0
- package/src/hooks/useStock/useStockUpdatedAllSubscription.ts +40 -0
- package/src/hooks/useStockMovements/helpers/index.ts +16 -0
- package/src/hooks/useStockMovements/index.ts +39 -0
- package/src/hooks/useStore/index.ts +83 -0
- package/src/hooks/useStore/{queries.js → queries.ts} +71 -71
- package/src/hooks/useStoreContacts/{index.js → index.ts} +11 -5
- package/src/hooks/useStoreTable/index.ts +2 -0
- package/src/hooks/useStoreTable/queries.ts +47 -0
- package/src/hooks/useStoreTable/useStoreTableCreate.ts +77 -0
- package/src/hooks/useStoreTable/useStoreTables.ts +15 -0
- package/src/hooks/useSubscriptionValidation/index.ts +112 -0
- package/src/hooks/useTagProducts/index.ts +3 -0
- package/src/hooks/useTagProducts/useDeleteOneTag.ts +106 -0
- package/src/hooks/useTagProducts/useGetAllTags.ts +68 -0
- package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +157 -0
- package/src/hooks/useTheme/index.ts +65 -0
- package/src/hooks/useTimeAgo/{useTimeAgo.js → useTimeAgo.ts} +7 -7
- package/src/hooks/useTokenCards/index.ts +45 -0
- package/src/hooks/useTopProductsMovements/index.ts +27 -0
- package/src/hooks/useTotalAllSales/index.ts +25 -0
- package/src/hooks/useTotalProductsInStock/index.ts +23 -0
- package/src/hooks/useTotalProductsSold/index.ts +23 -0
- package/src/hooks/useTotalProductsSolded/index.ts +20 -0
- package/src/hooks/useUpdateCart/{index.js → index.ts} +3 -2
- package/src/hooks/useUpdateCartCookie/index.ts +60 -0
- package/src/hooks/useUpdateDashboardComponent/index.ts +91 -0
- package/src/hooks/useUpdateExistingOrders/{index.js → index.ts} +5 -11
- package/src/hooks/useUpdateExtProductFoodsSubOptional/index.ts +61 -0
- package/src/hooks/useUpdateModuleOrder/index.ts +37 -0
- package/src/hooks/useUpdateMultipleExtProduct/index.ts +34 -0
- package/src/hooks/useUpdateMultipleExtProduct/queries.ts +33 -0
- package/src/hooks/useUpdateMultipleProducts/index.ts +117 -0
- package/src/hooks/useUpdateMultipleProducts/queries.ts +51 -0
- package/src/hooks/useUploadProducts/helpers/index.ts +1 -0
- package/src/hooks/useUploadProducts/helpers/parseNumber.ts +37 -0
- package/src/hooks/useUploadProducts/helpers/validateProductDataExcel.ts +73 -0
- package/src/hooks/useUploadProducts/index.ts +442 -0
- package/src/hooks/useUpsertGoal/index.ts +68 -0
- package/src/hooks/useUser/{index.js → index.ts} +11 -4
- package/src/hooks/useUser/{queries.js → queries.ts} +9 -4
- package/src/hooks/useWeeklyStockMovement/helpers/index.ts +32 -0
- package/src/hooks/useWeeklyStockMovement/index.ts +52 -0
- package/src/hooks/useWindowSize/{index.js → index.ts} +9 -2
- package/src/index.ts +12 -0
- package/src/security/index.ts +1 -0
- package/src/services/index.ts +1 -0
- package/src/utils/UtilDateRange.ts +56 -0
- package/src/utils/generateCode.ts +222 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/utils.ts +344 -0
- package/tsconfig.eslint.json +17 -0
- package/tsconfig.json +21 -0
- package/tsup.config.ts +24 -0
- package/.eslintrc.js +0 -38
- package/.eslintrc.json +0 -127
- package/next.config.js +0 -126
- package/src/config/client/errors.js +0 -26
- package/src/hooks/getGlobalSession/index.js +0 -49
- package/src/hooks/getSession/index.js +0 -18
- package/src/hooks/handleLogin/index.js +0 -10
- package/src/hooks/index.js +0 -77
- package/src/hooks/useAcumulateDate/index.js +0 -16
- package/src/hooks/useAsideCart/index.js +0 -155
- package/src/hooks/useCategoryInStore/index.js +0 -98
- package/src/hooks/useClients/queries.js +0 -127
- package/src/hooks/useConnection/index.js +0 -22
- package/src/hooks/useCreateProduct/index.js +0 -291
- package/src/hooks/useDevices/index.js +0 -35
- package/src/hooks/useDevices/queries.js +0 -19
- package/src/hooks/useEditOneExtProductFoodOptional/index.js +0 -28
- package/src/hooks/useEditSubProductOptional/index.js +0 -11
- package/src/hooks/useEmployee/index.js +0 -13
- package/src/hooks/useEmployee/queries.js +0 -17
- package/src/hooks/useFavoriteStores/index.js +0 -19
- package/src/hooks/useFavoriteStores/queries.js +0 -47
- package/src/hooks/useFormTools/index.js +0 -100
- package/src/hooks/useFormatDate/index.js +0 -33
- package/src/hooks/useGetStoreCookie/index.js +0 -22
- package/src/hooks/useImagesStore/index.js +0 -183
- package/src/hooks/useLogout/helpers/BroadcastChannel.js +0 -32
- package/src/hooks/useLogout/helpers/apiBaseUrl.js +0 -8
- package/src/hooks/useLogout/helpers/fetchData.js +0 -29
- package/src/hooks/useLogout/helpers/getCsrfToken.js +0 -30
- package/src/hooks/useLogout/helpers/index.js +0 -54
- package/src/hooks/useLogout/helpers/logger.js +0 -72
- package/src/hooks/useLogout/helpers/parseUrl.js +0 -36
- package/src/hooks/useLogout/index.js +0 -46
- package/src/hooks/useManageQueryParams/index.js +0 -37
- package/src/hooks/useMobile/index.js +0 -39
- package/src/hooks/useOrders/queries.js +0 -328
- package/src/hooks/useProductsFood/index.js +0 -234
- package/src/hooks/useProductsFood/useEditProduct.js +0 -8
- package/src/hooks/useProductsFood/usetagsProducts.js +0 -94
- package/src/hooks/useRestaurant/index.js +0 -19
- package/src/hooks/useSales/helpers/index.js +0 -8
- package/src/hooks/useSales/index.js +0 -1102
- package/src/hooks/useSales/useGetSale.js +0 -13
- package/src/hooks/useSales/useTotalSales.js +0 -24
- package/src/hooks/useStore/index.js +0 -70
- package/src/hooks/useUpdateExtProductFoodsSubOptional/index.js +0 -38
- package/src/index.jsx +0 -4
- package/src/utils/index.js +0 -141
- /package/src/config/client/{index.js → index.ts} +0 -0
- /package/src/hooks/getCategoriesWithProduct/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useAnimationFrame/{index.js → index.ts} +0 -0
- /package/src/hooks/useAsideCart/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useAsideCart/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCart/{index.js → index.ts} +0 -0
- /package/src/hooks/useDeleteSubProductOptional/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useDessert/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useDynamicAuth/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useEditSubProductOptional/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useFetchJson/{index.js → index.ts} +0 -0
- /package/src/hooks/useFormatNumberPhone/{index.js → index.ts} +0 -0
- /package/src/hooks/useGenerateNumberArray/{index.js → index.ts} +0 -0
- /package/src/hooks/useGetFoodRecomended/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useGetMinPrice/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useGetOneStoreRating/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useGoogleLogin/{loadScript.js → loadScript.ts} +0 -0
- /package/src/hooks/useGoogleLogin/{removeScript.js → removeScript.ts} +0 -0
- /package/src/hooks/useInnerHtml/{index.js → index.ts} +0 -0
- /package/src/hooks/useKeypress/{index.js → index.ts} +0 -0
- /package/src/hooks/useLocationNavigate/{index.js → index.ts} +0 -0
- /package/src/{security/index.js → hooks/useManageNewOrder/helpers/mock.ts} +0 -0
- /package/src/hooks/useMutateHeight/{index.js → index.ts} +0 -0
- /package/src/hooks/useOrderClient/{index.js → index.ts} +0 -0
- /package/src/hooks/useProviders/{index.js → index.ts} +0 -0
- /package/src/hooks/useProviders/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useProvidersStore/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useReactToPrint/{index.js → index.txt} +0 -0
- /package/src/hooks/useSaveAvailableProduct/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useSchedule/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useScroll/{index.js → index.ts} +0 -0
- /package/src/hooks/useScrollRotate/{index.js → index.ts} +0 -0
- /package/src/hooks/useSetState/{index.js → index.ts} +0 -0
- /package/src/hooks/useStatusOrdersClient/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useStoreCalendar/{index.js → index.ts} +0 -0
- /package/src/hooks/useStoreContacts/{queries.js → queries.ts} +0 -0
- /package/src/mock/dessert/{index.js → index.ts} +0 -0
- /package/src/mock/{index.js → index.ts} +0 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
import { days as NameDays } from '../../utils'
|
|
4
|
+
import { convertToMilitaryTime } from '../convertToMilitaryTime'
|
|
5
|
+
import { useSchedules, useCreateSchedules } from '../useSchedule'
|
|
6
|
+
import { GET_ONE_SCHEDULE_STORE, GET_SCHEDULE_STORE } from '../useSchedule/queries'
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
dateEnum,
|
|
10
|
+
initialDays,
|
|
11
|
+
timeSuggestions
|
|
12
|
+
} from './helpers'
|
|
13
|
+
export * from './helpers/index'
|
|
14
|
+
|
|
15
|
+
export const useSetupSchedule = ({
|
|
16
|
+
idStore = null, sendNotification = (args) => {
|
|
17
|
+
return args
|
|
18
|
+
}
|
|
19
|
+
} = {}) => {
|
|
20
|
+
const [days, setDays] = useState(initialDays === null ? [] : initialDays)
|
|
21
|
+
const [alertModal, setAlertModal] = useState(false)
|
|
22
|
+
const [selectedDay, setSelectedDay] = useState({})
|
|
23
|
+
const [setStoreSchedule] = useCreateSchedules()
|
|
24
|
+
|
|
25
|
+
const onCompleted = (data: any) => {
|
|
26
|
+
if (Array.isArray(data) && data?.length > 0) {
|
|
27
|
+
// Mapeamos los datos recibidos y los convertimos en un objeto con la estructura deseada
|
|
28
|
+
const newSchedules = data.map((day) => {return {
|
|
29
|
+
day: day.schDay,
|
|
30
|
+
name: NameDays[day.schDay],
|
|
31
|
+
selected: day.schHoEnd !== '00:00' || day.schHoSta !== '00:00',
|
|
32
|
+
...day
|
|
33
|
+
}})
|
|
34
|
+
|
|
35
|
+
// Actualizamos el estado days
|
|
36
|
+
setDays(prevDays => {
|
|
37
|
+
// Creamos un nuevo array combinando los elementos existentes en days con los nuevos datos
|
|
38
|
+
const updatedDays = prevDays?.map(existingDay => {
|
|
39
|
+
// Buscamos si hay un elemento con el mismo día en los nuevos datos
|
|
40
|
+
const newData = newSchedules.find(newDay => {return newDay.day === existingDay.day})
|
|
41
|
+
// Si encontramos el día en los nuevos datos, lo fusionamos con el día existente
|
|
42
|
+
if (newData) {
|
|
43
|
+
return { ...existingDay, ...newData }
|
|
44
|
+
}
|
|
45
|
+
// Si no encontramos el día en los nuevos datos, simplemente devolvemos el día existente
|
|
46
|
+
return existingDay
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
// Ahora, buscamos los nuevos días que no están en days y los agregamos al array
|
|
50
|
+
newSchedules.forEach(newDay => {
|
|
51
|
+
if (!updatedDays.some(existingDay => {return existingDay.day === newDay.day})) {
|
|
52
|
+
updatedDays.push(newDay)
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
// Devolvemos el nuevo array actualizado
|
|
57
|
+
return updatedDays
|
|
58
|
+
})
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const [data, { loading: lsc }] = useSchedules({ schDay: 1 })
|
|
63
|
+
|
|
64
|
+
const toggleCheck = (index) => {
|
|
65
|
+
const updatedDays = [...days]
|
|
66
|
+
updatedDays[index].checked = !updatedDays[index].checked
|
|
67
|
+
setDays(updatedDays)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const duplicateDay = (index) => {
|
|
71
|
+
const selectedDay = days[index]
|
|
72
|
+
// Lógica para desplegar el modal y seleccionar los días donde se replicará
|
|
73
|
+
const selectedDaysToDuplicate = days.filter((day) => {return day.checked})
|
|
74
|
+
const updatedDays = [...days]
|
|
75
|
+
selectedDaysToDuplicate.forEach((dayToDuplicate) => {
|
|
76
|
+
const duplicatedDay = { ...selectedDay, checked: false }
|
|
77
|
+
updatedDays.push(duplicatedDay)
|
|
78
|
+
})
|
|
79
|
+
setDays(updatedDays)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const handleSelectedDay = (day) => {
|
|
83
|
+
const isSaved = days.find((data) => {
|
|
84
|
+
return data.day === day
|
|
85
|
+
})
|
|
86
|
+
if (isSaved?.schId && isSaved?.selected) {
|
|
87
|
+
setSelectedDay(isSaved)
|
|
88
|
+
return setAlertModal(true)
|
|
89
|
+
}
|
|
90
|
+
const updatedDays = days?.map((d) => {
|
|
91
|
+
if (d.day === day) {
|
|
92
|
+
return { ...d, selected: !d.selected }
|
|
93
|
+
}
|
|
94
|
+
return { ...d }
|
|
95
|
+
|
|
96
|
+
})
|
|
97
|
+
setDays(updatedDays)
|
|
98
|
+
}
|
|
99
|
+
const selectedDays = days?.filter((day) => {return Boolean(day.selected)}).map((day) => {
|
|
100
|
+
return day.day
|
|
101
|
+
})
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @param hora1
|
|
105
|
+
* @param hora2
|
|
106
|
+
*/
|
|
107
|
+
function sumHours (hora1, hora2) {
|
|
108
|
+
const [hora1Horas, hora1Minutos] = hora1.split(':').map(Number)
|
|
109
|
+
const [hora2Horas, hora2Minutos] = hora2.split(':').map(Number)
|
|
110
|
+
|
|
111
|
+
let sumaHour = hora1Horas + hora2Horas
|
|
112
|
+
let sumMinutes = hora1Minutos + hora2Minutos
|
|
113
|
+
|
|
114
|
+
if (sumMinutes >= 60) {
|
|
115
|
+
sumMinutes -= 60
|
|
116
|
+
sumaHour++
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (sumaHour >= 24) {
|
|
120
|
+
sumaHour -= 24
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const horaSumada = `${String(sumaHour).padStart(2, '0')}:${String(sumMinutes).padStart(2, '0')}`
|
|
124
|
+
return horaSumada
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @param hora1
|
|
129
|
+
* @param hora2
|
|
130
|
+
*/
|
|
131
|
+
function isLessThanOneHour (hora1, hora2) {
|
|
132
|
+
const suma = sumHours(hora1, hora2)
|
|
133
|
+
const [sumaHour, sumMinutes] = suma.split(':').map(Number)
|
|
134
|
+
const totalMinutos = (sumaHour * 60) + sumMinutes
|
|
135
|
+
|
|
136
|
+
if (totalMinutos < 60) {
|
|
137
|
+
return true // La suma de las horas es menor a una hora
|
|
138
|
+
}
|
|
139
|
+
return false // La suma de las horas es igual o mayor a una hora
|
|
140
|
+
}
|
|
141
|
+
const onChangeSaveHour = async ({ time, name, day }) => {
|
|
142
|
+
setDays(prevDays => {
|
|
143
|
+
const updatedDays = prevDays?.map((d) => {
|
|
144
|
+
if (d.day === day) {
|
|
145
|
+
return { ...d, [name]: time, loading: Boolean(name === dateEnum.schHoEnd) }
|
|
146
|
+
}
|
|
147
|
+
return { ...d }
|
|
148
|
+
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
if (name === dateEnum.schHoEnd) {
|
|
152
|
+
const findHour = updatedDays.find((d) => {
|
|
153
|
+
return d.day === day
|
|
154
|
+
})
|
|
155
|
+
const schHoSta = findHour?.schHoSta
|
|
156
|
+
const schHoEnd = findHour?.schHoEnd
|
|
157
|
+
const startHour = convertToMilitaryTime(schHoSta)
|
|
158
|
+
const endHour = convertToMilitaryTime(schHoEnd)
|
|
159
|
+
if (isLessThanOneHour(startHour, endHour)) {
|
|
160
|
+
|
|
161
|
+
sendNotification({
|
|
162
|
+
description: 'Error, el horario debe ser mayor a una hora',
|
|
163
|
+
title: 'Error',
|
|
164
|
+
backgroundColor: 'error'
|
|
165
|
+
})
|
|
166
|
+
}
|
|
167
|
+
// Comparar solo las horas y minutos
|
|
168
|
+
if (startHour === endHour) {
|
|
169
|
+
|
|
170
|
+
sendNotification({
|
|
171
|
+
description: 'Error, la hora de salida no debe ser igual a la hora final',
|
|
172
|
+
title: 'Error',
|
|
173
|
+
backgroundColor: 'error'
|
|
174
|
+
})
|
|
175
|
+
}
|
|
176
|
+
if (startHour > endHour) {
|
|
177
|
+
|
|
178
|
+
sendNotification({
|
|
179
|
+
description: 'Error, la hora de salida debe ser mayor que la de entrada',
|
|
180
|
+
title: 'Error',
|
|
181
|
+
backgroundColor: 'error'
|
|
182
|
+
})
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (startHour !== endHour && startHour < endHour && !isLessThanOneHour(startHour, endHour)) {
|
|
186
|
+
setStoreSchedule({
|
|
187
|
+
variables: {
|
|
188
|
+
input: {
|
|
189
|
+
schHoSta: schHoSta ?? '00:00',
|
|
190
|
+
schHoEnd: schHoEnd ?? '00:00',
|
|
191
|
+
schState: 1,
|
|
192
|
+
schDay: day
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
update (cache) {
|
|
196
|
+
cache.modify({
|
|
197
|
+
fields: {
|
|
198
|
+
getStoreSchedules (dataOld = []) {
|
|
199
|
+
return cache.writeQuery({ query: GET_SCHEDULE_STORE, data: dataOld })
|
|
200
|
+
},
|
|
201
|
+
getOneStoreSchedules (dataOld = []) {
|
|
202
|
+
return cache.writeQuery({ query: GET_ONE_SCHEDULE_STORE, data: dataOld })
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
})
|
|
208
|
+
}
|
|
209
|
+
const newUpdatedDays = updatedDays.map((d) => {
|
|
210
|
+
if (d.day === day) {
|
|
211
|
+
return { ...d, loading: false }
|
|
212
|
+
}
|
|
213
|
+
return { ...d }
|
|
214
|
+
|
|
215
|
+
})
|
|
216
|
+
// Devolver el nuevo estado actualizado
|
|
217
|
+
return newUpdatedDays
|
|
218
|
+
}
|
|
219
|
+
// Devolver el nuevo estado
|
|
220
|
+
return updatedDays
|
|
221
|
+
})
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const handleDeleteSchedule = async (day) => {
|
|
225
|
+
await setStoreSchedule({
|
|
226
|
+
variables: {
|
|
227
|
+
input: {
|
|
228
|
+
schHoSta: '00:00',
|
|
229
|
+
schHoEnd: '00:00',
|
|
230
|
+
schState: 1,
|
|
231
|
+
schDay: day,
|
|
232
|
+
idStore
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
update (cache) {
|
|
236
|
+
cache.modify({
|
|
237
|
+
fields: {
|
|
238
|
+
getStoreSchedules (dataOld = []) {
|
|
239
|
+
return cache.writeQuery({ query: GET_SCHEDULE_STORE, data: dataOld })
|
|
240
|
+
},
|
|
241
|
+
getOneStoreSchedules (dataOld = []) {
|
|
242
|
+
return cache.writeQuery({ query: GET_ONE_SCHEDULE_STORE, data: dataOld })
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
})
|
|
246
|
+
}
|
|
247
|
+
})
|
|
248
|
+
setDays(prevDays => {
|
|
249
|
+
if (!prevDays) return []
|
|
250
|
+
const updatedDays = prevDays?.map((d) => {
|
|
251
|
+
if (d.day === day) {
|
|
252
|
+
return {
|
|
253
|
+
...d,
|
|
254
|
+
[dateEnum.schHoEnd]: dateEnum?.schHoEnd,
|
|
255
|
+
[dateEnum.schHoSta]: dateEnum?.schHoSta,
|
|
256
|
+
selected: false
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return { ...d }
|
|
260
|
+
|
|
261
|
+
})
|
|
262
|
+
return updatedDays
|
|
263
|
+
})
|
|
264
|
+
setAlertModal(false)
|
|
265
|
+
}
|
|
266
|
+
useEffect(() => {
|
|
267
|
+
onCompleted(data)
|
|
268
|
+
}, [data])
|
|
269
|
+
|
|
270
|
+
return {
|
|
271
|
+
duplicateDay,
|
|
272
|
+
toggleCheck,
|
|
273
|
+
handleSelectedDay,
|
|
274
|
+
onChangeSaveHour,
|
|
275
|
+
handleDeleteSchedule,
|
|
276
|
+
setAlertModal,
|
|
277
|
+
days,
|
|
278
|
+
selectedDays,
|
|
279
|
+
selectedDay,
|
|
280
|
+
alertModal,
|
|
281
|
+
loading: lsc,
|
|
282
|
+
times: timeSuggestions
|
|
283
|
+
}
|
|
284
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export const getDayFromOpeningKey = (key) => {
|
|
2
|
+
const days = {
|
|
3
|
+
openingSun: 0,
|
|
4
|
+
openingMon: 1,
|
|
5
|
+
openingTue: 2,
|
|
6
|
+
openingWed: 3,
|
|
7
|
+
openingThu: 4,
|
|
8
|
+
openingFri: 5,
|
|
9
|
+
openingSat: 6
|
|
10
|
+
}
|
|
11
|
+
return days[key] !== undefined ? days[key] : -1
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Función para convertir el objeto de tiempo en una cadena de tiempo
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param timeStr
|
|
18
|
+
*/
|
|
19
|
+
export function getTimeString (timeStr) {
|
|
20
|
+
return timeStr || '00:00' // Return '00:00' for empty time strings
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
export function getCurrentDayAndTime () {
|
|
27
|
+
try {
|
|
28
|
+
const date = new Date()
|
|
29
|
+
const currentTime = date.getHours() * 60 + date.getMinutes()
|
|
30
|
+
const currentDayOfWeek = date.getDay()
|
|
31
|
+
return { currentTime, currentDayOfWeek }
|
|
32
|
+
} catch (error) {
|
|
33
|
+
return {
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param timeStr
|
|
42
|
+
*/
|
|
43
|
+
export function getTimeObject (timeStr) {
|
|
44
|
+
try {
|
|
45
|
+
if (!timeStr || !/\d{2}:\d{2}/.test(timeStr)) {
|
|
46
|
+
return { hours: 0, minutes: 0 } // Return default values for invalid input
|
|
47
|
+
}
|
|
48
|
+
const [hours, minutes] = timeStr.split(':').map(str => {return parseInt(str)})
|
|
49
|
+
return { hours, minutes }
|
|
50
|
+
} catch (e) {
|
|
51
|
+
return { hours: 0, minutes: 0 } // Return default values on error
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @param openings
|
|
58
|
+
*/
|
|
59
|
+
export function sortOpeningsByDay (openings) {
|
|
60
|
+
const days = [
|
|
61
|
+
'openingSun',
|
|
62
|
+
'openingMon',
|
|
63
|
+
'openingTue',
|
|
64
|
+
'openingWed',
|
|
65
|
+
'openingThu',
|
|
66
|
+
'openingFri',
|
|
67
|
+
'openingSat'
|
|
68
|
+
]
|
|
69
|
+
const sortedOpenings = {}
|
|
70
|
+
|
|
71
|
+
days.forEach((day) => {
|
|
72
|
+
sortedOpenings[day] = openings[day] || '00:00 - 00:00' // Agregar horario vacío para los días faltantes
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
return sortedOpenings
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Función para obtener la clave de openings a partir del día de la semana
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @param day
|
|
82
|
+
*/
|
|
83
|
+
export function getOpeningKeyFromDay (day) {
|
|
84
|
+
const days = {
|
|
85
|
+
0: 'openingSun',
|
|
86
|
+
1: 'openingMon',
|
|
87
|
+
2: 'openingTue',
|
|
88
|
+
3: 'openingWed',
|
|
89
|
+
4: 'openingThu',
|
|
90
|
+
5: 'openingFri',
|
|
91
|
+
6: 'openingSat'
|
|
92
|
+
}
|
|
93
|
+
return days[day]
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export const weekDays = [
|
|
97
|
+
'Domingo',
|
|
98
|
+
'Lunes',
|
|
99
|
+
'Martes',
|
|
100
|
+
'Miércoles',
|
|
101
|
+
'Jueves',
|
|
102
|
+
'Viernes',
|
|
103
|
+
'Sábado'
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
*
|
|
108
|
+
* @param text
|
|
109
|
+
*/
|
|
110
|
+
export function timeToInt (text) {
|
|
111
|
+
const hour = parseInt(text.substring(0, 2))
|
|
112
|
+
const minute = parseInt(text.substring(3))
|
|
113
|
+
return hour * 60 + minute
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export const days = {
|
|
117
|
+
Monday: 'Lunes',
|
|
118
|
+
Tuesday: 'Martes',
|
|
119
|
+
Wednesday: 'Miércoles',
|
|
120
|
+
Thursday: 'Jueves',
|
|
121
|
+
Friday: 'Viernes',
|
|
122
|
+
Saturday: 'Sábado',
|
|
123
|
+
Sunday: 'Domingo'
|
|
124
|
+
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react'
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
import { useFormatDate } from '../useFormatDate'
|
|
4
|
+
|
|
2
5
|
import {
|
|
3
6
|
getDayFromOpeningKey,
|
|
4
7
|
getCurrentDayAndTime,
|
|
@@ -10,18 +13,24 @@ import {
|
|
|
10
13
|
days,
|
|
11
14
|
getTimeObject
|
|
12
15
|
} from './helpers'
|
|
13
|
-
import { useFormatDate } from '../useFormatDate'
|
|
14
16
|
|
|
15
17
|
export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
16
18
|
const [open, setOpen] = useState('')
|
|
17
19
|
const [openNow, setOpenNow] = useState(false)
|
|
18
|
-
const { handleHourPmAM } = useFormatDate({
|
|
20
|
+
const { handleHourPmAM } = useFormatDate({
|
|
21
|
+
date: null
|
|
22
|
+
})
|
|
19
23
|
|
|
20
24
|
const handleMessageHour = (message, open) => {
|
|
21
25
|
setOpen(message)
|
|
22
26
|
setOpenNow(open)
|
|
23
27
|
}
|
|
24
28
|
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param dataSchedules
|
|
32
|
+
* @param currentDayOfWeek
|
|
33
|
+
*/
|
|
25
34
|
function getNextDaySchedule (dataSchedules, currentDayOfWeek) {
|
|
26
35
|
const today = new Date()
|
|
27
36
|
const tomorrow = new Date(today)
|
|
@@ -29,16 +38,22 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
29
38
|
const dayOfWeekTomorrow = tomorrow.getDay()
|
|
30
39
|
|
|
31
40
|
const findNextDay = dataSchedules?.length
|
|
32
|
-
? dataSchedules?.some((schedule) => schedule?.schDay === dayOfWeekTomorrow)
|
|
41
|
+
? dataSchedules?.some((schedule) => {return schedule?.schDay === dayOfWeekTomorrow})
|
|
33
42
|
: false
|
|
34
43
|
|
|
35
44
|
const findDataNextDay = dataSchedules?.length
|
|
36
|
-
? dataSchedules?.find((schedule) => schedule?.schDay === dayOfWeekTomorrow)
|
|
45
|
+
? dataSchedules?.find((schedule) => {return schedule?.schDay === dayOfWeekTomorrow})
|
|
37
46
|
: {}
|
|
38
47
|
|
|
39
48
|
return { findNextDay, findDataNextDay, dayOfWeekTomorrow }
|
|
40
49
|
}
|
|
41
50
|
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param openings
|
|
54
|
+
* @param currentTime
|
|
55
|
+
* @param currentDayOfWeek
|
|
56
|
+
*/
|
|
42
57
|
function getOpeningStatus (openings, currentTime, currentDayOfWeek) {
|
|
43
58
|
const weekDayLookup = [
|
|
44
59
|
'Sunday',
|
|
@@ -56,10 +71,10 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
56
71
|
for (let i = 0; i < 7; i++) {
|
|
57
72
|
const dayName = weekDayLookup[dayOfWeek % 7]
|
|
58
73
|
const opening = openings && openings['opening' + dayName.substring(0, 3)]
|
|
59
|
-
const timeSpans = opening?.split(';').map((item) => item.trim())
|
|
74
|
+
const timeSpans = opening?.split(';').map((item) => {return item.trim()})
|
|
60
75
|
|
|
61
76
|
for (const span of timeSpans) {
|
|
62
|
-
const hours = span.split('-').map((item) => item.trim())
|
|
77
|
+
const hours = span.split('-').map((item) => {return item.trim()})
|
|
63
78
|
const openTime = timeToInt(hours[0])
|
|
64
79
|
const closeTime = timeToInt(hours[1])
|
|
65
80
|
|
|
@@ -84,7 +99,11 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
84
99
|
)
|
|
85
100
|
}
|
|
86
101
|
|
|
87
|
-
const {
|
|
102
|
+
const {
|
|
103
|
+
findNextDay,
|
|
104
|
+
findDataNextDay,
|
|
105
|
+
dayOfWeekTomorrow
|
|
106
|
+
} = getNextDaySchedule(
|
|
88
107
|
dataSchedules,
|
|
89
108
|
currentDayOfWeek
|
|
90
109
|
)
|
|
@@ -92,16 +111,16 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
92
111
|
if (findNextDay && findDataNextDay?.schHoSta) {
|
|
93
112
|
const nameOfDayTomorrow = weekDays[dayOfWeekTomorrow]
|
|
94
113
|
return handleMessageHour(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
114
|
+
`Cerrado abre Mañana ${nameOfDayTomorrow} ${Boolean(findDataNextDay?.schHoSta) && 'a las'} ${
|
|
115
|
+
handleHourPmAM(findDataNextDay?.schHoSta) ?? ''
|
|
116
|
+
}`,
|
|
117
|
+
false
|
|
99
118
|
)
|
|
100
119
|
}
|
|
101
120
|
|
|
102
121
|
const nextDayName = weekDayLookup[(dayOfWeek + 1) % 7]
|
|
103
|
-
const nextOpening = openings
|
|
104
|
-
const nextHours = nextOpening?.split(';')?.map((item) => item?.trim())
|
|
122
|
+
const nextOpening = openings?.['opening' + nextDayName.substring(0, 3)]
|
|
123
|
+
const nextHours = nextOpening?.split(';')?.map((item) => {return item?.trim()})
|
|
105
124
|
|
|
106
125
|
if (nextHours[0] !== ceroHours) {
|
|
107
126
|
return handleMessageHour(
|
|
@@ -117,6 +136,10 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
117
136
|
return handleMessageHour('Cerrado', false)
|
|
118
137
|
}
|
|
119
138
|
|
|
139
|
+
/**
|
|
140
|
+
*
|
|
141
|
+
* @param openings
|
|
142
|
+
*/
|
|
120
143
|
function getIsOpening (openings) {
|
|
121
144
|
const { currentTime, currentDayOfWeek } = getCurrentDayAndTime()
|
|
122
145
|
return getOpeningStatus(openings, currentTime, currentDayOfWeek)
|
|
@@ -147,10 +170,10 @@ export const useStatusOpenStore = ({ dataSchedules = [] } = {}) => {
|
|
|
147
170
|
const sortedOpenings = sortOpeningsByDay(openings)
|
|
148
171
|
|
|
149
172
|
// Crear el array completo con objetos de tiempo
|
|
150
|
-
|
|
173
|
+
|
|
151
174
|
const fullArray = Object.keys(sortedOpenings).map((key) => {
|
|
152
175
|
const day = getDayFromOpeningKey(key)
|
|
153
|
-
const [schHoSta, schHoEnd] = openings[key].split(' - ').map(timeStr => getTimeObject(timeStr))
|
|
176
|
+
const [schHoSta, schHoEnd] = openings[key].split(' - ').map(timeStr => {return getTimeObject(timeStr)})
|
|
154
177
|
return {
|
|
155
178
|
__typename: 'StoreSchedule',
|
|
156
179
|
schId: '',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { useQuery } from '@apollo/client'
|
|
2
|
-
|
|
1
|
+
import { useQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
3
|
import { filterOrders } from './helpers'
|
|
4
|
+
import { GET_ALL_PEDIDOS_STATUS } from './queries'
|
|
4
5
|
|
|
5
6
|
export const useStatusOrdersClient = () => {
|
|
6
7
|
const { data, loading, error } = useQuery(GET_ALL_PEDIDOS_STATUS, {
|
|
@@ -6,7 +6,7 @@ export const GET_ALL_PEDIDOS_STATUS = gql`
|
|
|
6
6
|
pdpId
|
|
7
7
|
idStore
|
|
8
8
|
pCodeRef
|
|
9
|
-
|
|
9
|
+
payId
|
|
10
10
|
pPRecoger
|
|
11
11
|
totalProductsPrice
|
|
12
12
|
pSState
|
|
@@ -48,7 +48,7 @@ export const GET_ALL_PEDIDOS_STATUS = gql`
|
|
|
48
48
|
ShoppingCard
|
|
49
49
|
pCodeRef
|
|
50
50
|
pPStateP
|
|
51
|
-
|
|
51
|
+
payId
|
|
52
52
|
pPRecoger
|
|
53
53
|
pDatCre
|
|
54
54
|
pDatMod
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useStockUpdatedAllSubscription } from './useStockUpdatedAllSubscription'
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
import { useSubscription, gql } from '@apollo/client'
|
|
3
|
+
|
|
4
|
+
const NEW_STORE_ORDER_SUBSCRIPTION = gql`
|
|
5
|
+
subscription StockUpdatedAll($idStore: String) {
|
|
6
|
+
StockUpdatedAll(idStore: $idStore) {
|
|
7
|
+
pId
|
|
8
|
+
newStock
|
|
9
|
+
previousStock
|
|
10
|
+
event
|
|
11
|
+
meta
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
`
|
|
15
|
+
|
|
16
|
+
interface StockUpdatedAllData {
|
|
17
|
+
StockUpdatedAll: {
|
|
18
|
+
pId: string
|
|
19
|
+
newStock: number
|
|
20
|
+
previousStock: number
|
|
21
|
+
event: string
|
|
22
|
+
meta: any
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const useStockUpdatedAllSubscription = (
|
|
27
|
+
idStore: string,
|
|
28
|
+
onStockUpdated: (data: StockUpdatedAllData['StockUpdatedAll']) => void
|
|
29
|
+
) => {
|
|
30
|
+
return useSubscription<StockUpdatedAllData>(NEW_STORE_ORDER_SUBSCRIPTION, {
|
|
31
|
+
variables: { idStore },
|
|
32
|
+
skip: !idStore,
|
|
33
|
+
onSubscriptionData: ({ subscriptionData }) => {
|
|
34
|
+
const data = subscriptionData.data?.StockUpdatedAll
|
|
35
|
+
if (!data) return
|
|
36
|
+
onStockUpdated(data)
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
}
|
|
40
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const fillMissingDates = (data, days = 7) => {
|
|
2
|
+
const today = new Date()
|
|
3
|
+
const filledData = []
|
|
4
|
+
|
|
5
|
+
for (let i = days - 1; i >= 0; i--) {
|
|
6
|
+
const date = new Date()
|
|
7
|
+
date.setDate(today.getDate() - i)
|
|
8
|
+
|
|
9
|
+
const formattedDate = date.toISOString().split('T')[0] // "YYYY-MM-DD"
|
|
10
|
+
const existingData = data.find(item => {return item.date === formattedDate})
|
|
11
|
+
|
|
12
|
+
filledData.push(existingData || { date: formattedDate, TotalIn: 0, TotalOut: 0, TotalAdjustment: 0 })
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return filledData
|
|
16
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useQuery, gql } from '@apollo/client'
|
|
2
|
+
import { useState, useEffect } from 'react'
|
|
3
|
+
|
|
4
|
+
import { fillMissingDates } from './helpers'
|
|
5
|
+
|
|
6
|
+
const GET_STOCK_MOVEMENTS = gql`
|
|
7
|
+
query {
|
|
8
|
+
getStockMovementsByDay {
|
|
9
|
+
date
|
|
10
|
+
total_in,
|
|
11
|
+
total_adjustment
|
|
12
|
+
total_out
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
`
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Custom hook to fetch stock movements data for visualization.
|
|
19
|
+
* @returns {Object} { data, loading, error }
|
|
20
|
+
*/
|
|
21
|
+
export const useStockMovements = () => {
|
|
22
|
+
const { data, loading, error } = useQuery(GET_STOCK_MOVEMENTS)
|
|
23
|
+
const [chartData, setChartData] = useState([])
|
|
24
|
+
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (data && data.getStockMovementsByDay) {
|
|
27
|
+
// Transform data to be compatible with Recharts
|
|
28
|
+
const formattedData = data.getStockMovementsByDay.map(entry => {return {
|
|
29
|
+
date: entry.date,
|
|
30
|
+
TotalIn: entry.total_in ?? 0,
|
|
31
|
+
TotalOut: entry.total_out ?? 0,
|
|
32
|
+
TotalAdjustment: entry.total_adjustment ?? 0
|
|
33
|
+
}})
|
|
34
|
+
setChartData(formattedData)
|
|
35
|
+
}
|
|
36
|
+
}, [data])
|
|
37
|
+
|
|
38
|
+
return [fillMissingDates(chartData), { loading, error }]
|
|
39
|
+
}
|