npm-pkg-hook 1.12.4 → 1.12.8
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/dist/index.js +57529 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +57315 -0
- package/dist/index.mjs.map +1 -0
- package/eslint.config.mts +153 -0
- package/package.json +30 -45
- package/src/config/client/errors.ts +39 -0
- package/src/hooks/addTenMinutes/{index.js → index.ts} +4 -4
- package/src/hooks/calculateLogLatHaversine/{index.js → index.ts} +15 -4
- package/src/hooks/completeSchedules/{index.js → index.ts} +4 -4
- package/src/hooks/convertToMilitaryTime/index.ts +18 -0
- package/src/hooks/generateStoreURL/index.ts +41 -0
- package/src/hooks/generateTemplate/{index.js → index.ts} +15 -11
- package/src/hooks/getCardType/{index.js → index.ts} +1 -1
- 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.js → index.ts} +18 -12
- package/src/hooks/getTotalHours/index.ts +76 -0
- package/src/hooks/handleLogin/{index.js → index.ts} +4 -0
- package/src/hooks/index.ts +8 -2
- package/src/hooks/statusOpenStores/helpers/{index.js → index.ts} +24 -1
- package/src/hooks/statusOpenStores/index.ts +221 -0
- package/src/hooks/updateExtProductFoodsOptional/{index.js → index.ts} +12 -3
- package/src/hooks/useAcumulateDate/index.ts +18 -0
- package/src/hooks/useAllStoresPendingToRegister/{index.js → index.ts} +3 -0
- package/src/hooks/useAmountInput/index.ts +42 -32
- package/src/hooks/useAnimationText/{index.jsx → index.ts} +2 -2
- package/src/hooks/useAsideCart/{index.js → index.ts} +22 -19
- package/src/hooks/useBanner/{index.js → index.ts} +2 -1
- package/src/hooks/useCart/useCart/helpers/{index.js → index.ts} +10 -6
- package/src/hooks/useCart/useCart/{index.js → index.ts} +29 -17
- package/src/hooks/useCart/useGetCart/{index.js → index.ts} +2 -1
- package/src/hooks/useCatWithProduct/{index.js → index.ts} +11 -5
- package/src/hooks/useCatWithProduct/types/index.ts +104 -0
- package/src/hooks/useCatWithProductClient/{index.js → index.ts} +3 -2
- package/src/hooks/useCategoriesProduct/{index.js → index.ts} +2 -1
- package/src/hooks/useCategoryInStore/index.ts +167 -0
- package/src/hooks/useCategoryStore/{index.js → index.ts} +2 -1
- package/src/hooks/useCategoryStore/{queries.js → queries.ts} +2 -2
- package/src/hooks/useChartData/{index.js → index.ts} +9 -8
- package/src/hooks/useChartData/useChartData/{index.js → index.ts} +31 -30
- package/src/hooks/useChartData/useChartDataAllOrders/{index.js → index.ts} +2 -2
- package/src/hooks/useCheckbox/{index.js → index.ts} +1 -1
- package/src/hooks/useCities/{index.js → index.ts} +2 -1
- package/src/hooks/useClients/{index.js → index.ts} +2 -1
- package/src/hooks/useClients/{queries.js → queries.ts} +7 -4
- package/src/hooks/useColorByLetters/helpers/{alea.js → alea.ts} +19 -0
- package/src/hooks/useColorByLetters/helpers/{index.js → index.ts} +5 -1
- package/src/hooks/useColorByLetters/helpers/{mersenne_twister.js → mersenne_twister.ts} +1 -1
- package/src/hooks/useColorByLetters/{index.js → index.ts} +3 -6
- package/src/hooks/useConnection/{index.js → index.ts} +3 -3
- package/src/hooks/useCountries/{index.js → index.ts} +2 -1
- package/src/hooks/useCreateOrderStatusType/index.ts +8 -6
- package/src/hooks/useCreateProduct/helpers/{index.js → index.ts} +1 -1
- 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.js → index.ts} +22 -19
- package/src/hooks/useCreateStorePendingToRegister/{index.js → index.ts} +5 -1
- package/src/hooks/useDeleteExtraProductFoods/{index.js → index.ts} +2 -1
- package/src/hooks/useDeleteSubProductOptional/{index.js → index.ts} +5 -3
- package/src/hooks/useDeliveryTime/{index.js → index.ts} +3 -1
- package/src/hooks/useDepartments/{index.js → index.ts} +2 -1
- package/src/hooks/useDessert/{index.js → index.ts} +56 -52
- package/src/hooks/useDessertWithPrice/helpers/{index.js → index.ts} +4 -4
- package/src/hooks/useDessertWithPrice/{index.js → index.ts} +34 -26
- package/src/hooks/useDevWS/index.ts +43 -43
- package/src/hooks/useDevices/{useGetDevices.js → useGetDevices.ts} +3 -3
- package/src/hooks/useDevices/{useRegisterDevices.js → useRegisterDevices.ts} +5 -5
- package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +17 -17
- package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +4 -2
- package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +3 -2
- 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} +5 -5
- 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.js → index.ts} +2 -1
- package/src/hooks/useEmployee/{queries.js → queries.ts} +1 -1
- package/src/hooks/useEmployee/{useCreateEmployee.js → useCreateEmployee.ts} +6 -2
- package/src/hooks/useFavoriteStores/{index.js → index.ts} +5 -3
- package/src/hooks/useFetchMoreInteractions/index.jsx +26 -26
- package/src/hooks/useFilterConfigs/index.ts +173 -0
- package/src/hooks/useFingerprintjs/{index.js → index.ts} +29 -4
- package/src/hooks/useFormTools/{index.js → index.ts} +38 -11
- package/src/hooks/useFormatDate/{index.js → index.ts} +10 -5
- package/src/hooks/useFullScreenMode/{index.js → index.ts} +1 -5
- package/src/hooks/useGetAllLocationUser/{index.js → index.ts} +2 -1
- package/src/hooks/useGetAllLocationUser/{queries.js → queries.ts} +2 -2
- package/src/hooks/{useSales/useGetAllSales/index.js → useGetAllSales/index.ts} +3 -2
- package/src/hooks/useGetExtProductFoodsSubOptionalAll/{index.js → index.ts} +2 -1
- package/src/hooks/useGetFoodRecomended/{index.js → index.ts} +2 -1
- package/src/hooks/useGetMinPrice/{index.js → index.ts} +2 -1
- package/src/hooks/useGetOneStoreRating/{index.js → index.ts} +2 -1
- package/src/hooks/useGetStoreCookie/{index.js → index.ts} +1 -1
- 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 +25 -9
- package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +5 -4
- package/src/hooks/useImageUploaderProduct/index.ts +227 -224
- package/src/hooks/useImageWeight/{index.js → index.ts} +4 -0
- package/src/hooks/useImagesStore/{index.js → index.ts} +7 -5
- package/src/hooks/useImagesStore/{queries.js → queries.ts} +1 -1
- package/src/hooks/useIncomingOrders/{index.js → index.ts} +2 -1
- package/src/hooks/useIncomingOrders/{queries.js → queries.ts} +1 -1
- package/src/hooks/useIntersection/{index.js → index.ts} +1 -1
- package/src/hooks/useInventory/{queries.js → queries.ts} +2 -2
- package/src/hooks/useInventory/{useGetProductsInStock.js → useGetProductsInStock.ts} +2 -1
- package/src/hooks/useLazyScript/{index.js → index.ts} +3 -0
- package/src/hooks/useLocalSorage/{index.js → index.ts} +3 -3
- package/src/hooks/useLocationManager/{index.js → index.ts} +3 -3
- package/src/hooks/useLoginEmployeeInStore/{index.js → index.ts} +1 -1
- package/src/hooks/useLogout/helpers/BroadcastChannel.ts +74 -0
- package/src/hooks/useLogout/helpers/{apiBaseUrl.js → apiBaseUrl.ts} +4 -0
- package/src/hooks/useLogout/helpers/{fetchData.js → fetchData.ts} +10 -1
- package/src/hooks/useLogout/helpers/{getCsrfToken.js → getCsrfToken.ts} +8 -1
- package/src/hooks/useLogout/helpers/{index.js → index.ts} +14 -6
- package/src/hooks/useLogout/helpers/{logger.js → logger.ts} +26 -8
- package/src/hooks/useLogout/helpers/{parseUrl.js → parseUrl.ts} +5 -2
- package/src/hooks/useLogout/{index.js → index.ts} +29 -20
- package/src/hooks/useManageNewOrder/helpers/{index.js → index.ts} +1 -1
- package/src/hooks/useManageNewOrder/{index.js → index.ts} +6 -4
- package/src/hooks/useManageQueryParams/index.ts +120 -0
- package/src/hooks/useModules/helpers/{validateModules.js → validateModules.ts} +1 -1
- package/src/hooks/useModules/index.ts +124 -0
- package/src/hooks/useMouse/index.ts +23 -18
- package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +1 -1
- package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +7 -5
- package/src/hooks/useOrders/{queries.js → queries.ts} +30 -20
- package/src/hooks/useOrders/useChangeOrderState/index.ts +79 -76
- package/src/hooks/useOrders/useOrdersFromStore/index.ts +4 -3
- 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/usePrintSaleTicket/index.ts +4 -0
- package/src/hooks/useProductsFood/{index.js → index.ts} +115 -27
- package/src/hooks/useProductsFood/{queriesStore.js → queriesStore.ts} +1 -1
- package/src/hooks/useProductsFood/{useEditProduct.js → useEditProduct.ts} +2 -1
- package/src/hooks/useProductsFood/{usetagsProducts.js → usetagsProducts.ts} +6 -3
- 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.js → index.ts} +1 -1
- package/src/hooks/usePushNotifications/helpers/{index.js → index.ts} +9 -0
- package/src/hooks/usePushNotifications/{index.js → index.ts} +2 -1
- package/src/hooks/useQueryLocationsMap/{index.js → index.ts} +2 -1
- package/src/hooks/useRatingArrayData/{index.js → index.ts} +4 -4
- package/src/hooks/useRatingArrayData/{queries.js → queries.ts} +1 -1
- package/src/hooks/useRemoveExtraProductFoodsOptional/{index.js → index.ts} +2 -1
- package/src/hooks/useReport/{index.js → index.ts} +2 -1
- package/src/hooks/useReport/{queries.js → queries.ts} +2 -53
- package/src/hooks/useRestaurant/helpers/{index.js → index.ts} +4 -0
- package/src/hooks/useRestaurant/helpers/{manageStatusOpen.js → manageStatusOpen.ts} +1 -1
- package/src/hooks/useRestaurant/{index.js → index.ts} +5 -3
- package/src/hooks/useRoads/{index.js → index.ts} +2 -1
- package/src/hooks/useRoles/{queries.js → queries.ts} +1 -1
- package/src/hooks/useRoles/{useCreateRole.js → useCreateRole.ts} +4 -1
- package/src/hooks/useRoles/{useGetRoles.js → useGetRoles.ts} +2 -1
- 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.js → index.ts} +559 -522
- package/src/hooks/useSales/{queries.js → queries.ts} +187 -79
- 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.js → useGetSale.ts} +10 -2
- package/src/hooks/useSales/{useTotalSales.js → useTotalSales.ts} +2 -1
- package/src/hooks/useSaveAvailableProduct/helpers/{index.js → index.ts} +4 -4
- package/src/hooks/useSaveAvailableProduct/{index.js → index.ts} +2 -1
- package/src/hooks/useSaveLocation/{index.js → index.ts} +2 -1
- package/src/hooks/useSaveLocation/{queries.js → queries.ts} +1 -1
- package/src/hooks/useSchedule/{index.jsx → index.ts} +14 -1
- package/src/hooks/useSchedule/{index.js → schedule.ts} +2 -1
- package/src/hooks/useScheduleData/{index.js → index.ts} +21 -9
- package/src/hooks/useSetImageProducts/{index.js → index.ts} +4 -2
- package/src/hooks/useSetupSchedule/{index.js → index.ts} +40 -28
- package/src/hooks/useStatusOpenStore/helpers/{index.js → index.ts} +24 -1
- package/src/hooks/useStatusOpenStore/{index.js → index.ts} +30 -14
- 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.js → index.ts} +1 -1
- package/src/hooks/useStockMovements/{index.js → index.ts} +4 -3
- package/src/hooks/useStore/{index.js → index.ts} +30 -27
- package/src/hooks/useStoreContacts/{index.js → index.ts} +11 -5
- package/src/hooks/useStoreTable/{useStoreTableCreate.js → useStoreTableCreate.ts} +3 -2
- package/src/hooks/useStoreTable/{useStoreTables.js → useStoreTables.ts} +2 -1
- package/src/hooks/useSubscriptionValidation/index.ts +112 -0
- package/src/hooks/useTagProducts/useDeleteOneTag.ts +66 -66
- package/src/hooks/useTagProducts/useGetAllTags.ts +2 -2
- package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +27 -26
- package/src/hooks/useTheme/index.ts +65 -0
- package/src/hooks/useTimeAgo/{useTimeAgo.js → useTimeAgo.ts} +7 -7
- package/src/hooks/useTokenCards/{index.js → index.ts} +7 -3
- package/src/hooks/useUpdateCart/{index.js → index.ts} +3 -2
- package/src/hooks/useUpdateCartCookie/{index.js → index.ts} +23 -6
- package/src/hooks/useUpdateDashboardComponent/index.ts +11 -11
- package/src/hooks/useUpdateExtProductFoodsSubOptional/{index.js → index.ts} +2 -1
- package/src/hooks/useUpdateModuleOrder/{index.js → index.ts} +2 -2
- package/src/hooks/useUpdateMultipleExtProduct/{index.js → index.ts} +2 -1
- package/src/hooks/useUpdateMultipleProducts/{index.js → index.ts} +57 -20
- package/src/hooks/useUploadProducts/helpers/{parseNumber.js → parseNumber.ts} +3 -3
- package/src/hooks/useUploadProducts/{index.js → index.ts} +89 -69
- package/src/hooks/useUpsertGoal/{index.js → index.ts} +1 -1
- package/src/hooks/useUser/{index.js → index.ts} +5 -4
- package/src/hooks/useWeeklyStockMovement/helpers/{index.js → index.ts} +3 -3
- package/src/hooks/useWeeklyStockMovement/{index.js → index.ts} +4 -3
- package/src/hooks/useWindowSize/{index.js → index.ts} +9 -2
- package/src/index.ts +13 -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/{index.js → utils.ts} +69 -31
- package/tsconfig.eslint.json +16 -0
- package/tsconfig.json +18 -2
- package/tsup.config.ts +24 -0
- package/.eslintrc.js +0 -38
- package/.eslintrc.json +0 -127
- package/src/config/client/errors.js +0 -26
- package/src/hooks/convertToMilitaryTime/index.js +0 -14
- package/src/hooks/generateStoreURL/index.js +0 -38
- package/src/hooks/getGlobalSession/index.js +0 -49
- package/src/hooks/getSession/index.js +0 -18
- package/src/hooks/getTotalHours/index.js +0 -48
- package/src/hooks/statusOpenStores/index.js +0 -156
- package/src/hooks/useAcumulateDate/index.js +0 -16
- package/src/hooks/useCategoryInStore/index.js +0 -100
- package/src/hooks/useEditOneExtProductFoodOptional/index.js +0 -28
- package/src/hooks/useEditSubProductOptional/index.js +0 -11
- package/src/hooks/useLogout/helpers/BroadcastChannel.js +0 -31
- package/src/hooks/useManageQueryParams/index.js +0 -40
- package/src/hooks/useModules/index.js +0 -58
- package/src/hooks/useSales/helpers/index.js +0 -55
- package/src/hooks/useSubscriptionValidation/index.js +0 -41
- package/src/index.jsx +0 -9
- package/src/security/index.js +0 -1
- package/src/utils/UtilDateRange.js +0 -31
- /package/src/config/client/{index.js → index.ts} +0 -0
- /package/src/config/content/{index.js → index.ts} +0 -0
- /package/src/cookies/{index.js → index.ts} +0 -0
- /package/src/hooks/getCategoriesWithProduct/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/isTokenExpired/{index.js → index.ts} +0 -0
- /package/src/hooks/newMessageSubscription/{index.js → index.ts} +0 -0
- /package/src/hooks/newStoreOrderSubscription/{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/useCart/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCatWithProduct/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCatWithProductClient/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCategoriesProduct/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCategoryInStore/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useChatRoomSubscription/{index.js → index.ts} +0 -0
- /package/src/hooks/useCities/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useColorByLetters/helpers/{colors.js → colors.ts} +0 -0
- /package/src/hooks/useCountries/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useCreateDeliveryTime/{index.js → index.ts} +0 -0
- /package/src/hooks/useCreateStorePendingToRegister/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useDashboardComponents/{index.js → index.ts} +0 -0
- /package/src/hooks/useDeleteSubProductOptional/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useDepartments/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useDessert/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useDessertWithPrice/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useDevices/{index.js → index.ts} +0 -0
- /package/src/hooks/useDevices/{queries.js → queries.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/useEvent/{index.js → index.ts} +0 -0
- /package/src/hooks/useFavoriteStores/{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/useGetCookies/{index.js → index.ts} +0 -0
- /package/src/hooks/useGetFoodRecomended/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useGetMessagesToRoom/{index.js → index.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/useGetSalesAmountToday/{index.js → index.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/useImagesStore/utils/{index.js → index.ts} +0 -0
- /package/src/hooks/useInnerHtml/{index.js → index.ts} +0 -0
- /package/src/hooks/useInventory/{index.js → index.ts} +0 -0
- /package/src/hooks/useInventory/{useUpdateManageStock.js → useUpdateManageStock.ts} +0 -0
- /package/src/hooks/useKeypress/{index.js → index.ts} +0 -0
- /package/src/hooks/useLocalBackendIp/{index.js → index.ts} +0 -0
- /package/src/hooks/useLocationNavigate/{index.js → index.ts} +0 -0
- /package/src/hooks/useManageNewOrder/helpers/{mock.js → mock.ts} +0 -0
- /package/src/hooks/useMobile/{index.js → index.ts} +0 -0
- /package/src/hooks/useModules/helpers/{index.js → index.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/useOrders/{index.js → index.ts} +0 -0
- /package/src/hooks/usePWAInstall/{index.js → index.ts} +0 -0
- /package/src/{services/index.js → hooks/useProductsFood/types/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/useQueryLocationsMap/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useReactToPrint/{index.js → index.txt} +0 -0
- /package/src/hooks/useRemoveExtraProductFoodsOptional/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useRestaurant/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useRoads/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useRoles/{index.js → index.ts} +0 -0
- /package/src/hooks/useRoles/{useRemoveRoles.js → useRemoveRoles.ts} +0 -0
- /package/src/hooks/useRoles/{useUpdateRolesPriority.js → useUpdateRolesPriority.ts} +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/useSetImageProducts/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useSetSession/{index.js → index.ts} +0 -0
- /package/src/hooks/useSetState/{index.js → index.ts} +0 -0
- /package/src/hooks/useSetupSchedule/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useStatusOrdersClient/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useStore/{queries.js → queries.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/hooks/useStoreTable/{index.js → index.ts} +0 -0
- /package/src/hooks/useStoreTable/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useTopProductsMovements/{index.js → index.ts} +0 -0
- /package/src/hooks/useTotalAllSales/{index.js → index.ts} +0 -0
- /package/src/hooks/useTotalProductsInStock/{index.js → index.ts} +0 -0
- /package/src/hooks/useTotalProductsSold/{index.js → index.ts} +0 -0
- /package/src/hooks/useTotalProductsSolded/{index.js → index.ts} +0 -0
- /package/src/hooks/useUpdateExistingOrders/{index.js → index.ts} +0 -0
- /package/src/hooks/useUpdateMultipleExtProduct/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useUpdateMultipleProducts/{queries.js → queries.ts} +0 -0
- /package/src/hooks/useUploadProducts/helpers/{index.js → index.ts} +0 -0
- /package/src/hooks/useUploadProducts/helpers/{validateProductDataExcel.js → validateProductDataExcel.ts} +0 -0
- /package/src/hooks/useUser/{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,28 @@
|
|
|
1
|
+
import { useMutation } from '@apollo/client'
|
|
2
|
+
import { useState } from 'react'
|
|
3
|
+
|
|
4
|
+
import { UPDATE_EXT_PRODUCT_FOOD_OPTIONAL } from './queries'
|
|
5
|
+
export const useEditOneExtProductFoodOptional = () => {
|
|
6
|
+
const [updateExtProductFood] = useMutation(UPDATE_EXT_PRODUCT_FOOD_OPTIONAL)
|
|
7
|
+
const [loading, setLoading] = useState(false)
|
|
8
|
+
|
|
9
|
+
const updateOneExtraProductFood = async (input) => {
|
|
10
|
+
setLoading(true)
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
const { data } = await updateExtProductFood({
|
|
14
|
+
variables: { input }
|
|
15
|
+
})
|
|
16
|
+
console.log('Product food updated:', data.editExtProductFoodOptional)
|
|
17
|
+
setLoading(false)
|
|
18
|
+
} catch (error) {
|
|
19
|
+
console.error('Error updating product food:', error.message)
|
|
20
|
+
setLoading(false)
|
|
21
|
+
throw new Error('Error updating product food')
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
loading,
|
|
26
|
+
updateOneExtraProductFood
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { gql } from
|
|
1
|
+
import { gql } from '@apollo/client'
|
|
2
2
|
|
|
3
3
|
export const UPDATE_EXT_PRODUCT_FOOD_OPTIONAL = gql`
|
|
4
4
|
mutation editExtProductFoodOptional($input: EditExtProductFoodOptionalInput!) {
|
|
@@ -13,4 +13,4 @@ mutation editExtProductFoodOptional($input: EditExtProductFoodOptionalInput!) {
|
|
|
13
13
|
pDatMod
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
`
|
|
16
|
+
`
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useMutation } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { EDIT_EXTRA_SUB_OPTIONAL_PRODUCTS } from './queries'
|
|
4
|
+
|
|
5
|
+
export const useEditSubProductOptional = () => {
|
|
6
|
+
const [editExtFoodSubsOptional, {
|
|
7
|
+
loading,
|
|
8
|
+
error,
|
|
9
|
+
called
|
|
10
|
+
}] = useMutation(EDIT_EXTRA_SUB_OPTIONAL_PRODUCTS)
|
|
11
|
+
return [editExtFoodSubsOptional, { loading, error, called }]
|
|
12
|
+
}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { useMutation } from '@apollo/client'
|
|
2
|
-
import { useState } from 'react'
|
|
2
|
+
import { useState } from 'react'
|
|
3
|
+
|
|
3
4
|
import { CREATE_ONE_EMPLOYEE_STORE_AND_USER } from './queries'
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Custom hook to handle the createOneEmployeeStoreAndUser mutation.
|
|
7
8
|
*
|
|
8
|
-
* @param
|
|
9
|
+
* @param root0
|
|
9
10
|
* @param {Object}
|
|
11
|
+
* @param root0.sendNotification
|
|
12
|
+
* @param root0.onCompleted
|
|
13
|
+
* @param root0.onError
|
|
10
14
|
* @returns {{
|
|
11
15
|
* createEmployeeStoreAndUser: (input: IEmployeeStore) => Promise<void>,
|
|
12
16
|
* loading: boolean,
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { useQuery } from '@apollo/client'
|
|
2
|
-
|
|
1
|
+
import { useQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
3
|
import { filterAndSortByDate } from '../useRestaurant/helpers'
|
|
4
|
-
import { getStatusForStores } from '../useRestaurant/helpers/manageStatusOpen'
|
|
4
|
+
import { getStatusForStores } from '../useRestaurant/helpers/manageStatusOpen'
|
|
5
|
+
|
|
6
|
+
import { GET_ALL_FAV_STORE } from './queries'
|
|
5
7
|
|
|
6
8
|
export const useFavoriteStores = () => {
|
|
7
9
|
const {
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
import React, {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
useEffect,
|
|
3
|
+
useRef,
|
|
4
|
+
useState
|
|
5
5
|
} from 'react'
|
|
6
6
|
|
|
7
7
|
export const useFetchMoreInteractions = ({
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
render,
|
|
9
|
+
fetchMore = true,
|
|
10
|
+
callback = () => {}
|
|
11
11
|
}) => {
|
|
12
|
-
|
|
12
|
+
const loadingRef = useRef()
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const useOnScreen = ref => {
|
|
15
|
+
const [isIntersecting, setIsIntersecting] = useState(false)
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const observer = new IntersectionObserver(
|
|
18
|
+
([entry]) => {return setIsIntersecting(entry.isIntersecting)}
|
|
19
|
+
)
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (ref.current) observer.observe(ref.current)
|
|
23
|
+
// Remove the observer as soon as the component is unmounted
|
|
24
|
+
return () => { observer.disconnect() }
|
|
25
|
+
}, [ref, observer])
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
return isIntersecting
|
|
28
|
+
}
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
const isVisible = useOnScreen(loadingRef)
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (isVisible && fetchMore) callback()
|
|
34
|
+
}, [isVisible, callback, fetchMore])
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
return <div ref={loadingRef}>
|
|
37
|
+
{isVisible && fetchMore ? render || <div style={{ background: 'red' }} >Loading...{isVisible && 'lol'}</div> : <></>}
|
|
38
|
+
</div>
|
|
39
39
|
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// useFilterConfigs.ts
|
|
2
|
+
import { gql, useQuery } from '@apollo/client'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* GraphQL query: expects the backend to return a JSON (or custom scalar) containing filterTabs
|
|
6
|
+
*/
|
|
7
|
+
const GET_FILTER_CONFIGS = gql`
|
|
8
|
+
query GetFilterConfigs($idStore: String) {
|
|
9
|
+
filterConfigs(idStore: $idStore) {
|
|
10
|
+
id
|
|
11
|
+
idStore
|
|
12
|
+
filterTabs
|
|
13
|
+
active
|
|
14
|
+
priority
|
|
15
|
+
createdAt
|
|
16
|
+
updatedAt
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Type definitions matching DB/json structure
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @typedef {Object} FilterValue
|
|
27
|
+
* @property {string} [id]
|
|
28
|
+
* @property {string} description
|
|
29
|
+
* @property {number|string|null} [value]
|
|
30
|
+
* @property {string|null} [imageUrn]
|
|
31
|
+
*/
|
|
32
|
+
export type FilterValue = {
|
|
33
|
+
id?: string
|
|
34
|
+
description: string
|
|
35
|
+
value?: number | string | null
|
|
36
|
+
imageUrn?: string | null
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @typedef {Object} FilterGroup
|
|
41
|
+
* @property {string} id
|
|
42
|
+
* @property {string} description
|
|
43
|
+
* @property {string} displayType
|
|
44
|
+
* @property {FilterValue[]} values
|
|
45
|
+
*/
|
|
46
|
+
export type FilterGroup = {
|
|
47
|
+
id: string
|
|
48
|
+
description: string
|
|
49
|
+
displayType: string
|
|
50
|
+
values: FilterValue[]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @typedef {Object} FilterTab
|
|
55
|
+
* @property {string} id
|
|
56
|
+
* @property {string} name
|
|
57
|
+
* @property {FilterGroup[]} filterGroups
|
|
58
|
+
*/
|
|
59
|
+
export type FilterTab = {
|
|
60
|
+
id: string
|
|
61
|
+
name: string
|
|
62
|
+
filterGroups: FilterGroup[]
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @typedef {Object} FilterConfigRecord
|
|
67
|
+
* @property {string} id
|
|
68
|
+
* @property {string|null} idStore
|
|
69
|
+
* @property {FilterTab[]} filterTabs
|
|
70
|
+
* @property {boolean} active
|
|
71
|
+
* @property {number} priority
|
|
72
|
+
*/
|
|
73
|
+
export type FilterConfigRecord = {
|
|
74
|
+
id: string
|
|
75
|
+
idStore: string | null
|
|
76
|
+
filterTabs: FilterTab[]
|
|
77
|
+
active: boolean
|
|
78
|
+
priority: number
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Runtime guard to ensure shape is roughly correct
|
|
83
|
+
* @param anyData any
|
|
84
|
+
* @returns boolean
|
|
85
|
+
*/
|
|
86
|
+
const isFilterTabs = (anyData: any): any is FilterTab[] => {
|
|
87
|
+
if (!Array.isArray(anyData)) return false
|
|
88
|
+
for (const tab of anyData) {
|
|
89
|
+
if (typeof tab?.id !== 'string' || typeof tab?.name !== 'string') return false
|
|
90
|
+
if (!Array.isArray(tab.filterGroups)) return false
|
|
91
|
+
for (const g of tab.filterGroups) {
|
|
92
|
+
if (typeof g?.id !== 'string') return false
|
|
93
|
+
if (!Array.isArray(g.values)) return false
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return true
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Hook options
|
|
101
|
+
*/
|
|
102
|
+
export type UseFilterConfigsOptions = {
|
|
103
|
+
idStore?: string | null
|
|
104
|
+
pollIntervalMs?: number
|
|
105
|
+
skip?: boolean
|
|
106
|
+
onError?: (err: Error) => void
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Hook return
|
|
111
|
+
*/
|
|
112
|
+
export type UseFilterConfigsResult = {
|
|
113
|
+
data: FilterTab[]
|
|
114
|
+
rawRecords: FilterConfigRecord[] | null
|
|
115
|
+
loading: boolean
|
|
116
|
+
error: Error | null
|
|
117
|
+
refetch: () => Promise<void>
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Custom hook to fetch filter configs from GraphQL and expose typed, validated tabs.
|
|
122
|
+
* - Returns empty array when data is invalid (defensive).
|
|
123
|
+
* - Accepts idStore and poll interval as parameters for flexibility.
|
|
124
|
+
*
|
|
125
|
+
* @param {UseFilterConfigsOptions} options
|
|
126
|
+
* @returns {UseFilterConfigsResult}
|
|
127
|
+
*/
|
|
128
|
+
export const useFilterConfigs = ({
|
|
129
|
+
skip = false,
|
|
130
|
+
onError
|
|
131
|
+
}: UseFilterConfigsOptions = {}): UseFilterConfigsResult => {
|
|
132
|
+
const { data, loading, error, refetch } = useQuery(
|
|
133
|
+
GET_FILTER_CONFIGS,
|
|
134
|
+
{
|
|
135
|
+
skip
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
if (error && onError) onError(error as Error)
|
|
140
|
+
|
|
141
|
+
const rawRecords =
|
|
142
|
+
Array.isArray((data as any)?.filterConfigs) ? (data as any).filterConfigs as FilterConfigRecord[] : null
|
|
143
|
+
|
|
144
|
+
let tabs: FilterTab[] = []
|
|
145
|
+
|
|
146
|
+
if (rawRecords && rawRecords.length > 0) {
|
|
147
|
+
// pick the active config with highest priority (lowest number)
|
|
148
|
+
const active = rawRecords
|
|
149
|
+
.filter(r => {return r.active !== false})
|
|
150
|
+
.sort((a, b) => {return (a.priority ?? 9999) - (b.priority ?? 9999)})[0]
|
|
151
|
+
|
|
152
|
+
const candidate = active ?? rawRecords[0]
|
|
153
|
+
|
|
154
|
+
if (candidate && isFilterTabs(candidate.filterTabs)) {
|
|
155
|
+
tabs = candidate.filterTabs
|
|
156
|
+
} else {
|
|
157
|
+
// defensive logging — don't throw to avoid crashing UI, return empty array
|
|
158
|
+
|
|
159
|
+
console.warn('useFilterConfigs: invalid filterTabs structure', candidate?.filterTabs)
|
|
160
|
+
tabs = []
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return {
|
|
165
|
+
data: [{ 'id': 'BASIC', 'name': 'Básicos', 'filterGroups': [{ 'id': 'DELIVERY_MODE', 'description': 'Modo de entrega', 'displayType': 'WORD_CLOUD_SINGLE', 'values': [{ 'id': 'DELIVERY', 'description': 'Entrega' }, { 'id': 'TAKEOUT', 'description': 'Pra retirar' }] }, { 'id': 'SORTING', 'description': 'Ordenar por', 'displayType': 'GRID', 'values': [{ 'id': 'DEFAULT', 'description': 'Ordenação Padrão' }, { 'id': 'PRICE_RANGE:ASC', 'description': 'Preço' }, { 'id': 'USER_RATING:DESC', 'description': 'Avaliação' }, { 'id': 'DELIVERY_TIME:ASC', 'description': 'Tempo de Entrega' }, { 'id': 'DELIVERY_FEE:ASC', 'description': 'Taxa de Entrega' }, { 'id': 'DISTANCE:ASC', 'description': 'Menor distância' }] }, { 'id': 'DISTANCE', 'description': 'Distância', 'displayType': 'SLIDER', 'values': [{ 'id': 'MIN_VALUE', 'description': '1' }, { 'id': 'MAX_VALUE', 'description': '10' }] }, { 'id': 'DELIVERY_FEE', 'description': 'Taxa de entrega', 'displayType': 'WORD_CLOUD_SINGLE', 'values': [{ 'id': 'FREE', 'description': 'Grátis', 'value': 0 }, { 'id': 'MAX_FIVE', 'description': 'até R$ 5,00', 'value': 5 }, { 'id': 'MAX_TEN', 'description': 'até R$ 10,00', 'value': 10 }] }, { 'id': 'TAGS', 'description': 'Filtros especiais', 'displayType': 'CHECKBOX', 'values': [{ 'id': 'SUPER_RESTAURANT', 'imageUrn': 'SUPER_RESTAURANT.png', 'description': 'Super-Restaurantes' }, { 'id': 'SUPPORTS_ORDER_TRACKING', 'imageUrn': 'SUPPORTS_ORDER_TRACKING.png', 'description': 'Entrega Parceira' }, { 'id': 'SUPPORTS_ANY_TRACKING', 'imageUrn': 'SUPPORTS_ANY_TRACKING.png', 'description': 'Entrega Rastreável' }, { 'id': 'SUPPORTS_SCHEDULING', 'imageUrn': 'SUPPORTS_SCHEDULING.png', 'description': 'Aceita agendamento' }] }] }, { 'id': 'CATEGORY', 'name': 'Categorias', 'filterGroups': [{ 'id': 'MERCHANT_TYPE', 'description': 'Tipo de loja', 'displayType': 'GRID', 'values': [{ 'id': 'ALL', 'description': 'Todas as lojas' }, { 'id': 'RESTAURANT', 'description': 'Restaurante' }, { 'id': 'MARKET', 'description': 'Mercado' }] }, { 'id': 'AVAILABLE_CATEGORIES', 'description': 'Categorias', 'displayType': 'WORD_CLOUD', 'values': [{ 'description': 'Africana', 'id': 'AF1' }, { 'description': 'Alemã', 'id': 'ALE' }, { 'description': 'Árabe', 'id': 'ARA' }, { 'description': 'Argentina', 'id': 'AR1' }, { 'description': 'Asiática', 'id': 'ASI' }, { 'description': 'Açaí', 'id': 'AC1' }, { 'description': 'Baiana', 'id': 'BA1' }, { 'description': 'Bebidas', 'id': 'BEB' }, { 'description': 'Brasileira', 'id': 'BRA' }, { 'description': 'Cafeteria', 'id': 'CA1' }, { 'description': 'Carnes', 'id': 'CAR' }, { 'description': 'Casa de Sucos', 'id': 'CS1' }, { 'description': 'Chinesa', 'id': 'CHI' }, { 'description': 'Colombiana', 'id': 'CO1' }, { 'description': 'Congelados Fit', 'id': 'CF1' }, { 'description': 'Congelados', 'id': 'CN1' }, { 'description': 'Contemporânea', 'id': 'CNT' }, { 'description': 'Conveniência', 'id': 'CV1' }, { 'description': 'Coreana', 'id': 'CR1' }, { 'description': 'Cozinha rápida', 'id': 'CRP' }, { 'description': 'Crepe', 'id': 'CP1' }, { 'description': 'Doces & Bolos', 'id': 'DCE' }, { 'description': 'Espanhola', 'id': 'ES1' }, { 'description': 'Francesa', 'id': 'FRA' }, { 'description': 'Frangos', 'id': 'FR1' }, { 'description': 'Frutos do mar', 'id': 'FRU' }, { 'description': 'Gaúcha', 'id': 'GA1' }, { 'description': 'Grega', 'id': 'GRC' }, { 'description': 'Hambúrguer', 'id': 'BUR' }, { 'description': 'Indiana', 'id': 'IND' }, { 'description': 'Italiana', 'id': 'ITA' }, { 'description': 'Japonesa', 'id': 'JAP' }, { 'description': 'Lanches', 'id': 'LCH' }, { 'description': 'Marmita', 'id': 'MA1' }, { 'description': 'Marroquina', 'id': 'MAR' }, { 'description': 'Mediterrânea', 'id': 'MED' }, { 'description': 'Mercado 🛒', 'id': 'MER' }, { 'description': 'Mexicana', 'id': 'MEX' }, { 'description': 'Mineira', 'id': 'MI1' }, { 'description': 'Nordestina', 'id': 'NO1' }, { 'description': 'Padaria', 'id': 'PA1' }, { 'description': 'Panqueca', 'id': 'PQC' }, { 'description': 'Paranaense', 'id': 'PR1' }, { 'description': 'Pastel', 'id': 'PAS' }, { 'description': 'Peixes', 'id': 'PX1' }, { 'description': 'Peruana', 'id': 'PER' }, { 'description': 'Pizza', 'id': 'PIZ' }, { 'description': 'Portuguesa', 'id': 'POR' }, { 'description': 'Presentes', 'id': 'PRE' }, { 'description': 'Salgados', 'id': 'SAG' }, { 'description': 'Saudável', 'id': 'SAU' }, { 'description': 'Sopas & Caldos', 'id': 'SP1' }, { 'description': 'Sorvetes', 'id': 'SOR' }, { 'description': 'Tailandesa', 'id': 'THA' }, { 'description': 'Tapioca', 'id': 'TA1' }, { 'description': 'Típica do Norte', 'id': 'TN1' }, { 'description': 'Variada', 'id': 'VAR' }, { 'description': 'Vegana', 'id': 'VE1' }, { 'description': 'Vegetariana', 'id': 'VEG' }, { 'description': 'Xis', 'id': 'XI1' }, { 'description': 'Yakisoba', 'id': 'YA1' }] }] }, { 'id': 'PAYMENT', 'name': 'Pagamentos', 'filterGroups': [{ 'id': 'MEDIUM_PRICE', 'description': 'Preço médio', 'displayType': 'WORD_CLOUD_SINGLE', 'values': [{ 'id': 'CHEAPEST', 'description': '$' }, { 'id': 'CHEAP', 'description': '$$' }, { 'id': 'MODERATE', 'description': '$$$' }, { 'id': 'EXPENSIVE', 'description': '$$$$' }, { 'id': 'MOST_EXPENSIVE', 'description': '$$$$$' }] }, { 'id': 'ONLINE_PAYMENTS', 'description': 'Pagamento pelo app', 'displayType': 'WORD_CLOUD', 'values': [{ 'id': 'PIX', 'description': 'pix' }, { 'id': 'ELO', 'description': 'Elo' }, { 'id': 'MC', 'description': 'Mastercard' }, { 'id': 'MCMA', 'description': 'Mastercard Maestro' }, { 'id': 'VIS', 'description': 'Visa' }, { 'id': 'VISE', 'description': 'Visa Electron' }, { 'id': 'AM', 'description': 'Amex' }, { 'id': 'DNR', 'description': 'Diners' }] }, { 'id': 'ONLINE_PAYMENTS_VR', 'description': 'Vale-refeição/alimentação pelo app', 'displayType': 'WORD_CLOUD', 'values': [{ 'id': 'IMV', 'description': 'iFood Refeição' }, { 'id': 'VRO', 'description': 'VR Refeição' }, { 'id': 'SRP', 'description': 'Sodexo Refeição' }, { 'id': 'ALR', 'description': 'Alelo Refeição' }, { 'id': 'TRO', 'description': 'Ticket' }, { 'id': 'BENRON', 'description': 'Ben Refeição' }] }, { 'id': 'OFFLINE_PAYMENTS', 'description': 'Pagamento na entrega', 'displayType': 'WORD_CLOUD', 'values': [{ 'id': 'DIN', 'description': 'Dinheiro' }, { 'id': 'RSODEX', 'description': 'Sodexo' }, { 'id': 'VVREST', 'description': 'Vale Alelo Refeição' }, { 'id': 'VR_SMA', 'description': 'VR Refeição' }, { 'id': 'BENVVR', 'description': 'Ben Refeição' }, { 'id': 'TRE', 'description': 'Ticket' }, { 'id': 'RDREST', 'description': 'Mastercard - Crédito' }, { 'id': 'MEREST', 'description': 'Mastercard' }, { 'id': 'VSREST', 'description': 'Visa - Crédito' }, { 'id': 'VIREST', 'description': 'Visa' }, { 'id': 'REC', 'description': 'Elo - Crédito' }, { 'id': 'RED', 'description': 'Elo' }, { 'id': 'RHIP', 'description': 'Hipercard' }, { 'id': 'TVER', 'description': 'Verocard' }, { 'id': 'RAM', 'description': 'American Express' }, { 'id': 'CPRCAR', 'description': 'Cooper Card' }, { 'id': 'GRNCAR', 'description': 'Green Card' }, { 'id': 'GRNCPL', 'description': 'Green Card (papel)' }, { 'id': 'RSELE', 'description': 'Refeisul' }, { 'id': 'VALECA', 'description': 'Vale Card' }, { 'id': 'BANRC', 'description': 'Banricompras - Crédito' }, { 'id': 'BANRD', 'description': 'Banricompras' }, { 'id': 'DNREST', 'description': 'Diners' }, { 'id': 'GOODC', 'description': 'Goodcard' }, { 'id': 'VERDEC', 'description': 'Verdecard' }, { 'id': 'CHE', 'description': 'Cheque' }] }] }],
|
|
166
|
+
rawRecords,
|
|
167
|
+
loading,
|
|
168
|
+
error: error ? (error as Error) : null,
|
|
169
|
+
refetch: async () => {
|
|
170
|
+
await refetch()
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// import md5 from 'md5'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
3
6
|
async function getCPUInfo () {
|
|
4
7
|
if (navigator.hardwareConcurrency) {
|
|
5
8
|
try {
|
|
@@ -25,6 +28,9 @@ async function getCPUInfo () {
|
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
28
34
|
async function generateFingerprint () {
|
|
29
35
|
const canvas = document.createElement('canvas')
|
|
30
36
|
const audioContext = new (window.AudioContext || window.webkitAudioContext)()
|
|
@@ -50,7 +56,7 @@ async function generateFingerprint () {
|
|
|
50
56
|
language,
|
|
51
57
|
colorDepth,
|
|
52
58
|
availableScreenHeight,
|
|
53
|
-
plugins: Array.from(navigator.plugins).map(plugin => plugin.name).join(','),
|
|
59
|
+
plugins: Array.from(navigator.plugins).map(plugin => {return plugin.name}).join(','),
|
|
54
60
|
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
55
61
|
hardwareConcurrency: cpuInfo.logicalCores || 'unknown',
|
|
56
62
|
platformVersion: navigator.platformVersion || 'unknown'
|
|
@@ -69,11 +75,14 @@ async function generateFingerprint () {
|
|
|
69
75
|
|
|
70
76
|
const fingerprint = JSON.stringify(fingerprintData)
|
|
71
77
|
// const uniqueID = md5(fingerprint)
|
|
72
|
-
|
|
73
|
-
return null
|
|
78
|
+
return fingerprint
|
|
74
79
|
}
|
|
75
80
|
|
|
76
81
|
// Función para generar huella digital del audio
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param audioContext
|
|
85
|
+
*/
|
|
77
86
|
async function generateAudioFingerprint (audioContext) {
|
|
78
87
|
if (audioContext) {
|
|
79
88
|
try {
|
|
@@ -95,6 +104,10 @@ async function generateAudioFingerprint (audioContext) {
|
|
|
95
104
|
}
|
|
96
105
|
|
|
97
106
|
// Función para generar huella digital del canvas
|
|
107
|
+
/**
|
|
108
|
+
*
|
|
109
|
+
* @param canvas
|
|
110
|
+
*/
|
|
98
111
|
async function generateCanvasFingerprint (canvas) {
|
|
99
112
|
if (canvas) {
|
|
100
113
|
try {
|
|
@@ -124,6 +137,9 @@ async function generateCanvasFingerprint (canvas) {
|
|
|
124
137
|
return { width: 0, height: 0 }
|
|
125
138
|
}
|
|
126
139
|
|
|
140
|
+
/**
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
127
143
|
async function getWebGLInfo () {
|
|
128
144
|
if ('WebGLRenderingContext' in window) {
|
|
129
145
|
const canvas = document.createElement('canvas')
|
|
@@ -142,6 +158,9 @@ async function getWebGLInfo () {
|
|
|
142
158
|
return 'webgl-info-not-supported'
|
|
143
159
|
}
|
|
144
160
|
|
|
161
|
+
/**
|
|
162
|
+
*
|
|
163
|
+
*/
|
|
145
164
|
function getInstalledFonts () {
|
|
146
165
|
const fonts = []
|
|
147
166
|
|
|
@@ -154,6 +173,9 @@ function getInstalledFonts () {
|
|
|
154
173
|
return fonts.join(',')
|
|
155
174
|
}
|
|
156
175
|
|
|
176
|
+
/**
|
|
177
|
+
*
|
|
178
|
+
*/
|
|
157
179
|
function getTouchscreenInfo () {
|
|
158
180
|
if ('maxTouchPoints' in navigator) {
|
|
159
181
|
const maxTouchPoints = navigator.maxTouchPoints
|
|
@@ -165,8 +187,11 @@ function getTouchscreenInfo () {
|
|
|
165
187
|
return 'touchscreen-info-not-supported'
|
|
166
188
|
}
|
|
167
189
|
|
|
190
|
+
/**
|
|
191
|
+
*
|
|
192
|
+
*/
|
|
168
193
|
export async function fingerprintJs () {
|
|
169
194
|
const fingerprint = await generateFingerprint()
|
|
170
195
|
// const uniqueID = md5(fingerprint)
|
|
171
|
-
return
|
|
196
|
+
return fingerprint
|
|
172
197
|
}
|
|
@@ -2,9 +2,28 @@ import {
|
|
|
2
2
|
useCallback,
|
|
3
3
|
useEffect,
|
|
4
4
|
useState
|
|
5
|
-
} from 'react'
|
|
5
|
+
} from 'react'
|
|
6
|
+
|
|
6
7
|
import { validationSubmitHooks } from '../../utils'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
interface UseFormToolsProps {
|
|
11
|
+
initialValues?: Record<string, any>;
|
|
12
|
+
sendNotification?: ({
|
|
13
|
+
title,
|
|
14
|
+
description,
|
|
15
|
+
backgroundColor
|
|
16
|
+
}: {
|
|
17
|
+
title?: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
backgroundColor?: string;
|
|
20
|
+
}) => void;
|
|
21
|
+
}
|
|
22
|
+
|
|
7
23
|
/**
|
|
24
|
+
* @param root0
|
|
25
|
+
* @param root0.initialValues
|
|
26
|
+
* @param root0.sendNotification
|
|
8
27
|
* @version 0.0.1
|
|
9
28
|
* @description Hook con herramientas de validación y eventos de cambio
|
|
10
29
|
* @return {Array} devuelve la función onChange a ejecutar y el estado de error de cada input
|
|
@@ -15,26 +34,27 @@ export const useFormTools = ({
|
|
|
15
34
|
title = '',
|
|
16
35
|
description = '',
|
|
17
36
|
backgroundColor = ''
|
|
18
|
-
}) => {
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const [
|
|
37
|
+
}) => {
|
|
38
|
+
console.log({ title, description, backgroundColor })
|
|
39
|
+
}
|
|
40
|
+
}: UseFormToolsProps = {}) => {
|
|
41
|
+
const [dataForm, setDataForm] = useState<Record<string, any>>({ ...initialValues })
|
|
42
|
+
const [errorForm, setErrorForm] = useState<Record<string, boolean>>({})
|
|
23
43
|
const [errorSubmit, setErrorSubmit] = useState(false)
|
|
24
44
|
const [calledSubmit, setCalledSubmit] = useState(false)
|
|
25
45
|
// Handle Change
|
|
26
|
-
const handleChange = useCallback((e
|
|
46
|
+
const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>, error: boolean) => {
|
|
27
47
|
setDataForm({ ...dataForm, [e.target.name]: e.target.value })
|
|
28
48
|
setErrorForm({ ...errorForm, [e.target.name]: error })
|
|
29
49
|
}, [setDataForm, dataForm, errorForm, setErrorForm])
|
|
30
50
|
|
|
31
51
|
// Forzar datos desde una ventana externa
|
|
32
|
-
const handleForcedData = useCallback(data => {
|
|
52
|
+
const handleForcedData = useCallback((data: Record<string, any>) => {
|
|
33
53
|
setDataForm(data)
|
|
34
54
|
}, [setDataForm])
|
|
35
55
|
|
|
36
56
|
// Forzar datos de error desde una ventana externa
|
|
37
|
-
const setForcedError = useCallback(errors => {
|
|
57
|
+
const setForcedError = useCallback((errors: Record<string, boolean>) => {
|
|
38
58
|
setErrorForm(errors)
|
|
39
59
|
}, [setErrorForm])
|
|
40
60
|
|
|
@@ -50,6 +70,12 @@ export const useFormTools = ({
|
|
|
50
70
|
msgSuccess,
|
|
51
71
|
action = () => { return Promise.resolve() },
|
|
52
72
|
actionAfterSuccess = () => { }
|
|
73
|
+
}: {
|
|
74
|
+
event: React.FormEvent<HTMLFormElement>,
|
|
75
|
+
msgError?: string,
|
|
76
|
+
msgSuccess?: string,
|
|
77
|
+
action?: () => Promise<any>,
|
|
78
|
+
actionAfterSuccess?: () => void
|
|
53
79
|
}) => {
|
|
54
80
|
event.preventDefault()
|
|
55
81
|
setCalledSubmit(true)
|
|
@@ -74,9 +100,10 @@ export const useFormTools = ({
|
|
|
74
100
|
if (errSub) return setErrorSubmit(errSub)
|
|
75
101
|
|
|
76
102
|
// Valida los errores desde el evento
|
|
77
|
-
const errores = validationSubmitHooks(event.
|
|
103
|
+
const errores = validationSubmitHooks(event.currentTarget.elements)
|
|
78
104
|
setErrorForm(errores)
|
|
79
105
|
for (const x in errores) {
|
|
106
|
+
// @ts-ignore
|
|
80
107
|
if (errores[x]) errSub = true
|
|
81
108
|
}
|
|
82
109
|
if (errSub) return setErrorSubmit(errSub)
|
|
@@ -88,7 +115,7 @@ export const useFormTools = ({
|
|
|
88
115
|
result.then((res) => {
|
|
89
116
|
if (res) {
|
|
90
117
|
sendNotification({
|
|
91
|
-
|
|
118
|
+
title: msgSuccess ?? 'Operación exitosa',
|
|
92
119
|
description: 'Operación exitosa',
|
|
93
120
|
backgroundColor: 'success'
|
|
94
121
|
})
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
interface UseFormatDateProps {
|
|
2
|
+
date?: string | number | Date;
|
|
3
|
+
local?: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
export const useFormatDate = ({
|
|
2
7
|
date,
|
|
3
8
|
local = 'ES-CO'
|
|
4
|
-
} = {}) => {
|
|
9
|
+
}: UseFormatDateProps = {}) => {
|
|
5
10
|
const dateToFormat = new Date(date ?? Date.now())
|
|
6
11
|
const fullDate = dateToFormat.toLocaleDateString(local, { year: 'numeric', month: '2-digit', day: '2-digit' })
|
|
7
12
|
const day = fullDate.split('/')[0]
|
|
@@ -13,7 +18,7 @@ export const useFormatDate = ({
|
|
|
13
18
|
const longDayName = dateToFormat.toLocaleDateString(local, { weekday: 'long' })
|
|
14
19
|
const hourMinutes12 = dateToFormat.toLocaleTimeString('ES-CO', { hour: '2-digit', minute: '2-digit' })
|
|
15
20
|
const hourMinutes24 = dateToFormat.toLocaleTimeString('ES-CO', { hour: '2-digit', minute: '2-digit', hour12: false })
|
|
16
|
-
const handleHourPmAM = (hour) => {
|
|
21
|
+
const handleHourPmAM = (hour: string) => {
|
|
17
22
|
const hourPmAm = new Date(`1/1/1999 ${hour}`).toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true })
|
|
18
23
|
return hour ? hourPmAm : ''
|
|
19
24
|
}
|
|
@@ -24,10 +29,10 @@ export const useFormatDate = ({
|
|
|
24
29
|
* @param {string | number | Date} dateInput - Date to format (ISO string, timestamp or Date object)
|
|
25
30
|
* @returns {string} - Formatted date string in Colombian time
|
|
26
31
|
*/
|
|
27
|
-
function formatDateInTimeZone (dateInput) {
|
|
32
|
+
function formatDateInTimeZone (dateInput : string | number | Date): string {
|
|
28
33
|
const timeZone = 'America/Bogota'
|
|
29
34
|
const locale = 'es-CO'
|
|
30
|
-
const options = {
|
|
35
|
+
const options: Intl.DateTimeFormatOptions = {
|
|
31
36
|
timeZone,
|
|
32
37
|
year: 'numeric',
|
|
33
38
|
month: 'long',
|
|
@@ -51,7 +56,7 @@ export const useFormatDate = ({
|
|
|
51
56
|
* @returns {string} Formatted date string in YYYY-MM-DD.
|
|
52
57
|
* @throws {Error} If the input date is invalid.
|
|
53
58
|
*/
|
|
54
|
-
const formatToLocalDateYMD = (inputDate, timeZone = 'America/Bogota') => {
|
|
59
|
+
const formatToLocalDateYMD = (inputDate: string | number | Date, timeZone = 'America/Bogota') => {
|
|
55
60
|
const date = new Date(inputDate)
|
|
56
61
|
|
|
57
62
|
if (isNaN(date.getTime())) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
2
|
|
|
4
3
|
export const useFullscreenMode = () => {
|
|
5
4
|
const [isFullscreen, setFullscreen] = useState(false)
|
|
@@ -56,10 +55,7 @@ export const useFullscreenMode = () => {
|
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
const ToggleIcon = (
|
|
59
|
-
<
|
|
58
|
+
<button onDoubleClick={() => { return (!isFullscreen ? goFullscreen() : exitFullScreen()) }}>{!isFullscreen ? 'FullScreen' : 'Normal'}</button>
|
|
60
59
|
)
|
|
61
60
|
return [elementRef, ToggleIcon] // Icon, ref
|
|
62
61
|
}
|
|
63
|
-
const Button = styled.button`
|
|
64
|
-
|
|
65
|
-
`
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { useLazyQuery } from '@apollo/client'
|
|
2
|
+
|
|
1
3
|
import { GET_EXTRAS_PRODUCT_FOOD_OPTIONAL } from '../useProductsFood/queriesStore'
|
|
2
|
-
import { useLazyQuery } from '@apollo/client'
|
|
3
4
|
|
|
4
5
|
export const useGetExtProductFoodsSubOptionalAll = ({ setDataOptional = () => { } } = {}) => {
|
|
5
6
|
const [ExtProductFoodsSubOptionalAll] = useLazyQuery(
|