npm-pkg-hook 1.12.7 → 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/.babelrc +0 -0
- package/.env +5 -0
- package/.github/pull_request_template.md +18 -0
- package/.github/workflows/pepeline.yaml +30 -0
- package/dist/index.js +47755 -10080
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +47071 -9610
- package/dist/index.mjs.map +1 -0
- package/eslint.config.mts +153 -0
- package/expire.json +1 -0
- package/jsconfig.json +28 -0
- package/package.json +24 -61
- package/script.txt +7 -0
- package/src/config/client/errors.ts +39 -0
- package/src/config/client/index.ts +1 -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/cookies/index.ts +3 -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/helpers/index.ts +7 -0
- package/src/hooks/getCategoriesWithProduct/index.ts +62 -0
- 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 +153 -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/statusOpenStores/helpers/index.ts +124 -0
- package/src/hooks/statusOpenStores/index.ts +221 -0
- package/src/hooks/updateExtProductFoodsOptional/index.ts +49 -0
- 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/useAnimationFrame/index.ts +45 -0
- package/src/hooks/useAnimationText/index.ts +31 -0
- package/src/hooks/useAsideCart/helpers/index.ts +22 -0
- package/src/hooks/useAsideCart/index.ts +217 -0
- package/src/hooks/useAsideCart/queries.ts +10 -0
- package/src/hooks/useBanner/index.ts +20 -0
- package/src/hooks/useCart/index.ts +2 -0
- package/src/hooks/useCart/queries.ts +174 -0
- package/src/hooks/useCart/useCart/helpers/index.ts +79 -0
- package/src/hooks/useCart/useCart/index.ts +424 -0
- package/src/hooks/useCart/useGetCart/index.ts +34 -0
- package/src/hooks/useCatWithProduct/index.ts +54 -0
- package/src/hooks/useCatWithProduct/queries.ts +200 -0
- package/src/hooks/useCatWithProduct/types/index.ts +104 -0
- package/src/hooks/useCatWithProductClient/index.ts +57 -0
- package/src/hooks/useCatWithProductClient/queries.ts +56 -0
- package/src/hooks/useCategoriesProduct/index.ts +14 -0
- package/src/hooks/useCategoriesProduct/queries.ts +16 -0
- package/src/hooks/useCategoryInStore/index.ts +167 -0
- package/src/hooks/useCategoryInStore/queries.ts +78 -0
- package/src/hooks/useCategoryStore/index.ts +8 -0
- package/src/hooks/useCategoryStore/queries.ts +16 -0
- package/src/hooks/useChartData/index.ts +171 -0
- package/src/hooks/useChartData/useChartData/index.ts +200 -0
- package/src/hooks/useChartData/useChartDataAllOrders/index.ts +94 -0
- package/src/hooks/useChatRoomSubscription/index.ts +28 -0
- package/src/hooks/useCheckbox/index.ts +115 -0
- package/src/hooks/useCities/index.ts +14 -0
- package/src/hooks/useCities/queries.ts +12 -0
- package/src/hooks/useClients/index.ts +97 -0
- 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 +22 -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.ts +52 -0
- package/src/hooks/useCreateProduct/helpers/useEditImageProduct/index.ts +182 -0
- 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.ts +32 -0
- package/src/hooks/useDeleteSubProductOptional/queries.ts +10 -0
- 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/helpers/index.ts +51 -0
- package/src/hooks/useDessert/index.ts +529 -0
- 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.ts +79 -0
- package/src/hooks/useDropzone/index.ts +94 -0
- package/src/hooks/useDynamicAuth/index.ts +14 -0
- package/src/hooks/useDynamicAuth/queries.ts +24 -0
- package/src/hooks/useEditCategory/index.ts +41 -0
- package/src/hooks/useEditOneExtProductFoodOptional/index.ts +28 -0
- package/src/hooks/useEditOneExtProductFoodOptional/queries.ts +16 -0
- package/src/hooks/useEditSubProductOptional/index.ts +12 -0
- package/src/hooks/useEditSubProductOptional/queries.ts +10 -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.ts +34 -0
- package/src/hooks/useFavoriteStores/index.ts +31 -0
- package/src/hooks/useFavoriteStores/queries.ts +54 -0
- package/src/hooks/useFetchJson/index.ts +25 -0
- package/src/hooks/useFetchMoreInteractions/index.jsx +39 -0
- package/src/hooks/useFilterConfigs/index.ts +173 -0
- package/src/hooks/useFingerprintjs/index.ts +197 -0
- package/src/hooks/useFormTools/index.ts +143 -0
- package/src/hooks/useFormatDate/index.ts +91 -0
- package/src/hooks/useFormatNumberPhone/index.ts +23 -0
- package/src/hooks/useFullScreenMode/index.ts +61 -0
- package/src/hooks/useGenerateNumberArray/index.ts +17 -0
- package/src/hooks/useGetAllLocationUser/index.ts +13 -0
- package/src/hooks/useGetAllLocationUser/queries.ts +44 -0
- package/src/hooks/useGetAllSales/index.ts +26 -0
- package/src/hooks/useGetCookies/index.ts +43 -0
- package/src/hooks/useGetExtProductFoodsSubOptionalAll/index.ts +15 -0
- package/src/hooks/useGetFoodRecomended/index.ts +33 -0
- package/src/hooks/useGetFoodRecomended/queries.ts +47 -0
- package/src/hooks/useGetMessagesToRoom/index.ts +23 -0
- package/src/hooks/useGetMinPrice/index.ts +13 -0
- package/src/hooks/useGetMinPrice/queries.ts +7 -0
- package/src/hooks/useGetOneStoreRating/index.ts +41 -0
- package/src/hooks/useGetOneStoreRating/queries.ts +18 -0
- package/src/hooks/useGetSalesAmountToday/index.ts +31 -0
- package/src/hooks/useGetStoreCookie/index.ts +21 -0
- package/src/hooks/useGoogleLogin/index.ts +169 -0
- package/src/hooks/useGoogleLogin/loadScript.ts +15 -0
- package/src/hooks/useGoogleLogin/removeScript.ts +7 -0
- package/src/hooks/useHover/index.ts +32 -0
- package/src/hooks/useImageOptimization/index.ts +32 -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.ts +55 -0
- package/src/hooks/useImagesStore/index.ts +227 -0
- package/src/hooks/useImagesStore/queries.ts +193 -0
- 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/useInnerHtml/index.ts +39 -0
- package/src/hooks/useIntersection/index.ts +84 -0
- 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/useKeypress/index.ts +28 -0
- package/src/hooks/useLazyScript/index.ts +74 -0
- package/src/hooks/useLocalBackendIp/index.ts +34 -0
- package/src/hooks/useLocalSorage/index.ts +36 -0
- package/src/hooks/useLocationManager/index.ts +63 -0
- package/src/hooks/useLocationNavigate/index.ts +54 -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/helpers/mock.ts +0 -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 +29 -0
- package/src/hooks/useModules/index.ts +124 -0
- package/src/hooks/useMouse/index.ts +55 -0
- package/src/hooks/useMutateHeight/index.ts +36 -0
- package/src/hooks/useOrderClient/index.ts +5 -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/useOrdersFromStore/index.ts +78 -0
- 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.ts +964 -0
- 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/index.ts +3 -0
- package/src/hooks/useProviders/queries.ts +31 -0
- package/src/hooks/useProviders/useProvidersCreateStore/index.ts +13 -0
- package/src/hooks/useProviders/useProvidersDataStore/index.ts +25 -0
- package/src/hooks/useProvidersStore/index.ts +25 -0
- package/src/hooks/useProvidersStore/queries.ts +31 -0
- 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.ts +54 -0
- package/src/hooks/useRatingArrayData/queries.ts +19 -0
- package/src/hooks/useReactToPrint/index.txt +1223 -0
- package/src/hooks/useRemoveExtraProductFoodsOptional/index.ts +24 -0
- package/src/hooks/useRemoveExtraProductFoodsOptional/queries.ts +48 -0
- package/src/hooks/useReport/index.ts +48 -0
- package/src/hooks/useReport/queries.ts +72 -0
- 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.ts +81 -0
- 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.ts +532 -0
- 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.ts +38 -0
- package/src/hooks/useSaveAvailableProduct/index.ts +32 -0
- package/src/hooks/useSaveAvailableProduct/queries.ts +10 -0
- package/src/hooks/useSaveLocation/index.ts +17 -0
- package/src/hooks/useSaveLocation/queries.ts +19 -0
- package/src/hooks/useSchedule/index.ts +35 -0
- package/src/hooks/useSchedule/queries.ts +43 -0
- package/src/hooks/useSchedule/schedule.ts +79 -0
- package/src/hooks/useScheduleData/index.ts +135 -0
- package/src/hooks/useScroll/index.ts +56 -0
- package/src/hooks/useScrollRotate/index.ts +16 -0
- package/src/hooks/useSetImageProducts/index.ts +59 -0
- package/src/hooks/useSetImageProducts/queries.ts +18 -0
- package/src/hooks/useSetSession/index.ts +44 -0
- package/src/hooks/useSetState/index.ts +24 -0
- 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.ts +195 -0
- package/src/hooks/useStatusOrdersClient/helpers/index.ts +14 -0
- package/src/hooks/useStatusOrdersClient/index.ts +18 -0
- package/src/hooks/useStatusOrdersClient/queries.ts +80 -0
- 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.ts +163 -0
- package/src/hooks/useStoreCalendar/index.ts +5 -0
- package/src/hooks/useStoreContacts/index.ts +53 -0
- package/src/hooks/useStoreContacts/queries.ts +48 -0
- 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.ts +39 -0
- 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.ts +131 -0
- package/src/hooks/useUpdateCartCookie/index.ts +60 -0
- package/src/hooks/useUpdateDashboardComponent/index.ts +91 -0
- package/src/hooks/useUpdateExistingOrders/index.ts +85 -0
- 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.ts +24 -0
- package/src/hooks/useUser/queries.ts +131 -0
- package/src/hooks/useWeeklyStockMovement/helpers/index.ts +32 -0
- package/src/hooks/useWeeklyStockMovement/index.ts +52 -0
- package/src/hooks/useWindowSize/index.ts +45 -0
- package/src/index.ts +13 -0
- package/src/mock/dessert/index.ts +16 -0
- package/src/mock/index.ts +1 -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 +16 -0
- package/tsconfig.json +21 -0
- package/tsup.config.ts +24 -0
- package/dist/index.cjs +0 -20089
|
File without changes
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
useGetSale,
|
|
5
|
+
// updateExistingOrders,
|
|
6
|
+
convertDateFormat,
|
|
7
|
+
useOrdersFromStore
|
|
8
|
+
} from '..'
|
|
9
|
+
|
|
10
|
+
import { findOrderByCodeRef, isDateInRange } from './helpers'
|
|
11
|
+
|
|
12
|
+
export const useManageNewOrder = ({
|
|
13
|
+
client,
|
|
14
|
+
idStore,
|
|
15
|
+
setAlertBox = ({ message, duration }) => {
|
|
16
|
+
return { message, duration }
|
|
17
|
+
},
|
|
18
|
+
playNotificationSound = () => {},
|
|
19
|
+
setIsOpenOrder = (boolean) => { return boolean },
|
|
20
|
+
setCountOrders = (number) => { return number },
|
|
21
|
+
sendNotification = ({ title, description, backgroundColor }) => {
|
|
22
|
+
return {
|
|
23
|
+
title,
|
|
24
|
+
description,
|
|
25
|
+
backgroundColor
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}) => {
|
|
29
|
+
const KEY_STATUS_ORDER = 'ACEPTA'
|
|
30
|
+
const [orders, setOrders] = useState([])
|
|
31
|
+
|
|
32
|
+
const [data] = useOrdersFromStore({
|
|
33
|
+
idStore,
|
|
34
|
+
search: '',
|
|
35
|
+
fromDate: convertDateFormat({ start: true }),
|
|
36
|
+
toDate: convertDateFormat({ start: false })
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (data) {
|
|
41
|
+
const dataOrder = data[KEY_STATUS_ORDER]
|
|
42
|
+
if (Array.isArray(dataOrder) && dataOrder) {
|
|
43
|
+
const filteredOrders = dataOrder.filter(order =>
|
|
44
|
+
{return isDateInRange(order?.pDatCre) && order?.pSState === 1}
|
|
45
|
+
) ?? []
|
|
46
|
+
setOrders(filteredOrders)
|
|
47
|
+
setCountOrders(filteredOrders.length)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, [data])
|
|
51
|
+
|
|
52
|
+
const { getOneSalesStore } = useGetSale()
|
|
53
|
+
|
|
54
|
+
const handleNewOrder = (order) => {
|
|
55
|
+
const dataOrder = data[KEY_STATUS_ORDER]
|
|
56
|
+
setOrders(dataOrder)
|
|
57
|
+
const { pCodeRef } = order || {}
|
|
58
|
+
if (pCodeRef) {
|
|
59
|
+
const isCodeRefExists = findOrderByCodeRef(data, pCodeRef)
|
|
60
|
+
if (isCodeRefExists) {
|
|
61
|
+
return
|
|
62
|
+
}
|
|
63
|
+
setIsOpenOrder(true)
|
|
64
|
+
getOneSalesStore({
|
|
65
|
+
variables: {
|
|
66
|
+
pCodeRef: pCodeRef ?? ''
|
|
67
|
+
}
|
|
68
|
+
}).then((response) => {
|
|
69
|
+
console.log(response)
|
|
70
|
+
// const currentSale = response?.data?.getOneSalesStore || {}
|
|
71
|
+
client.cache.modify({
|
|
72
|
+
fields: {
|
|
73
|
+
// getAllOrdersFromStore (existingOrders = []) {
|
|
74
|
+
// try {
|
|
75
|
+
// const cache = updateExistingOrders(
|
|
76
|
+
// existingOrders,
|
|
77
|
+
// pCodeRef,
|
|
78
|
+
// 1,
|
|
79
|
+
// currentSale
|
|
80
|
+
// )
|
|
81
|
+
// const currentOrder = cache[KEY_STATUS_ORDER]
|
|
82
|
+
// const filteredOrders = currentOrder.filter(order =>
|
|
83
|
+
// isDateInRange(order.pDatCre)
|
|
84
|
+
// )
|
|
85
|
+
// setOrders(filteredOrders)
|
|
86
|
+
// playNotificationSound()
|
|
87
|
+
// return cache
|
|
88
|
+
// } catch (e) {
|
|
89
|
+
// return existingOrders
|
|
90
|
+
// }
|
|
91
|
+
// }
|
|
92
|
+
}
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
sendNotification({
|
|
96
|
+
title: 'Pedido',
|
|
97
|
+
description: 'Nuevo pedido',
|
|
98
|
+
backgroundColor: 'success'
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return [orders, { handleNewOrder }]
|
|
104
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useRouter, useSearchParams, useParams } from 'next/navigation'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Generic query params map
|
|
7
|
+
*/
|
|
8
|
+
export type QueryParams = Record<string, string>
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Custom location interface (useful for testing or external routers)
|
|
12
|
+
*/
|
|
13
|
+
export interface CustomLocation {
|
|
14
|
+
query?: QueryParams
|
|
15
|
+
push?: (url: string) => void
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Hook options
|
|
20
|
+
*/
|
|
21
|
+
export interface UseManageQueryParamsOptions {
|
|
22
|
+
location?: CustomLocation
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Params getter options
|
|
27
|
+
*/
|
|
28
|
+
export interface GetParamsOptions {
|
|
29
|
+
param: string
|
|
30
|
+
callback?: (value: string) => void
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Hook return type
|
|
35
|
+
*/
|
|
36
|
+
export interface UseManageQueryParamsResult {
|
|
37
|
+
getQuery: (name: string) => string
|
|
38
|
+
handleQuery: (name: string, value?: string) => void
|
|
39
|
+
handleCleanQuery: (name: string) => void
|
|
40
|
+
getParams: (options: GetParamsOptions) => string
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Hook to manage query parameters in Next.js 13+ (App Router)
|
|
45
|
+
* Supports dependency injection for router/query (testing-friendly).
|
|
46
|
+
*
|
|
47
|
+
* @param {UseManageQueryParamsOptions} options
|
|
48
|
+
* @returns {UseManageQueryParamsResult}
|
|
49
|
+
*/
|
|
50
|
+
export const useManageQueryParams = (
|
|
51
|
+
{ location }: UseManageQueryParamsOptions = {}
|
|
52
|
+
): UseManageQueryParamsResult => {
|
|
53
|
+
const router = useRouter()
|
|
54
|
+
const searchParams = useSearchParams()
|
|
55
|
+
const params = useParams()
|
|
56
|
+
|
|
57
|
+
const activeQuery: QueryParams =
|
|
58
|
+
location?.query ??
|
|
59
|
+
Object.fromEntries(searchParams.entries())
|
|
60
|
+
|
|
61
|
+
const pushFn = location?.push ?? ((url: string) => {return router.push(url)})
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Set or update a query param
|
|
65
|
+
* @param name
|
|
66
|
+
* @param value
|
|
67
|
+
*/
|
|
68
|
+
const handleQuery = (name: string, value = ''): void => {
|
|
69
|
+
if (!name) return
|
|
70
|
+
|
|
71
|
+
const query = new URLSearchParams(activeQuery)
|
|
72
|
+
query.set(name, value)
|
|
73
|
+
|
|
74
|
+
pushFn(`?${query.toString()}`)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Remove a query param
|
|
79
|
+
* @param name
|
|
80
|
+
*/
|
|
81
|
+
const handleCleanQuery = (name: string): void => {
|
|
82
|
+
if (!name) return
|
|
83
|
+
|
|
84
|
+
const query = new URLSearchParams(activeQuery)
|
|
85
|
+
query.delete(name)
|
|
86
|
+
|
|
87
|
+
pushFn(`?${query.toString()}`)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Get a query param value
|
|
92
|
+
* @param name
|
|
93
|
+
*/
|
|
94
|
+
const getQuery = (name: string): string => {
|
|
95
|
+
if (!name) return ''
|
|
96
|
+
return activeQuery?.[name] ?? ''
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Get a dynamic route param from Next.js
|
|
101
|
+
* @param root0
|
|
102
|
+
* @param root0.param
|
|
103
|
+
* @param root0.callback
|
|
104
|
+
*/
|
|
105
|
+
const getParams = ({ param, callback }: GetParamsOptions): string => {
|
|
106
|
+
if (!param) return ''
|
|
107
|
+
|
|
108
|
+
const value = String(params?.[param] ?? '')
|
|
109
|
+
callback?.(value)
|
|
110
|
+
|
|
111
|
+
return value
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return {
|
|
115
|
+
getQuery,
|
|
116
|
+
handleQuery,
|
|
117
|
+
handleCleanQuery,
|
|
118
|
+
getParams
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
export const MEDIA_QUERY = {
|
|
4
|
+
MOBILE: '(max-width: 768px)',
|
|
5
|
+
TABLET: '(max-width: 960px)',
|
|
6
|
+
DESKTOP: '(min-width: 961px)'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export const useMobile = ({ callback } = {}) => {
|
|
10
|
+
const [isMobile, setIsMobile] = useState(false)
|
|
11
|
+
const [isTablet, setIsTablet] = useState(false)
|
|
12
|
+
const [isDesktop, setIsDesktop] = useState(false)
|
|
13
|
+
|
|
14
|
+
const prevValues = useRef({
|
|
15
|
+
isMobile: false,
|
|
16
|
+
isTablet: false,
|
|
17
|
+
isDesktop: false
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (typeof window === 'undefined') return
|
|
22
|
+
|
|
23
|
+
const mobileQuery = window.matchMedia(MEDIA_QUERY.MOBILE)
|
|
24
|
+
const tabletQuery = window.matchMedia(MEDIA_QUERY.TABLET)
|
|
25
|
+
const desktopQuery = window.matchMedia(MEDIA_QUERY.DESKTOP)
|
|
26
|
+
|
|
27
|
+
const updateMatches = () => {
|
|
28
|
+
const newIsMobile = mobileQuery.matches
|
|
29
|
+
const newIsTablet = tabletQuery.matches
|
|
30
|
+
const newIsDesktop = desktopQuery.matches
|
|
31
|
+
|
|
32
|
+
const hasChanged =
|
|
33
|
+
newIsMobile !== prevValues.current.isMobile ||
|
|
34
|
+
newIsTablet !== prevValues.current.isTablet ||
|
|
35
|
+
newIsDesktop !== prevValues.current.isDesktop
|
|
36
|
+
|
|
37
|
+
if (hasChanged) {
|
|
38
|
+
prevValues.current = {
|
|
39
|
+
isMobile: newIsMobile,
|
|
40
|
+
isTablet: newIsTablet,
|
|
41
|
+
isDesktop: newIsDesktop
|
|
42
|
+
}
|
|
43
|
+
callback?.(prevValues.current)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
setIsMobile(newIsMobile)
|
|
47
|
+
setIsTablet(newIsTablet)
|
|
48
|
+
setIsDesktop(newIsDesktop)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
updateMatches()
|
|
52
|
+
|
|
53
|
+
mobileQuery.addEventListener('change', updateMatches)
|
|
54
|
+
tabletQuery.addEventListener('change', updateMatches)
|
|
55
|
+
desktopQuery.addEventListener('change', updateMatches)
|
|
56
|
+
|
|
57
|
+
return () => {
|
|
58
|
+
mobileQuery.removeEventListener('change', updateMatches)
|
|
59
|
+
tabletQuery.removeEventListener('change', updateMatches)
|
|
60
|
+
desktopQuery.removeEventListener('change', updateMatches)
|
|
61
|
+
}
|
|
62
|
+
}, [callback])
|
|
63
|
+
|
|
64
|
+
return { isMobile, isTablet, isDesktop }
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './validateModules'
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates and filters modules based on the "read" permission.
|
|
3
|
+
* If a module's view does not have "read" permission in the permissions object, the module is removed.
|
|
4
|
+
*
|
|
5
|
+
* @param {Array} modules - List of modules to validate.
|
|
6
|
+
* @param {Object} permissions - Permissions object mapping views to their allowed actions.
|
|
7
|
+
* @returns {Array} - Filtered list of valid modules.
|
|
8
|
+
*/
|
|
9
|
+
export const validateModules = (modules = [], permissions = {}) => {
|
|
10
|
+
if (!Array.isArray(modules) || module.length <= 0) return []
|
|
11
|
+
return modules?.map(module => {
|
|
12
|
+
// Check if the main module's view has "read" permission
|
|
13
|
+
const hasReadPermission = permissions[module.view]?.includes('read')
|
|
14
|
+
|
|
15
|
+
// Validate and filter subModules if they exist
|
|
16
|
+
const validSubModules = module.subModules?.filter(subModule =>
|
|
17
|
+
{return permissions[subModule.view]?.includes('read')}
|
|
18
|
+
) || []
|
|
19
|
+
|
|
20
|
+
// If the module or its subModules don't have read permission, exclude it
|
|
21
|
+
if (!hasReadPermission && validSubModules.length === 0) {
|
|
22
|
+
return null
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Return the module with its valid subModules
|
|
26
|
+
return { ...module, subModules: validSubModules }
|
|
27
|
+
})
|
|
28
|
+
.filter(Boolean) // Remove null values
|
|
29
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { gql, useQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { validateModules } from './helpers/validateModules'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* GraphQL query to get modules and submodules
|
|
7
|
+
*/
|
|
8
|
+
const GET_MODULES = gql`
|
|
9
|
+
query GetModules {
|
|
10
|
+
modules {
|
|
11
|
+
mName
|
|
12
|
+
mId
|
|
13
|
+
mPath
|
|
14
|
+
mPriority
|
|
15
|
+
mIcon
|
|
16
|
+
view
|
|
17
|
+
subModules {
|
|
18
|
+
smId
|
|
19
|
+
smName
|
|
20
|
+
smPath
|
|
21
|
+
view
|
|
22
|
+
smIcon
|
|
23
|
+
smState
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
`
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* SubModule entity
|
|
31
|
+
*/
|
|
32
|
+
export interface SubModule {
|
|
33
|
+
smId: string
|
|
34
|
+
smName: string
|
|
35
|
+
smPath: string
|
|
36
|
+
smIcon?: string | null
|
|
37
|
+
smState?: boolean | null
|
|
38
|
+
view?: boolean | null
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Module entity
|
|
43
|
+
*/
|
|
44
|
+
export interface Module {
|
|
45
|
+
mId: string
|
|
46
|
+
mName: string
|
|
47
|
+
mPath: string
|
|
48
|
+
mPriority?: number | null
|
|
49
|
+
mIcon?: string | null
|
|
50
|
+
view?: boolean | null
|
|
51
|
+
subModules?: SubModule[]
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Permissions map
|
|
56
|
+
*/
|
|
57
|
+
export type Permissions = Record<string, boolean>
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* User role structure
|
|
61
|
+
*/
|
|
62
|
+
export interface Role {
|
|
63
|
+
permissions?: Permissions
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* User data structure
|
|
68
|
+
*/
|
|
69
|
+
export interface UserData {
|
|
70
|
+
role?: Role
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Hook params
|
|
75
|
+
*/
|
|
76
|
+
export interface UseModulesParams {
|
|
77
|
+
dataUser?: UserData
|
|
78
|
+
callback?: (modules: Module[]) => void
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Hook return type
|
|
83
|
+
*/
|
|
84
|
+
export interface UseModulesResult {
|
|
85
|
+
loading: boolean
|
|
86
|
+
error?: Error
|
|
87
|
+
modules: Module[]
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Custom hook to fetch and validate modules based on user permissions
|
|
92
|
+
*
|
|
93
|
+
* @param {UseModulesParams} params - Hook parameters
|
|
94
|
+
* @returns {UseModulesResult}
|
|
95
|
+
*/
|
|
96
|
+
export const useModules = ({
|
|
97
|
+
dataUser = {},
|
|
98
|
+
callback = () => {}
|
|
99
|
+
}: UseModulesParams = {}): UseModulesResult => {
|
|
100
|
+
const permissions: Permissions = dataUser?.role?.permissions ?? {}
|
|
101
|
+
|
|
102
|
+
const { loading, error, data } = useQuery<{ modules: Module[] }>(GET_MODULES, {
|
|
103
|
+
fetchPolicy: 'cache-and-network',
|
|
104
|
+
onCompleted: (response) => {
|
|
105
|
+
if (Array.isArray(response?.modules)) {
|
|
106
|
+
callback(response.modules)
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
onError: (err) => {
|
|
110
|
+
console.error('Error fetching modules:', err)
|
|
111
|
+
}
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
const safeModules: Module[] = Array.isArray(data?.modules) ? data.modules : []
|
|
115
|
+
|
|
116
|
+
// cast to any to work around a too-narrow parameter type in the helper
|
|
117
|
+
const filteredModules: Module[] = validateModules(safeModules as any, permissions)
|
|
118
|
+
|
|
119
|
+
return {
|
|
120
|
+
loading,
|
|
121
|
+
error: error ?? undefined,
|
|
122
|
+
modules: filteredModules
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param options
|
|
6
|
+
* @param options.resetOnExit
|
|
7
|
+
*/
|
|
8
|
+
export function useMouse(
|
|
9
|
+
options: { resetOnExit } = { resetOnExit: false }
|
|
10
|
+
) {
|
|
11
|
+
const [position, setPosition] = useState({ x: 0, y: 0 })
|
|
12
|
+
|
|
13
|
+
const ref = useRef()
|
|
14
|
+
|
|
15
|
+
const setMousePosition = (event) => {
|
|
16
|
+
if (ref.current) {
|
|
17
|
+
const rect = event.currentTarget.getBoundingClientRect()
|
|
18
|
+
|
|
19
|
+
const x = Math.max(
|
|
20
|
+
0,
|
|
21
|
+
Math.round(
|
|
22
|
+
event.pageX - rect.left - (window.pageXOffset || window.scrollX)
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
const y = Math.max(
|
|
27
|
+
0,
|
|
28
|
+
Math.round(
|
|
29
|
+
event.pageY - rect.top - (window.pageYOffset || window.scrollY)
|
|
30
|
+
)
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
setPosition({ x, y })
|
|
34
|
+
} else {
|
|
35
|
+
setPosition({ x: event.clientX, y: event.clientY })
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const resetMousePosition = () => {return setPosition({ x: 0, y: 0 })}
|
|
40
|
+
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
const element = ref?.current ? ref.current : document
|
|
43
|
+
element.addEventListener('mousemove', setMousePosition)
|
|
44
|
+
if (options.resetOnExit)
|
|
45
|
+
{element.addEventListener('mouseleave', resetMousePosition)}
|
|
46
|
+
|
|
47
|
+
return () => {
|
|
48
|
+
element.removeEventListener('mousemove', setMousePosition)
|
|
49
|
+
if (options.resetOnExit)
|
|
50
|
+
{element.removeEventListener('mouseleave', resetMousePosition)}
|
|
51
|
+
}
|
|
52
|
+
}, [ref.current])
|
|
53
|
+
|
|
54
|
+
return { ref, ...position }
|
|
55
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useEffect,
|
|
3
|
+
useRef,
|
|
4
|
+
useState
|
|
5
|
+
} from 'react'
|
|
6
|
+
|
|
7
|
+
export const useMutateHeight = ({ isCollapsed = false }) => {
|
|
8
|
+
const [collapsed, setCollapsed] = useState(isCollapsed)
|
|
9
|
+
const childrenContainerRef = useRef(null)
|
|
10
|
+
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
setCollapsed(isCollapsed)
|
|
13
|
+
if (childrenContainerRef.current !== null) {
|
|
14
|
+
const height = isCollapsed
|
|
15
|
+
? childrenContainerRef.current.scrollHeight
|
|
16
|
+
: 0
|
|
17
|
+
childrenContainerRef.current.style.height = `${height}px`
|
|
18
|
+
}
|
|
19
|
+
}, [isCollapsed])
|
|
20
|
+
|
|
21
|
+
const handleCollapsed = visible => {
|
|
22
|
+
setCollapsed(visible)
|
|
23
|
+
if (childrenContainerRef.current !== null) {
|
|
24
|
+
const height = visible ? childrenContainerRef.current.scrollHeight : 0
|
|
25
|
+
childrenContainerRef.current.style.height = `${height}px`
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
handleCollapsed,
|
|
31
|
+
childrenContainerRef,
|
|
32
|
+
collapsed
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// https://codesandbox.io/s/dropdown-navigation-9fx6r?file=/src/Navigation/Navigation.js:357-775
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { useQuery, gql } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GraphQL query to fetch order status types.
|
|
5
|
+
*/
|
|
6
|
+
const GET_ORDER_STATUS_TYPES = gql`
|
|
7
|
+
query getAllOrderStatusTypes {
|
|
8
|
+
getAllOrderStatusTypes {
|
|
9
|
+
message
|
|
10
|
+
success
|
|
11
|
+
__typename
|
|
12
|
+
data {
|
|
13
|
+
backgroundColor
|
|
14
|
+
color
|
|
15
|
+
createdAt
|
|
16
|
+
description
|
|
17
|
+
idStatus
|
|
18
|
+
name
|
|
19
|
+
priority
|
|
20
|
+
state
|
|
21
|
+
updatedAt
|
|
22
|
+
__typename
|
|
23
|
+
}
|
|
24
|
+
pagination {
|
|
25
|
+
currentPage
|
|
26
|
+
totalPages
|
|
27
|
+
totalRecords
|
|
28
|
+
__typename
|
|
29
|
+
}
|
|
30
|
+
errors {
|
|
31
|
+
context {
|
|
32
|
+
key
|
|
33
|
+
label
|
|
34
|
+
limit
|
|
35
|
+
value
|
|
36
|
+
__typename
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @typedef {Object} OrderStatusType
|
|
45
|
+
* @property {string} idStatus - Unique identifier for the status
|
|
46
|
+
* @property {string} name - Name of the status
|
|
47
|
+
* @property {number} priority - Priority level
|
|
48
|
+
* @property {string} backgroundColor - Background color in hex
|
|
49
|
+
* @property {string} color - Text color in hex
|
|
50
|
+
* @property {number} state - Status state (e.g. active/inactive)
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Custom hook to fetch order status types.
|
|
55
|
+
*
|
|
56
|
+
* @returns {{
|
|
57
|
+
* statusTypes: OrderStatusType[] | null,
|
|
58
|
+
* loading: boolean,
|
|
59
|
+
* error: Error | undefined,
|
|
60
|
+
* refetch: () => void
|
|
61
|
+
* }}
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* Retrieves order status types via the corresponding GraphQL query and exposes loading state, errors, and refetch capabilities.
|
|
65
|
+
*
|
|
66
|
+
* @param options - Optional configuration values for the hook.
|
|
67
|
+
* @param options.callback - Callback invoked when the query completes successfully, receiving the raw query response.
|
|
68
|
+
* @returns An object containing the normalized status types data along with loading, error, and refetch helpers.
|
|
69
|
+
*/
|
|
70
|
+
export interface OrderStatusType {
|
|
71
|
+
idStatus: string
|
|
72
|
+
name: string
|
|
73
|
+
priority: number
|
|
74
|
+
backgroundColor: string
|
|
75
|
+
color: string
|
|
76
|
+
state: number
|
|
77
|
+
description: string
|
|
78
|
+
createdAt: string
|
|
79
|
+
updatedAt: string
|
|
80
|
+
__typename: string
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface OrderStatusTypeErrorContext {
|
|
84
|
+
key: string
|
|
85
|
+
label: string
|
|
86
|
+
limit: number
|
|
87
|
+
value: string
|
|
88
|
+
__typename: string
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export interface OrderStatusTypeError {
|
|
92
|
+
context: OrderStatusTypeErrorContext[]
|
|
93
|
+
__typename: string
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export interface GetAllOrderStatusTypesResponse {
|
|
97
|
+
message: string
|
|
98
|
+
success: boolean
|
|
99
|
+
__typename: string
|
|
100
|
+
data: OrderStatusType[]
|
|
101
|
+
errors?: OrderStatusTypeError[] | null
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface OrderStatusTypesQueryResult {
|
|
105
|
+
getAllOrderStatusTypes: GetAllOrderStatusTypesResponse
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface UseOrderStatusTypesOptions {
|
|
109
|
+
callback?: (payload: OrderStatusTypesQueryResult) => void
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export const useOrderStatusTypes = ({
|
|
113
|
+
callback = () => {return undefined}
|
|
114
|
+
}: UseOrderStatusTypesOptions = {}) => {
|
|
115
|
+
const {
|
|
116
|
+
data,
|
|
117
|
+
loading,
|
|
118
|
+
error,
|
|
119
|
+
refetch
|
|
120
|
+
} = useQuery<OrderStatusTypesQueryResult>(GET_ORDER_STATUS_TYPES, {
|
|
121
|
+
onCompleted: callback,
|
|
122
|
+
fetchPolicy: 'cache-and-network'
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
const statusTypes = data?.getAllOrderStatusTypes?.data ?? null
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
data: statusTypes,
|
|
129
|
+
loading,
|
|
130
|
+
error,
|
|
131
|
+
refetch
|
|
132
|
+
}
|
|
133
|
+
}
|