npm-pkg-hook 1.13.1 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +0 -0
- package/.github/pull_request_template.md +18 -0
- package/.github/workflows/pepeline.yaml +30 -0
- package/dist/index.js +1 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -6
- package/dist/index.mjs.map +1 -1
- package/eslint.config.mts +153 -0
- package/expire.json +1 -0
- package/jsconfig.json +28 -0
- package/package.json +1 -6
- 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 +154 -0
- package/src/hooks/isTokenExpired/index.ts +17 -0
- package/src/hooks/newMessageSubscription/index.ts +28 -0
- package/src/hooks/newStoreOrderSubscription/index.ts +26 -0
- package/src/hooks/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 +24 -0
- package/src/hooks/useColorByLetters/helpers/mersenne_twister.ts +118 -0
- package/src/hooks/useColorByLetters/index.ts +24 -0
- package/src/hooks/useConnection/index.ts +24 -0
- package/src/hooks/useCountries/index.ts +20 -0
- package/src/hooks/useCountries/queries.ts +12 -0
- package/src/hooks/useCreateDeliveryTime/index.ts +51 -0
- package/src/hooks/useCreateOrderStatusType/index.ts +134 -0
- package/src/hooks/useCreateProduct/helpers/index.ts +23 -0
- package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/index.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 +43 -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 +77 -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.ts +4 -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 +11 -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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useLazyQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { GET_ONE_SALE } from './queries'
|
|
4
|
+
|
|
5
|
+
export const useGetSale = () => {
|
|
6
|
+
const [getOneSalesStore, { loading, data, called, error }] = useLazyQuery(GET_ONE_SALE)
|
|
7
|
+
|
|
8
|
+
const handleGetSale = async (pCodeRef) => {
|
|
9
|
+
return await getOneSalesStore({
|
|
10
|
+
variables: { pCodeRef }
|
|
11
|
+
})
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
data: data?.getOneSalesStore,
|
|
15
|
+
loading,
|
|
16
|
+
error,
|
|
17
|
+
called,
|
|
18
|
+
getOneSalesStore,
|
|
19
|
+
handleGetSale
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useApolloClient, useQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { GET_ALL_COUNT_SALES } from './queries'
|
|
4
|
+
|
|
5
|
+
export const useTotalSales = () => {
|
|
6
|
+
const client = useApolloClient()
|
|
7
|
+
|
|
8
|
+
const { data, loading, error } = useQuery(GET_ALL_COUNT_SALES, {
|
|
9
|
+
fetchPolicy: 'cache-and-network',
|
|
10
|
+
notifyOnNetworkStatusChange: true,
|
|
11
|
+
nextFetchPolicy: 'cache-first',
|
|
12
|
+
refetchWritePolicy: 'merge'
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
// Guarda la respuesta en la caché manualmente (opcional)
|
|
16
|
+
if (data) {
|
|
17
|
+
client.writeQuery({ query: GET_ALL_COUNT_SALES, data })
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return [data?.getTodaySales || 0, {
|
|
21
|
+
loading,
|
|
22
|
+
error
|
|
23
|
+
}]
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const days = [
|
|
2
|
+
{
|
|
3
|
+
day: 1,
|
|
4
|
+
name: 'L'
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
day: 2,
|
|
8
|
+
name: 'M'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
day: 3,
|
|
12
|
+
name: 'MI'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
day: 4,
|
|
16
|
+
name: 'J'
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
day: 5,
|
|
20
|
+
name: 'V'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
day: 6,
|
|
24
|
+
name: 'S'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
day: 0,
|
|
28
|
+
name: 'D'
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
export const arraysAreEqual = (arr1, arr2) => {
|
|
33
|
+
if (arr1.length !== arr2.length) return false
|
|
34
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
35
|
+
if (arr1[i] !== arr2[i]) return false
|
|
36
|
+
}
|
|
37
|
+
return true
|
|
38
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useMutation } from '@apollo/client'
|
|
2
|
+
import { useState } from 'react'
|
|
3
|
+
|
|
4
|
+
import { days } from './helpers/index'
|
|
5
|
+
import { CREATE_AVAILABLE_PRODUCTS_DAYS } from './queries'
|
|
6
|
+
|
|
7
|
+
export const useSaveAvailableProduct = () => {
|
|
8
|
+
const [selectedDays, setSelectedDays] = useState([])
|
|
9
|
+
|
|
10
|
+
const handleDaySelection = (day) => {
|
|
11
|
+
if (selectedDays.includes(day)) {
|
|
12
|
+
setSelectedDays(selectedDays.filter((selectedDay) => { return selectedDay !== day }))
|
|
13
|
+
} else {
|
|
14
|
+
setSelectedDays([...selectedDays, day])
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const handleCleanSelectedDays = () => {
|
|
18
|
+
setSelectedDays([])
|
|
19
|
+
}
|
|
20
|
+
const [registerAvailableProduct, { loading }] = useMutation(CREATE_AVAILABLE_PRODUCTS_DAYS, {
|
|
21
|
+
onError: () => { return console.log({ message: 'Lo sentimos ocurrió un error, vuelve a intentarlo' }) }
|
|
22
|
+
})
|
|
23
|
+
return {
|
|
24
|
+
handleDaySelection,
|
|
25
|
+
handleCleanSelectedDays,
|
|
26
|
+
selectedDays,
|
|
27
|
+
setSelectedDays,
|
|
28
|
+
days,
|
|
29
|
+
Loading: loading,
|
|
30
|
+
registerAvailableProduct
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useMutation } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { SAVE_LOCATION_USER } from './queries'
|
|
4
|
+
|
|
5
|
+
export const useSaveLocation = () => {
|
|
6
|
+
const [updateUserLocations, { loading, error, data }] =
|
|
7
|
+
useMutation(SAVE_LOCATION_USER)
|
|
8
|
+
|
|
9
|
+
return [
|
|
10
|
+
updateUserLocations,
|
|
11
|
+
{
|
|
12
|
+
loading,
|
|
13
|
+
error,
|
|
14
|
+
data
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { gql } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
export const SAVE_LOCATION_USER = gql`
|
|
4
|
+
mutation updateUserLocations($input: InputUserLocation) {
|
|
5
|
+
updateUserLocations(input: $input) {
|
|
6
|
+
locationId
|
|
7
|
+
id
|
|
8
|
+
cId
|
|
9
|
+
dId
|
|
10
|
+
ctId
|
|
11
|
+
uLatitud
|
|
12
|
+
uLongitude
|
|
13
|
+
uLocationKnow
|
|
14
|
+
uPiso
|
|
15
|
+
DatCre
|
|
16
|
+
DatMod
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useMutation, useQuery } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { GET_ONE_SCHEDULE_STORE, GET_SCHEDULE_STORE } from '../useProductsFood/queriesStore'
|
|
4
|
+
import { CREATE_STORE_CALENDAR } from '../useSchedule/queries'
|
|
5
|
+
export * from './schedule'
|
|
6
|
+
|
|
7
|
+
export const useSchedule = ({ day = null, idStore = '' }) => {
|
|
8
|
+
const {
|
|
9
|
+
data,
|
|
10
|
+
loading,
|
|
11
|
+
error
|
|
12
|
+
} = useQuery(GET_ONE_SCHEDULE_STORE, { variables: { schDay: day, idStore } })
|
|
13
|
+
|
|
14
|
+
return [data?.getOneStoreSchedules, { loading, error }]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const useSchedules = ({ schDay = 1, idStore = '' }) => {
|
|
18
|
+
const {
|
|
19
|
+
data,
|
|
20
|
+
loading,
|
|
21
|
+
error
|
|
22
|
+
} = useQuery(GET_SCHEDULE_STORE, { variables: { schDay, idStore } })
|
|
23
|
+
|
|
24
|
+
return [data?.getStoreSchedules, { loading, error }]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const useCreateSchedules = () => {
|
|
28
|
+
const [setStoreSchedule, { loading, error }] = useMutation(CREATE_STORE_CALENDAR, {
|
|
29
|
+
onError: (e) => {
|
|
30
|
+
console.error(e)
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
return [setStoreSchedule, { loading, error }]
|
|
35
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { gql } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
export const CREATE_STORE_CALENDAR = gql`
|
|
4
|
+
mutation setStoreSchedule($input: ITstoreSchedule!){
|
|
5
|
+
setStoreSchedule(input: $input){
|
|
6
|
+
message
|
|
7
|
+
success
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
`
|
|
11
|
+
export const GET_SCHEDULE_STORE = gql`
|
|
12
|
+
query getStoreSchedules($schDay: Int, $idStore: ID) {
|
|
13
|
+
getStoreSchedules(schDay: $schDay, idStore: $idStore) {
|
|
14
|
+
schId
|
|
15
|
+
idStore
|
|
16
|
+
schDay
|
|
17
|
+
schHoSta
|
|
18
|
+
schHoEnd
|
|
19
|
+
schState
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
`
|
|
23
|
+
|
|
24
|
+
export const GET_ONE_SCHEDULE_STORE = gql`
|
|
25
|
+
query getOneStoreSchedules($schDay: Int, $idStore: ID) {
|
|
26
|
+
getOneStoreSchedules(schDay: $schDay, idStore: $idStore) {
|
|
27
|
+
schId
|
|
28
|
+
schDay
|
|
29
|
+
schHoSta
|
|
30
|
+
schHoEnd
|
|
31
|
+
schState
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
`
|
|
35
|
+
|
|
36
|
+
export const SET_STATUS_ALL_SCHEDULE_STORE = gql`
|
|
37
|
+
mutation setScheduleOpenAll($scheduleOpenAll: Boolean!) {
|
|
38
|
+
setScheduleOpenAll(scheduleOpenAll: $scheduleOpenAll) {
|
|
39
|
+
success
|
|
40
|
+
message
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { useQuery, useMutation } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
GET_ONE_SCHEDULE_STORE,
|
|
5
|
+
GET_SCHEDULE_STORE,
|
|
6
|
+
CREATE_STORE_CALENDAR,
|
|
7
|
+
SET_STATUS_ALL_SCHEDULE_STORE
|
|
8
|
+
} from './queries'
|
|
9
|
+
|
|
10
|
+
export const useSchedule = ({ day = null, idStore = '' }) => {
|
|
11
|
+
const {
|
|
12
|
+
data,
|
|
13
|
+
loading,
|
|
14
|
+
error
|
|
15
|
+
} = useQuery(GET_ONE_SCHEDULE_STORE, { variables: { schDay: day, idStore } })
|
|
16
|
+
|
|
17
|
+
return [data?.getOneStoreSchedules, { loading, error }]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const useSetScheduleOpenAll = () => {
|
|
21
|
+
const [setStoreSchedule, { loading, error }] = useMutation(SET_STATUS_ALL_SCHEDULE_STORE, {
|
|
22
|
+
onError: (e) => {
|
|
23
|
+
console.error(e)
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
const handleSetStoreSchedule = (scheduleOpenAll) => {
|
|
28
|
+
setStoreSchedule({
|
|
29
|
+
variables: {
|
|
30
|
+
scheduleOpenAll
|
|
31
|
+
},
|
|
32
|
+
update: (cache, { data }) => {
|
|
33
|
+
const success = data?.setScheduleOpenAll?.success
|
|
34
|
+
if (success) {
|
|
35
|
+
cache.modify({
|
|
36
|
+
fields: {
|
|
37
|
+
getStore (_, { readField }) {
|
|
38
|
+
const store = readField('getStore')
|
|
39
|
+
const updatedCart = {
|
|
40
|
+
...store,
|
|
41
|
+
scheduleOpenAll
|
|
42
|
+
}
|
|
43
|
+
return updatedCart
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return [handleSetStoreSchedule, { loading, error }]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const useSchedules = ({ schDay = 1, idStore = '', onCompleted = (data) => { return data } }) => {
|
|
56
|
+
const {
|
|
57
|
+
data,
|
|
58
|
+
loading,
|
|
59
|
+
error
|
|
60
|
+
} = useQuery(GET_SCHEDULE_STORE, {
|
|
61
|
+
variables: { schDay, idStore },
|
|
62
|
+
onCompleted: (data) => {
|
|
63
|
+
onCompleted(data)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return [data?.getStoreSchedules, { loading, error }]
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export const useCreateSchedules = () => {
|
|
72
|
+
const [setStoreSchedule, { loading, error }] = useMutation(CREATE_STORE_CALENDAR, {
|
|
73
|
+
onError: (e) => {
|
|
74
|
+
console.error(e)
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
return [setStoreSchedule, { loading, error }]
|
|
79
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param data
|
|
4
|
+
*/
|
|
5
|
+
export function useScheduleData (data) {
|
|
6
|
+
const days = {
|
|
7
|
+
1: 'Lunes',
|
|
8
|
+
2: 'Martes',
|
|
9
|
+
3: 'Miércoles',
|
|
10
|
+
4: 'Jueves',
|
|
11
|
+
5: 'Viernes',
|
|
12
|
+
6: 'Sabado',
|
|
13
|
+
0: 'Domingo'
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const daysArray = [
|
|
17
|
+
{ day: 0, schHoSta: '', schHoEnd: '' },
|
|
18
|
+
{ day: 1, schHoSta: '', schHoEnd: '' },
|
|
19
|
+
{ day: 2, schHoSta: '', schHoEnd: '' },
|
|
20
|
+
{ day: 3, schHoSta: '', schHoEnd: '' },
|
|
21
|
+
{ day: 4, schHoSta: '', schHoEnd: '' },
|
|
22
|
+
{ day: 5, schHoSta: '', schHoEnd: '' },
|
|
23
|
+
{ day: 6, schHoSta: '', schHoEnd: '' }
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
const combinedArray = daysArray.map((dayObj) => {
|
|
27
|
+
const originalObj = data?.find((item) => {return item.schDay === dayObj.day})
|
|
28
|
+
return originalObj || { ...dayObj }
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
// Encontrar la hora de inicio más temprana en combinedArray
|
|
32
|
+
const earliestStartTime = Math.min(
|
|
33
|
+
...combinedArray.map((item) => {
|
|
34
|
+
const time = new Date(`2023-08-01 ${item.schHoSta}`)
|
|
35
|
+
return time.getTime()
|
|
36
|
+
})
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
const calculateYPosition = (start) => {
|
|
40
|
+
const time = new Date(`2023-08-01 ${start}`)
|
|
41
|
+
const differenceInMinutes = (time.getTime() - earliestStartTime) / (1000 * 40)
|
|
42
|
+
return differenceInMinutes / 40 // Ajusta el valor para adaptarse a la posición deseada en el eje Y
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Calcula la duración en horas entre dos horas de inicio y final.
|
|
47
|
+
* @param {string} startTime - Hora de inicio en formato 'HH:mm'.
|
|
48
|
+
* @param {string} endTime - Hora de fin en formato 'HH:mm'.
|
|
49
|
+
* @returns {number|string} Duración en horas con dos decimales.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
// Función para calcular la duración en horas de un horario
|
|
53
|
+
/**
|
|
54
|
+
*
|
|
55
|
+
* @param startTime
|
|
56
|
+
* @param endTime
|
|
57
|
+
*/
|
|
58
|
+
function calculateDurationInHours (startTime, endTime) {
|
|
59
|
+
const startHour = new Date(`2000-01-01T${startTime}`)
|
|
60
|
+
const endHour = new Date(`2000-01-01T${endTime}`)
|
|
61
|
+
const duration = (endHour - startHour) / (1000 * 40 * 40) // Convertir la diferencia en horas
|
|
62
|
+
return duration.toFixed(2) // Redondear a 2 decimales
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Variables para controlar la posición en el eje X
|
|
66
|
+
const columnIndex = 0
|
|
67
|
+
const lastDay = -1
|
|
68
|
+
const uniqueHoursSet = new Set([
|
|
69
|
+
...combinedArray.map((item) => {return item.schHoSta}),
|
|
70
|
+
...combinedArray.map((item) => {return item.schHoEnd})
|
|
71
|
+
])
|
|
72
|
+
|
|
73
|
+
const uniqueHours = []
|
|
74
|
+
for (const hour of uniqueHoursSet) {
|
|
75
|
+
const time = new Date(`2023-08-01 ${hour}`)
|
|
76
|
+
const formattedHour = time.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: false })
|
|
77
|
+
uniqueHours.push(formattedHour)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
uniqueHours.sort((a, b) => {
|
|
81
|
+
const timeA = new Date(`2023-08-01 ${a}`)
|
|
82
|
+
const timeB = new Date(`2023-08-01 ${b}`)
|
|
83
|
+
return timeA - timeB
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
// Agregar las horas que faltan al final del día
|
|
87
|
+
if (uniqueHours.length > 0) {
|
|
88
|
+
const lastHour = new Date(`2023-08-01 ${uniqueHours[uniqueHours.length - 1]}`)
|
|
89
|
+
const endTime = new Date(`2023-08-01 ${combinedArray[0].schHoEnd}`)
|
|
90
|
+
const hoursDifference = (endTime - lastHour) / (1000 * 60 * 60)
|
|
91
|
+
|
|
92
|
+
for (let i = 1; i <= hoursDifference; i++) {
|
|
93
|
+
const newHour = new Date(lastHour.getTime() + i * 60 * 60 * 1000)
|
|
94
|
+
const formattedNewHour = newHour.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: false })
|
|
95
|
+
uniqueHours.push(formattedNewHour)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const dayWidth = 120
|
|
100
|
+
const daysWithHours = Array.from(new Set(combinedArray.map((item) => {return (item.schDay !== undefined ? item.schDay : item.day)})))
|
|
101
|
+
const totalDays = daysWithHours.length
|
|
102
|
+
const totalWidth = totalDays * dayWidth
|
|
103
|
+
|
|
104
|
+
const sortedUniqueHours = Array.from(uniqueHoursSet)
|
|
105
|
+
.sort((a, b) => {
|
|
106
|
+
const timeA = new Date(`2023-08-01 ${a}`)
|
|
107
|
+
const timeB = new Date(`2023-08-01 ${b}`)
|
|
108
|
+
return timeA - timeB
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
const formattedHours = sortedUniqueHours
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
*
|
|
115
|
+
*/
|
|
116
|
+
function calculateTimeLinesHeight () {
|
|
117
|
+
const totalHours = uniqueHours.length
|
|
118
|
+
return totalHours * 60 // Cada hora ocupa 60 píxeles de altura
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
columnIndex,
|
|
122
|
+
combinedArray,
|
|
123
|
+
days,
|
|
124
|
+
daysArray,
|
|
125
|
+
daysWithHours,
|
|
126
|
+
dayWidth,
|
|
127
|
+
lastDay,
|
|
128
|
+
totalWidth,
|
|
129
|
+
sortedUniqueHours,
|
|
130
|
+
uniqueHours: formattedHours,
|
|
131
|
+
calculateDurationInHours,
|
|
132
|
+
calculateTimeLinesHeight,
|
|
133
|
+
calculateYPosition
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
export const useScrollY = () => {
|
|
4
|
+
// Función scroll Para mover verticalmente
|
|
5
|
+
const [offsetY, setOffsetY] = useState(0)
|
|
6
|
+
const handleScroll = () => { return setOffsetY(window.pageYOffset) }
|
|
7
|
+
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
window.addEventListener('scroll', handleScroll)
|
|
10
|
+
return () => { return window.removeEventListener('scroll', handleScroll) }
|
|
11
|
+
}, [])
|
|
12
|
+
return {
|
|
13
|
+
offsetY
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const useScrollColor = () => {
|
|
18
|
+
const [scrollNav, setScrollNav] = useState(false)
|
|
19
|
+
const changeNav = () => {
|
|
20
|
+
if (window?.scrollY >= 1) {
|
|
21
|
+
setScrollNav(true)
|
|
22
|
+
} else {
|
|
23
|
+
setScrollNav(false)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
window.addEventListener('scroll', changeNav)
|
|
28
|
+
}, [])
|
|
29
|
+
return {
|
|
30
|
+
scrollNav
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const useScrollHook = () => {
|
|
35
|
+
const [style, setStyle] = useState({})
|
|
36
|
+
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
let scrollPos = 0
|
|
39
|
+
const handleChangeHeaderStyle = () => {
|
|
40
|
+
if (document.body?.getBoundingClientRect && document.body.getBoundingClientRect().top > scrollPos) {
|
|
41
|
+
setStyle({})
|
|
42
|
+
} else {
|
|
43
|
+
setStyle({ transform: 'translateY(-300%)' })
|
|
44
|
+
}
|
|
45
|
+
scrollPos = document.body.getBoundingClientRect().top
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
window.addEventListener('scroll', handleChangeHeaderStyle)
|
|
49
|
+
|
|
50
|
+
return () => {
|
|
51
|
+
window.removeEventListener('scroll', handleChangeHeaderStyle)
|
|
52
|
+
}
|
|
53
|
+
}, [])
|
|
54
|
+
|
|
55
|
+
return style
|
|
56
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
// Función scroll Para rotar
|
|
4
|
+
export const useScrollRotate = () => {
|
|
5
|
+
const [position, setPosition] = useState(0)
|
|
6
|
+
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const handleScroll = () => { return setPosition(window.scrollY) }
|
|
9
|
+
window.addEventListener('scroll', handleScroll)
|
|
10
|
+
return () => {
|
|
11
|
+
window.removeEventListener('scroll', handleScroll)
|
|
12
|
+
}
|
|
13
|
+
}, [])
|
|
14
|
+
|
|
15
|
+
return { position }
|
|
16
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useMutation, useApolloClient } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
import { GET_ONE_PRODUCTS_FOOD } from '../useProductsFood/queriesStore'
|
|
4
|
+
|
|
5
|
+
import { UPDATE_IMAGE_PRODUCT_FOOD } from './queries'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Hook to update product image and sync Apollo cache.
|
|
9
|
+
*
|
|
10
|
+
* @returns {[Function, Object]} mutation function and its state
|
|
11
|
+
*/
|
|
12
|
+
export const useSetImageProducts = () => {
|
|
13
|
+
const client = useApolloClient()
|
|
14
|
+
|
|
15
|
+
const [setImageProducts, { data, loading, error }] = useMutation(UPDATE_IMAGE_PRODUCT_FOOD)
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Updates product image and manually updates Apollo cache.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} variables - Requires pId and image
|
|
21
|
+
* @returns {Promise<any>}
|
|
22
|
+
*/
|
|
23
|
+
const updateImageProducts = async (variables) => {
|
|
24
|
+
const { pId, image } = variables
|
|
25
|
+
|
|
26
|
+
if (!pId || !image) throw new Error('Missing pId or image')
|
|
27
|
+
|
|
28
|
+
const response = await setImageProducts({
|
|
29
|
+
variables: { input: { pId, image } }
|
|
30
|
+
})
|
|
31
|
+
const { ProImage } = response?.data?.setImageProducts?.data ?? {}
|
|
32
|
+
try {
|
|
33
|
+
const existing = client.readQuery({
|
|
34
|
+
query: GET_ONE_PRODUCTS_FOOD,
|
|
35
|
+
variables: { pId }
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
if (!existing?.productFoodsOne) return response
|
|
39
|
+
|
|
40
|
+
// 📝 Escribir de nuevo el producto con la imagen actualizada
|
|
41
|
+
client.writeQuery({
|
|
42
|
+
query: GET_ONE_PRODUCTS_FOOD,
|
|
43
|
+
variables: { pId },
|
|
44
|
+
data: {
|
|
45
|
+
productFoodsOne: {
|
|
46
|
+
...existing.productFoodsOne,
|
|
47
|
+
ProImage
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
} catch (err) {
|
|
52
|
+
console.warn('⚠️ Error updating cache for GET_ONE_PRODUCTS_FOOD:', err)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return response
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return [updateImageProducts, { data, loading, error }]
|
|
59
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { gql } from '@apollo/client'
|
|
2
|
+
|
|
3
|
+
export const UPDATE_IMAGE_PRODUCT_FOOD = gql`
|
|
4
|
+
mutation setImageProducts($input: IFileImageProductFood) {
|
|
5
|
+
setImageProducts(input: $input) {
|
|
6
|
+
success
|
|
7
|
+
message
|
|
8
|
+
data {
|
|
9
|
+
pId
|
|
10
|
+
ProImage
|
|
11
|
+
__typename
|
|
12
|
+
}
|
|
13
|
+
errors {
|
|
14
|
+
message
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Cookies } from '../../cookies'
|
|
2
|
+
import { getCurrentDomain } from '../../utils'
|
|
3
|
+
|
|
4
|
+
export const useSetSession = () => {
|
|
5
|
+
const handleSession = async (props) => {
|
|
6
|
+
try {
|
|
7
|
+
const { cookies } = props
|
|
8
|
+
let domain = getCurrentDomain()
|
|
9
|
+
|
|
10
|
+
// Si estás en entorno local, usa 'localhost' como dominio
|
|
11
|
+
if (domain === 'localhost') {
|
|
12
|
+
domain = undefined // Esto permitirá la cookie en 'localhost'
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (!Array.isArray(cookies)) {
|
|
16
|
+
throw new Error('Input cookies should be an array.')
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
for (const { name, value, domain: incomingDomain } of cookies) {
|
|
20
|
+
if (value) {
|
|
21
|
+
const expirationTime = new Date()
|
|
22
|
+
expirationTime.setTime(expirationTime.getTime() + 8 * 60 * 60 * 1000)
|
|
23
|
+
|
|
24
|
+
const formattedDomain = incomingDomain || domain
|
|
25
|
+
|
|
26
|
+
await Cookies.set(name, value, {
|
|
27
|
+
domain: formattedDomain,
|
|
28
|
+
path: '/',
|
|
29
|
+
secure: process.env.NODE_ENV === 'production',
|
|
30
|
+
sameSite: process.env.NODE_ENV === 'production' ? 'none' : 'lax',
|
|
31
|
+
expires: expirationTime
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
console.log('Cookies guardadas correctamente.')
|
|
37
|
+
} catch (error) {
|
|
38
|
+
console.error('Error al guardar las cookies:', error)
|
|
39
|
+
throw new Error('Error al guardar las cookies.')
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return [handleSession]
|
|
44
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
|
|
3
|
+
export const useSetState = initialState => {
|
|
4
|
+
const [state, setState] = useState(initialState)
|
|
5
|
+
const increase = () => { return setState(state + 1) }
|
|
6
|
+
const decrease = () => { return setState(state - 1) }
|
|
7
|
+
const reset = () => { return setState(0) }
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (state === -1) return reset()
|
|
10
|
+
return {}
|
|
11
|
+
}, [state])
|
|
12
|
+
// Cambio de estado
|
|
13
|
+
const changeState = () => {
|
|
14
|
+
setState(!state)
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
state,
|
|
18
|
+
increase,
|
|
19
|
+
decrease,
|
|
20
|
+
reset,
|
|
21
|
+
changeState,
|
|
22
|
+
setState
|
|
23
|
+
}
|
|
24
|
+
}
|