@sentecacommerce-theme/lib 0.12.26 → 0.12.30
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/cjs/analytics/Releva/api/query/useRelevaQuery.js +4 -2
- package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
- package/dist/cjs/analytics/Releva/hooks/useRelevaData.js +2 -2
- package/dist/cjs/analytics/Releva/hooks/useRelevaData.js.map +1 -1
- package/dist/cjs/analytics/Releva/useReleva.js +8 -1
- package/dist/cjs/analytics/Releva/useReleva.js.map +1 -1
- package/dist/cjs/cms/api/queries/index.js +16 -0
- package/dist/cjs/cms/api/queries/index.js.map +1 -1
- package/dist/cjs/cms/api/queries/keys.js +15 -1
- package/dist/cjs/cms/api/queries/keys.js.map +1 -1
- package/dist/cjs/cms/api/queries/useCMSContentListQuery.js +64 -0
- package/dist/cjs/cms/api/queries/useCMSContentListQuery.js.map +1 -0
- package/dist/cjs/cms/api/queries/useCMSContentQuery.js +54 -0
- package/dist/cjs/cms/api/queries/useCMSContentQuery.js.map +1 -0
- package/dist/cjs/cms/hooks/index.js +24 -0
- package/dist/cjs/cms/hooks/index.js.map +1 -1
- package/dist/cjs/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
- package/dist/cjs/cms/hooks/useCmsContent.js.map +1 -0
- package/dist/cjs/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
- package/dist/cjs/cms/hooks/useCmsContentList.js.map +1 -0
- package/dist/cjs/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
- package/dist/cjs/cms/hooks/useContentCategoriesMap.js.map +1 -0
- package/dist/cjs/cms/ssr/fetchPagePaths.js.map +1 -1
- package/dist/cjs/cms/ssr/index.js +16 -0
- package/dist/cjs/cms/ssr/index.js.map +1 -1
- package/dist/cjs/cms/ssr/prefetchCmsContent.js +78 -0
- package/dist/cjs/cms/ssr/prefetchCmsContent.js.map +1 -0
- package/dist/cjs/cms/ssr/prefetchCmsContentList.js +85 -0
- package/dist/cjs/cms/ssr/prefetchCmsContentList.js.map +1 -0
- package/dist/cjs/cms/utils/getCMSContentListFilter.js +16 -0
- package/dist/cjs/cms/utils/getCMSContentListFilter.js.map +1 -0
- package/dist/cjs/cms/utils/index.js +8 -0
- package/dist/cjs/cms/utils/index.js.map +1 -1
- package/dist/cjs/config/SentecaProvider.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/useBilling/index.js +4 -2
- package/dist/cjs/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +8 -6
- package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/index.js +16 -9
- package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/utils/validateBillingAddress.js +1 -2
- package/dist/cjs/contexts/CheckoutForm/utils/validateBillingAddress.js.map +1 -1
- package/dist/cjs/contexts/CheckoutForm/utils/validateShipping.js +28 -21
- package/dist/cjs/contexts/CheckoutForm/utils/validateShipping.js.map +1 -1
- package/dist/cjs/hooks/addresses-hooks/useAddressForm/index.js +4 -2
- package/dist/cjs/hooks/addresses-hooks/useAddressForm/index.js.map +1 -1
- package/dist/cjs/hooks/order-hooks/useOrder/index.js +12 -1
- package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/cjs/hooks/useAggregateResult/index.js +0 -4
- package/dist/cjs/hooks/useAggregateResult/index.js.map +1 -1
- package/dist/cjs/hooks/useCheckoutShippingModule/index.js +6 -1
- package/dist/cjs/hooks/useCheckoutShippingModule/index.js.map +1 -1
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/seo/api/ssr/getCanonicalUrl.js +27 -0
- package/dist/cjs/seo/api/ssr/getCanonicalUrl.js.map +1 -0
- package/dist/cjs/seo/api/ssr/index.js +8 -0
- package/dist/cjs/seo/api/ssr/index.js.map +1 -1
- package/dist/cjs/user/api/index.js +8 -0
- package/dist/cjs/user/api/index.js.map +1 -1
- package/dist/cjs/user/api/utils/generateAnonymousToken.js +48 -0
- package/dist/cjs/user/api/utils/generateAnonymousToken.js.map +1 -0
- package/dist/cjs/user/api/utils/index.js +8 -0
- package/dist/cjs/user/api/utils/index.js.map +1 -1
- package/dist/cjs/user/index.js +8 -0
- package/dist/cjs/user/index.js.map +1 -1
- package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js +4 -2
- package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
- package/dist/esm/analytics/Releva/hooks/useRelevaData.js +2 -2
- package/dist/esm/analytics/Releva/hooks/useRelevaData.js.map +1 -1
- package/dist/esm/analytics/Releva/useReleva.js +8 -2
- package/dist/esm/analytics/Releva/useReleva.js.map +1 -1
- package/dist/esm/cms/api/queries/index.js +2 -0
- package/dist/esm/cms/api/queries/index.js.map +1 -1
- package/dist/esm/cms/api/queries/keys.js +5 -0
- package/dist/esm/cms/api/queries/keys.js.map +1 -1
- package/dist/esm/cms/api/queries/useCMSContentListQuery.js +31 -0
- package/dist/esm/cms/api/queries/useCMSContentListQuery.js.map +1 -0
- package/dist/esm/cms/api/queries/useCMSContentQuery.js +17 -0
- package/dist/esm/cms/api/queries/useCMSContentQuery.js.map +1 -0
- package/dist/esm/cms/hooks/index.js +3 -0
- package/dist/esm/cms/hooks/index.js.map +1 -1
- package/dist/esm/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
- package/dist/esm/cms/hooks/useCmsContent.js.map +1 -0
- package/dist/esm/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
- package/dist/esm/cms/hooks/useCmsContentList.js.map +1 -0
- package/dist/esm/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
- package/dist/esm/cms/hooks/useContentCategoriesMap.js.map +1 -0
- package/dist/esm/cms/ssr/fetchPagePaths.js.map +1 -1
- package/dist/esm/cms/ssr/index.js +2 -0
- package/dist/esm/cms/ssr/index.js.map +1 -1
- package/dist/esm/cms/ssr/prefetchCmsContent.js +30 -0
- package/dist/esm/cms/ssr/prefetchCmsContent.js.map +1 -0
- package/dist/esm/cms/ssr/prefetchCmsContentList.js +32 -0
- package/dist/esm/cms/ssr/prefetchCmsContentList.js.map +1 -0
- package/dist/esm/cms/utils/getCMSContentListFilter.js +9 -0
- package/dist/esm/cms/utils/getCMSContentListFilter.js.map +1 -0
- package/dist/esm/cms/utils/index.js +1 -0
- package/dist/esm/cms/utils/index.js.map +1 -1
- package/dist/esm/config/SentecaProvider.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/useBilling/index.js +4 -2
- package/dist/esm/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +8 -6
- package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/index.js +13 -9
- package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/utils/validateBillingAddress.js +1 -2
- package/dist/esm/contexts/CheckoutForm/utils/validateBillingAddress.js.map +1 -1
- package/dist/esm/contexts/CheckoutForm/utils/validateShipping.js +25 -18
- package/dist/esm/contexts/CheckoutForm/utils/validateShipping.js.map +1 -1
- package/dist/esm/hooks/addresses-hooks/useAddressForm/index.js +3 -2
- package/dist/esm/hooks/addresses-hooks/useAddressForm/index.js.map +1 -1
- package/dist/esm/hooks/order-hooks/useOrder/index.js +10 -1
- package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
- package/dist/esm/hooks/useAggregateResult/index.js +0 -2
- package/dist/esm/hooks/useAggregateResult/index.js.map +1 -1
- package/dist/esm/hooks/useCheckoutShippingModule/index.js +6 -1
- package/dist/esm/hooks/useCheckoutShippingModule/index.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/seo/api/ssr/getCanonicalUrl.js +18 -0
- package/dist/esm/seo/api/ssr/getCanonicalUrl.js.map +1 -0
- package/dist/esm/seo/api/ssr/index.js +1 -0
- package/dist/esm/seo/api/ssr/index.js.map +1 -1
- package/dist/esm/user/api/index.js +1 -0
- package/dist/esm/user/api/index.js.map +1 -1
- package/dist/esm/user/api/utils/generateAnonymousToken.js +23 -0
- package/dist/esm/user/api/utils/generateAnonymousToken.js.map +1 -0
- package/dist/esm/user/api/utils/index.js +1 -0
- package/dist/esm/user/api/utils/index.js.map +1 -1
- package/dist/esm/user/index.js +1 -0
- package/dist/esm/user/index.js.map +1 -1
- package/dist/types/analytics/Releva/api/query/useRelevaQuery.d.ts +1 -1
- package/dist/types/analytics/Releva/hooks/useRelevaData.d.ts +1 -1
- package/dist/types/cms/api/queries/index.d.ts +2 -0
- package/dist/types/cms/api/queries/keys.d.ts +5 -1
- package/dist/types/cms/api/queries/useCMSContentListQuery.d.ts +15 -0
- package/dist/types/cms/api/queries/useCMSContentQuery.d.ts +1 -0
- package/dist/types/cms/hooks/index.d.ts +3 -0
- package/dist/types/{hooks/cms-content-hooks/useCmsContent/index.d.ts → cms/hooks/useCmsContent.d.ts} +0 -0
- package/dist/types/{hooks/cms-content-hooks/useCmsContentList/index.d.ts → cms/hooks/useCmsContentList.d.ts} +1 -1
- package/dist/types/{hooks/cms-content-hooks/useContentCategoriesMap/index.d.ts → cms/hooks/useContentCategoriesMap.d.ts} +0 -0
- package/dist/types/cms/ssr/fetchPagePaths.d.ts +1 -1
- package/dist/types/cms/ssr/index.d.ts +2 -0
- package/dist/types/cms/ssr/prefetchCmsContent.d.ts +5 -0
- package/dist/types/cms/ssr/prefetchCmsContentList.d.ts +3 -0
- package/dist/types/cms/utils/getCMSContentListFilter.d.ts +1 -0
- package/dist/types/cms/utils/index.d.ts +1 -0
- package/dist/types/config/SentecaProvider.d.ts +1 -0
- package/dist/types/contexts/CheckoutForm/hooks/useBilling/index.d.ts +4 -2
- package/dist/types/contexts/CheckoutForm/hooks/useShipping/index.d.ts +3 -1
- package/dist/types/contexts/CheckoutForm/index.d.ts +4 -1
- package/dist/types/contexts/CheckoutForm/utils/validateBillingAddress.d.ts +2 -2
- package/dist/types/contexts/CheckoutForm/utils/validateShipping.d.ts +1 -1
- package/dist/types/hooks/addresses-hooks/useAddressForm/index.d.ts +2 -1
- package/dist/types/hooks/order-hooks/useOrder/index.d.ts +7 -1
- package/dist/types/hooks/useAggregateResult/index.d.ts +2 -2
- package/dist/types/hooks/useCheckoutShippingModule/index.d.ts +2 -2
- package/dist/types/index.d.ts +0 -2
- package/dist/types/seo/api/ssr/getCanonicalUrl.d.ts +3 -0
- package/dist/types/seo/api/ssr/index.d.ts +1 -0
- package/dist/types/user/api/index.d.ts +1 -0
- package/dist/types/user/api/utils/generateAnonymousToken.d.ts +1 -0
- package/dist/types/user/api/utils/index.d.ts +1 -0
- package/dist/types/user/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/api/cmsContentApi/index.js +0 -325
- package/dist/cjs/api/cmsContentApi/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/index.js +0 -28
- package/dist/cjs/hooks/cms-content-hooks/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
- package/dist/esm/api/cmsContentApi/index.js +0 -161
- package/dist/esm/api/cmsContentApi/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/index.js +0 -4
- package/dist/esm/hooks/cms-content-hooks/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
- package/dist/types/api/cmsContentApi/index.d.ts +0 -37
- package/dist/types/hooks/cms-content-hooks/index.d.ts +0 -3
@@ -18,5 +18,5 @@ export interface ShippingValidationsType {
|
|
18
18
|
} | null | undefined;
|
19
19
|
};
|
20
20
|
}
|
21
|
-
export declare function validateShipping(data: AddressDTO | null | undefined, mod: ShippingModule | undefined, errorLabels: CheckoutFormErrorLabelsType, validations: ShippingValidationsType): CheckoutFormErrorsResultType;
|
21
|
+
export declare function validateShipping(data: AddressDTO | null | undefined, mod: ShippingModule | undefined, errorLabels: CheckoutFormErrorLabelsType, validations: ShippingValidationsType, requiredFields?: string[], enableNoShippingMethodMode?: boolean): CheckoutFormErrorsResultType;
|
22
22
|
export {};
|
@@ -33,12 +33,13 @@ declare type AddressFormContextValue = {
|
|
33
33
|
};
|
34
34
|
};
|
35
35
|
export declare type AddressFormLabelsType = ShippingFormErrorLabels & DefaultFormErrors;
|
36
|
-
export declare const AddressFormContextProvider: ({ children, address: currentAddress, onSuccess, validations, errorLabels, }: {
|
36
|
+
export declare const AddressFormContextProvider: ({ children, address: currentAddress, onSuccess, validations, errorLabels, requiredFields, }: {
|
37
37
|
children: JSX.Element | JSX.Element[];
|
38
38
|
address?: AddressDTO | undefined;
|
39
39
|
onSuccess: () => void;
|
40
40
|
validations?: ShippingValidationsType | undefined;
|
41
41
|
errorLabels: AddressFormLabelsType;
|
42
|
+
requiredFields?: string[] | undefined;
|
42
43
|
}) => JSX.Element;
|
43
44
|
export declare const useAddressForm: () => AddressFormContextValue;
|
44
45
|
export {};
|
@@ -1,9 +1,12 @@
|
|
1
|
-
import { LineItemDTO, OrderDTO, OrderDTOStatusEnum } from '@sentecacommerce/sdk';
|
1
|
+
import { LineItemDTO, OrderDTO, OrderDTOStatusEnum, CustomLineItemDTO, AddressDTO } from '@sentecacommerce/sdk';
|
2
2
|
declare type TrackingProp = {
|
3
3
|
provider?: string;
|
4
4
|
trackingId?: string;
|
5
5
|
trackingUrl?: string;
|
6
6
|
};
|
7
|
+
export declare type MappedCustomLineItemDTO = CustomLineItemDTO & {
|
8
|
+
name: string;
|
9
|
+
};
|
7
10
|
declare type UseOrderProps = {
|
8
11
|
lineItems?: LineItemDTO[];
|
9
12
|
lineItemsCount: number;
|
@@ -16,6 +19,9 @@ declare type UseOrderProps = {
|
|
16
19
|
isAddress: boolean;
|
17
20
|
};
|
18
21
|
trackingData: TrackingProp[];
|
22
|
+
customLineItems?: MappedCustomLineItemDTO[];
|
23
|
+
shippingAddress: AddressDTO;
|
24
|
+
billingAddress?: AddressDTO;
|
19
25
|
};
|
20
26
|
export declare const useOrder: ({ data, id, }: {
|
21
27
|
data?: OrderDTO | undefined;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { TermAggregationResult, StatAggregationResult, RangeAggregationResult } from '@sentecacommerce/sdk';
|
1
|
+
import type { TermAggregationResult, StatAggregationResult, RangeAggregationResult } from '@sentecacommerce/sdk';
|
2
2
|
import { FiltersQuery } from '../../listing/types';
|
3
3
|
export declare type AggregationTypes = 'ranges' | 'terms' | 'stats';
|
4
4
|
declare type AggregationDTO = TermAggregationResult | StatAggregationResult | RangeAggregationResult;
|
5
|
-
export { TermAggregationResult };
|
5
|
+
export type { TermAggregationResult };
|
6
6
|
export declare type FormattedAggregationResultType = {
|
7
7
|
onClick: () => void;
|
8
8
|
selected: boolean;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { OrderDTO } from '@sentecacommerce/sdk';
|
2
2
|
import { QueryResult } from 'react-query';
|
3
|
-
export declare const useCheckoutShippingModule: (orderQuery: QueryResult<OrderDTO, unknown
|
3
|
+
export declare const useCheckoutShippingModule: (orderQuery: QueryResult<OrderDTO, unknown>, isEnabled?: boolean) => ShippingModule;
|
4
4
|
export declare type ShippingModule = {
|
5
5
|
moduleKey?: string;
|
6
6
|
moduleData?: any;
|
7
|
-
};
|
7
|
+
} | undefined;
|
package/dist/types/index.d.ts
CHANGED
@@ -18,7 +18,6 @@ export * from './api/myShippingsSpeedyApi';
|
|
18
18
|
export * from './api/myOrdersApi';
|
19
19
|
export * from './api/myShippingsEcontApi';
|
20
20
|
export * from './api/myShippingsEvropatApi';
|
21
|
-
export * from './api/cmsContentApi';
|
22
21
|
export * from './api/citiesApi';
|
23
22
|
export * from './api/searchHistoryApi';
|
24
23
|
export * from './api/walletApi';
|
@@ -46,7 +45,6 @@ export * from './hooks/wishlist-hooks/useWishlist';
|
|
46
45
|
export * from './hooks/useCheckoutSummary';
|
47
46
|
export * from './hooks/usePrice';
|
48
47
|
export * from './hooks/wishlist-hooks';
|
49
|
-
export * from './hooks/cms-content-hooks';
|
50
48
|
export * from './hooks/labels';
|
51
49
|
export * from './hooks/checkout-hooks';
|
52
50
|
export * from './hooks/basket-hooks/useBasketTotalCount';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const generateAnonymousToken: () => Promise<import("@sentecacommerce/sdk").TokenResponseDTO>;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentecacommerce-theme/lib",
|
3
3
|
"sideEffects": false,
|
4
|
-
"version": "0.12.
|
4
|
+
"version": "0.12.30",
|
5
5
|
"main": "dist/cjs/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|
7
7
|
"types": "dist/types/index.d.ts",
|
@@ -28,9 +28,9 @@
|
|
28
28
|
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
|
29
29
|
"dev": "yarn build:esm --watch"
|
30
30
|
},
|
31
|
-
"gitHead": "
|
31
|
+
"gitHead": "fddf95bc9b59bb985682a6f49e9b915a06100c3c",
|
32
32
|
"dependencies": {
|
33
|
-
"@sentecacommerce-theme/base": "^0.12.
|
33
|
+
"@sentecacommerce-theme/base": "^0.12.30",
|
34
34
|
"@sentecacommerce/sdk": "^2.0.104",
|
35
35
|
"body-scroll-lock": "^3.1.5",
|
36
36
|
"copy-to-clipboard": "^3.3.1",
|
@@ -1,325 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
exports.__esModule = true;
|
6
|
-
exports.prefetchCmsContentList = exports.prefetchCmsContent = exports.cmsContentApi = exports.CmsContentApiFactory = void 0;
|
7
|
-
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
9
|
-
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11
|
-
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
13
|
-
|
14
|
-
var _sdk = require("@sentecacommerce/sdk");
|
15
|
-
|
16
|
-
var _router = require("next/router");
|
17
|
-
|
18
|
-
var _reactQuery = require("react-query");
|
19
|
-
|
20
|
-
var _getSDKConfig = require("../getSDKConfig");
|
21
|
-
|
22
|
-
/* eslint-disable react-hooks/rules-of-hooks */
|
23
|
-
var getListFilter = function getListFilter(type, tags) {
|
24
|
-
var tagsFilter = tags == null ? void 0 : tags.reduce(function (filter, tag, index) {
|
25
|
-
if (!index && !type) return filter + ("tags;in;\"" + tag + "\"");
|
26
|
-
return filter + ("&tags;in;\"" + tag + "\"");
|
27
|
-
}, '');
|
28
|
-
var typeFilter = type ? "type;in;\"" + type + "\"" : '';
|
29
|
-
return "" + typeFilter + (tagsFilter || '');
|
30
|
-
};
|
31
|
-
|
32
|
-
var cacheKeys = {
|
33
|
-
useContent: function useContent(key) {
|
34
|
-
return ['content-api-use-post', key];
|
35
|
-
},
|
36
|
-
useContentList: function useContentList(page, type, tags, enabled) {
|
37
|
-
return ['content-api-use-post-list', page, type, enabled].concat(tags || []);
|
38
|
-
}
|
39
|
-
};
|
40
|
-
|
41
|
-
var CmsContentApiFactory = function () {
|
42
|
-
// Instance stores a reference to the Singleton
|
43
|
-
var instance;
|
44
|
-
|
45
|
-
function initialize() {
|
46
|
-
// Singleton
|
47
|
-
// Private methods and variables
|
48
|
-
var contentsApi = new _sdk.ContentsAPI((0, _getSDKConfig.getSDKConfig)());
|
49
|
-
return Object.freeze({
|
50
|
-
cacheKeys: cacheKeys,
|
51
|
-
useContentList: function useContentList(config, enabled) {
|
52
|
-
var _router$query;
|
53
|
-
|
54
|
-
if (enabled === void 0) {
|
55
|
-
enabled = true;
|
56
|
-
}
|
57
|
-
|
58
|
-
var router = (0, _router.useRouter)();
|
59
|
-
var page = +((router == null ? void 0 : (_router$query = router.query) == null ? void 0 : _router$query.page) || '1');
|
60
|
-
return (0, _reactQuery.useQuery)(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
61
|
-
var filter;
|
62
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
63
|
-
while (1) {
|
64
|
-
switch (_context.prev = _context.next) {
|
65
|
-
case 0:
|
66
|
-
filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
|
67
|
-
_context.next = 3;
|
68
|
-
return contentsApi.filter((0, _extends2["default"])({}, config || {}, {
|
69
|
-
filter: filter,
|
70
|
-
offset: page * config.limit - config.limit
|
71
|
-
}));
|
72
|
-
|
73
|
-
case 3:
|
74
|
-
return _context.abrupt("return", _context.sent);
|
75
|
-
|
76
|
-
case 4:
|
77
|
-
case "end":
|
78
|
-
return _context.stop();
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}, _callee);
|
82
|
-
})), {
|
83
|
-
refetchOnMount: false,
|
84
|
-
refetchOnWindowFocus: false,
|
85
|
-
staleTime: 30000,
|
86
|
-
retry: false,
|
87
|
-
enabled: enabled
|
88
|
-
});
|
89
|
-
},
|
90
|
-
useContent: function useContent(_ref2) {
|
91
|
-
var key = _ref2.key;
|
92
|
-
return (0, _reactQuery.useQuery)(cacheKeys.useContent(key), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
93
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
94
|
-
while (1) {
|
95
|
-
switch (_context2.prev = _context2.next) {
|
96
|
-
case 0:
|
97
|
-
if (key) {
|
98
|
-
_context2.next = 2;
|
99
|
-
break;
|
100
|
-
}
|
101
|
-
|
102
|
-
return _context2.abrupt("return");
|
103
|
-
|
104
|
-
case 2:
|
105
|
-
_context2.next = 4;
|
106
|
-
return contentsApi.getByKey(key);
|
107
|
-
|
108
|
-
case 4:
|
109
|
-
return _context2.abrupt("return", _context2.sent);
|
110
|
-
|
111
|
-
case 5:
|
112
|
-
case "end":
|
113
|
-
return _context2.stop();
|
114
|
-
}
|
115
|
-
}
|
116
|
-
}, _callee2);
|
117
|
-
})), {
|
118
|
-
refetchOnMount: false,
|
119
|
-
refetchOnWindowFocus: false,
|
120
|
-
staleTime: 30000,
|
121
|
-
enabled: Boolean(key),
|
122
|
-
retry: false
|
123
|
-
});
|
124
|
-
},
|
125
|
-
prefetchContent: function () {
|
126
|
-
var _prefetchContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref4) {
|
127
|
-
var key, queryCache, isFound;
|
128
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
129
|
-
while (1) {
|
130
|
-
switch (_context4.prev = _context4.next) {
|
131
|
-
case 0:
|
132
|
-
key = _ref4.key, queryCache = _ref4.queryCache;
|
133
|
-
isFound = true;
|
134
|
-
_context4.next = 4;
|
135
|
-
return queryCache.prefetchQuery(cacheKeys.useContent(key), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
136
|
-
var data;
|
137
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
138
|
-
while (1) {
|
139
|
-
switch (_context3.prev = _context3.next) {
|
140
|
-
case 0:
|
141
|
-
_context3.next = 2;
|
142
|
-
return contentsApi.getByKey(key)["catch"](function () {
|
143
|
-
return null;
|
144
|
-
});
|
145
|
-
|
146
|
-
case 2:
|
147
|
-
data = _context3.sent;
|
148
|
-
|
149
|
-
if (data) {
|
150
|
-
_context3.next = 6;
|
151
|
-
break;
|
152
|
-
}
|
153
|
-
|
154
|
-
isFound = false;
|
155
|
-
return _context3.abrupt("return", null);
|
156
|
-
|
157
|
-
case 6:
|
158
|
-
return _context3.abrupt("return", data);
|
159
|
-
|
160
|
-
case 7:
|
161
|
-
case "end":
|
162
|
-
return _context3.stop();
|
163
|
-
}
|
164
|
-
}
|
165
|
-
}, _callee3);
|
166
|
-
})), {
|
167
|
-
staleTime: 30000
|
168
|
-
});
|
169
|
-
|
170
|
-
case 4:
|
171
|
-
return _context4.abrupt("return", isFound);
|
172
|
-
|
173
|
-
case 5:
|
174
|
-
case "end":
|
175
|
-
return _context4.stop();
|
176
|
-
}
|
177
|
-
}
|
178
|
-
}, _callee4);
|
179
|
-
}));
|
180
|
-
|
181
|
-
function prefetchContent(_x) {
|
182
|
-
return _prefetchContent.apply(this, arguments);
|
183
|
-
}
|
184
|
-
|
185
|
-
return prefetchContent;
|
186
|
-
}(),
|
187
|
-
prefetchContentList: function () {
|
188
|
-
var _prefetchContentList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(queryCache, config, page) {
|
189
|
-
var filter, isFound;
|
190
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
191
|
-
while (1) {
|
192
|
-
switch (_context6.prev = _context6.next) {
|
193
|
-
case 0:
|
194
|
-
filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
|
195
|
-
isFound = true;
|
196
|
-
_context6.next = 4;
|
197
|
-
return queryCache.prefetchQuery(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
198
|
-
var data;
|
199
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
200
|
-
while (1) {
|
201
|
-
switch (_context5.prev = _context5.next) {
|
202
|
-
case 0:
|
203
|
-
_context5.next = 2;
|
204
|
-
return contentsApi.filter((0, _extends2["default"])({}, config || {}, {
|
205
|
-
filter: filter,
|
206
|
-
offset: page * config.limit - config.limit
|
207
|
-
}))["catch"](function () {
|
208
|
-
return null;
|
209
|
-
});
|
210
|
-
|
211
|
-
case 2:
|
212
|
-
data = _context5.sent;
|
213
|
-
|
214
|
-
if (data != null && data.results.length) {
|
215
|
-
_context5.next = 6;
|
216
|
-
break;
|
217
|
-
}
|
218
|
-
|
219
|
-
isFound = false;
|
220
|
-
return _context5.abrupt("return", null);
|
221
|
-
|
222
|
-
case 6:
|
223
|
-
return _context5.abrupt("return", data);
|
224
|
-
|
225
|
-
case 7:
|
226
|
-
case "end":
|
227
|
-
return _context5.stop();
|
228
|
-
}
|
229
|
-
}
|
230
|
-
}, _callee5);
|
231
|
-
})), {
|
232
|
-
staleTime: 30000
|
233
|
-
});
|
234
|
-
|
235
|
-
case 4:
|
236
|
-
return _context6.abrupt("return", isFound);
|
237
|
-
|
238
|
-
case 5:
|
239
|
-
case "end":
|
240
|
-
return _context6.stop();
|
241
|
-
}
|
242
|
-
}
|
243
|
-
}, _callee6);
|
244
|
-
}));
|
245
|
-
|
246
|
-
function prefetchContentList(_x2, _x3, _x4) {
|
247
|
-
return _prefetchContentList.apply(this, arguments);
|
248
|
-
}
|
249
|
-
|
250
|
-
return prefetchContentList;
|
251
|
-
}()
|
252
|
-
});
|
253
|
-
}
|
254
|
-
|
255
|
-
return {
|
256
|
-
// Get the Singleton instance if one exists
|
257
|
-
// or create one if it doesn't
|
258
|
-
getInstance: function getInstance() {
|
259
|
-
if (!instance) {
|
260
|
-
instance = initialize();
|
261
|
-
}
|
262
|
-
|
263
|
-
return instance;
|
264
|
-
}
|
265
|
-
};
|
266
|
-
}();
|
267
|
-
|
268
|
-
exports.CmsContentApiFactory = CmsContentApiFactory;
|
269
|
-
var cmsContentApi = CmsContentApiFactory.getInstance();
|
270
|
-
exports.cmsContentApi = cmsContentApi;
|
271
|
-
|
272
|
-
var prefetchCmsContent = /*#__PURE__*/function () {
|
273
|
-
var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(data) {
|
274
|
-
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
275
|
-
while (1) {
|
276
|
-
switch (_context7.prev = _context7.next) {
|
277
|
-
case 0:
|
278
|
-
_context7.next = 2;
|
279
|
-
return cmsContentApi.prefetchContent(data);
|
280
|
-
|
281
|
-
case 2:
|
282
|
-
return _context7.abrupt("return", _context7.sent);
|
283
|
-
|
284
|
-
case 3:
|
285
|
-
case "end":
|
286
|
-
return _context7.stop();
|
287
|
-
}
|
288
|
-
}
|
289
|
-
}, _callee7);
|
290
|
-
}));
|
291
|
-
|
292
|
-
return function prefetchCmsContent(_x5) {
|
293
|
-
return _ref7.apply(this, arguments);
|
294
|
-
};
|
295
|
-
}();
|
296
|
-
|
297
|
-
exports.prefetchCmsContent = prefetchCmsContent;
|
298
|
-
|
299
|
-
var prefetchCmsContentList = /*#__PURE__*/function () {
|
300
|
-
var _ref8 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(queryCache, config, page) {
|
301
|
-
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
302
|
-
while (1) {
|
303
|
-
switch (_context8.prev = _context8.next) {
|
304
|
-
case 0:
|
305
|
-
_context8.next = 2;
|
306
|
-
return cmsContentApi.prefetchContentList(queryCache, config, page);
|
307
|
-
|
308
|
-
case 2:
|
309
|
-
return _context8.abrupt("return", _context8.sent);
|
310
|
-
|
311
|
-
case 3:
|
312
|
-
case "end":
|
313
|
-
return _context8.stop();
|
314
|
-
}
|
315
|
-
}
|
316
|
-
}, _callee8);
|
317
|
-
}));
|
318
|
-
|
319
|
-
return function prefetchCmsContentList(_x6, _x7, _x8) {
|
320
|
-
return _ref8.apply(this, arguments);
|
321
|
-
};
|
322
|
-
}();
|
323
|
-
|
324
|
-
exports.prefetchCmsContentList = prefetchCmsContentList;
|
325
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/cmsContentApi/index.ts"],"names":["getListFilter","type","tags","tagsFilter","reduce","filter","tag","index","typeFilter","cacheKeys","useContent","key","useContentList","page","enabled","CmsContentApiFactory","instance","initialize","contentsApi","ContentsAPI","Object","freeze","config","router","query","offset","limit","refetchOnMount","refetchOnWindowFocus","staleTime","retry","getByKey","Boolean","prefetchContent","queryCache","isFound","prefetchQuery","data","prefetchContentList","results","length","getInstance","cmsContentApi","prefetchCmsContent","prefetchCmsContentList"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n CmsContentFilterResultDTO,\n ContentsAPI,\n CmsContentDTO,\n} from '@sentecacommerce/sdk'\nimport { useRouter } from 'next/router'\nimport { useQuery, QueryResult, QueryCache } from 'react-query'\n\nimport { getSDKConfig } from '../getSDKConfig'\n\nexport type CmsListConfigType = {\n storeKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n sort?: string\n limit: number\n\n tags?: string[]\n type?: string\n}\n\ntype CmsContentApiType = {\n useContent: ({\n key,\n }: {\n key?: string\n }) => QueryResult<CmsContentDTO | undefined, unknown>\n useContentList: (\n config: CmsListConfigType,\n enabled?: boolean\n ) => QueryResult<CmsContentFilterResultDTO, unknown>\n readonly prefetchContent: ({\n queryCache,\n key,\n }: {\n queryCache: QueryCache\n key: string\n }) => Promise<boolean>\n prefetchContentList: (\n queryCache: QueryCache,\n config: CmsListConfigType,\n page: number\n ) => Promise<boolean>\n}\n\nconst getListFilter = (type?: string, tags?: string[]) => {\n const tagsFilter = tags?.reduce((filter, tag, index) => {\n if (!index && !type) return filter + `tags;in;\"${tag}\"`\n\n return filter + `&tags;in;\"${tag}\"`\n }, '')\n\n const typeFilter = type ? `type;in;\"${type}\"` : ''\n\n return `${typeFilter}${tagsFilter || ''}`\n}\n\nconst cacheKeys = {\n useContent: (key?: string) => ['content-api-use-post', key],\n useContentList: (\n page: number,\n type?: string,\n tags?: string[],\n enabled?: boolean\n ) => ['content-api-use-post-list', page, type, enabled, ...(tags || [])],\n}\n\nexport const CmsContentApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: CmsContentApiType\n\n function initialize(): Readonly<CmsContentApiType> {\n // Singleton\n\n // Private methods and variables\n const contentsApi = new ContentsAPI(getSDKConfig())\n\n return Object.freeze({\n cacheKeys,\n useContentList: (config, enabled = true) => {\n const router = useRouter()\n\n const page = +((router?.query?.page as string) || '1')\n\n return useQuery(\n cacheKeys.useContentList(page, config?.type, config?.tags),\n async () => {\n const filter = getListFilter(config?.type, config?.tags)\n\n return await contentsApi.filter({\n ...(config || {}),\n filter,\n offset: page * config.limit - config.limit,\n })\n },\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n staleTime: 30000,\n retry: false,\n enabled,\n }\n )\n },\n useContent: ({ key }) => {\n return useQuery(\n cacheKeys.useContent(key),\n async () => {\n if (!key) return\n\n return await contentsApi.getByKey(key)\n },\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n staleTime: 30000, \n enabled: Boolean(key),\n retry: false,\n }\n )\n },\n prefetchContent: async ({ key, queryCache }) => {\n let isFound = true\n\n await queryCache.prefetchQuery(\n cacheKeys.useContent(key),\n async () => {\n const data = await contentsApi.getByKey(key).catch(() => null)\n\n if (!data) {\n isFound = false\n return null\n }\n\n return data\n },\n { staleTime: 30000 }\n )\n\n return isFound\n },\n prefetchContentList: async (queryCache, config, page: number) => {\n const filter = getListFilter(config?.type, config?.tags)\n let isFound = true\n\n await queryCache.prefetchQuery(\n cacheKeys.useContentList(page, config?.type, config?.tags),\n async () => {\n const data = await contentsApi\n .filter({\n ...(config || {}),\n filter,\n offset: page * config.limit - config.limit,\n })\n .catch(() => null)\n\n if (!data?.results.length) {\n isFound = false\n return null\n }\n\n return data\n },\n { staleTime: 30000 }\n )\n\n return isFound\n },\n })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialize()\n }\n\n return instance\n },\n }\n})()\n\nexport const cmsContentApi = CmsContentApiFactory.getInstance()\n\nexport const prefetchCmsContent = async (data: {\n queryCache: QueryCache\n key: string\n}) => {\n return await cmsContentApi.prefetchContent(data)\n}\n\nexport const prefetchCmsContentList = async (\n queryCache: QueryCache,\n config: CmsListConfigType,\n page: number\n) => {\n return await cmsContentApi.prefetchContentList(queryCache, config, page)\n}\n"],"file":"index.js"}
|
@@ -1,28 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
exports.__esModule = true;
|
4
|
-
|
5
|
-
var _useCmsContentList = require("./useCmsContentList");
|
6
|
-
|
7
|
-
Object.keys(_useCmsContentList).forEach(function (key) {
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
9
|
-
if (key in exports && exports[key] === _useCmsContentList[key]) return;
|
10
|
-
exports[key] = _useCmsContentList[key];
|
11
|
-
});
|
12
|
-
|
13
|
-
var _useCmsContent = require("./useCmsContent");
|
14
|
-
|
15
|
-
Object.keys(_useCmsContent).forEach(function (key) {
|
16
|
-
if (key === "default" || key === "__esModule") return;
|
17
|
-
if (key in exports && exports[key] === _useCmsContent[key]) return;
|
18
|
-
exports[key] = _useCmsContent[key];
|
19
|
-
});
|
20
|
-
|
21
|
-
var _useContentCategoriesMap = require("./useContentCategoriesMap");
|
22
|
-
|
23
|
-
Object.keys(_useContentCategoriesMap).forEach(function (key) {
|
24
|
-
if (key === "default" || key === "__esModule") return;
|
25
|
-
if (key in exports && exports[key] === _useContentCategoriesMap[key]) return;
|
26
|
-
exports[key] = _useContentCategoriesMap[key];
|
27
|
-
});
|
28
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/hooks/cms-content-hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useCmsContentList'\nexport * from './useCmsContent'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContent/index.ts"],"names":["useCmsContent","data","key","cmsContentApi","useContent","queryData","rest","content","contentData","typeName","tags","id","_id"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAEO,SAASA,aAAT,OAMJ;AAAA,MALDC,IAKC,QALDA,IAKC;AAAA,MAJDC,GAIC,QAJDA,GAIC;;AAAA,8BACoCC,6BAAcC,UAAd,CAAyB;AAAEF,IAAAA,GAAG,EAAHA;AAAF,GAAzB,CADpC;AAAA,MACaG,SADb,yBACOJ,IADP;AAAA,MAC2BK,IAD3B;;AAGD,MAAMC,OAAO,GAAGN,IAAI,IAAII,SAAxB;AAEA,MAAMG,WAAW,GAAG,iCAAqBD,OAArB,oBAAqBA,OAAO,CAAEN,IAA9B,CAApB;AAEA;AACEA,IAAAA,IAAI,EAAEM,OAAO,IAAI;AACfE,MAAAA,QAAQ,EAAEF,OAAO,CAACE,QADH;AAEfC,MAAAA,IAAI,EAAEH,OAAO,CAACG,IAFC;AAGfC,MAAAA,EAAE,EAAEJ,OAAO,CAACK,GAHG;AAIfL,MAAAA,OAAO,EAAEC;AAJM;AADnB,KAOKF,IAPL;AASD","sourcesContent":["import { CmsContentDTO } from '@sentecacommerce/sdk'\nimport { cmsContentApi } from '../../../api/cmsContentApi'\nimport { getTranslatableField } from '../../../utils'\n\nexport function useCmsContent<T>({\n data,\n key,\n}: {\n key?: string\n data?: CmsContentDTO\n}) {\n const { data: queryData, ...rest } = cmsContentApi.useContent({ key })\n\n const content = data || queryData\n\n const contentData = getTranslatableField(content?.data) as unknown\n\n return {\n data: content && {\n typeName: content.typeName,\n tags: content.tags,\n id: content._id,\n content: contentData as T,\n },\n ...rest,\n }\n}\n"],"file":"index.js"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContentList/index.ts"],"names":["useCmsContentList","config","enabled","cmsContentApi","useContentList","data","rest","router","lastPage","Math","ceil","total","limit","currentPage","offset","goToPage","page","Error","push","pathname","query","undefined","shallow","results","canGoToNextPage","canGoToPrevPage","isError","isLoading","isFetching","isStale","isSuccess","isInitialData","isIdle"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,MAD+B,EAE/BC,OAF+B,EAG5B;AAAA,MADHA,OACG;AADHA,IAAAA,OACG,GADO,IACP;AAAA;;AAAA,8BACuBC,6BAAcC,cAAd,CAA6BH,MAA7B,EAAqCC,OAArC,CADvB;AAAA,MACKG,IADL,yBACKA,IADL;AAAA,MACcC,IADd;;AAEH,MAAMC,MAAM,GAAG,wBAAf;AAEA,SAAO,oBAAQ,YAAM;AACnB,QAAI,CAACF,IAAL,EAAW;AACT;AACEA,QAAAA,IAAI,EAAE;AADR,SAEKC,IAFL;AAID;;AAED,QAAME,QAAQ,GAAGC,IAAI,CAACC,IAAL,CAAUL,IAAI,CAACM,KAAL,GAAaN,IAAI,CAACO,KAA5B,CAAjB;AACA,QAAMC,WAAW,GAAGJ,IAAI,CAACC,IAAL,CAAUL,IAAI,CAACS,MAAL,GAAcT,IAAI,CAACO,KAA7B,IAAsC,CAA1D;;AAEA,QAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAkB;AACjC,UAAIA,IAAI,GAAGR,QAAX,EACE,MAAM,IAAIS,KAAJ,YACKD,IADL,uCAC2CR,QAD3C,CAAN;AAIF,UAAIQ,IAAI,GAAG,CAAX,EAAc,MAAM,IAAIC,KAAJ,YAAmBD,IAAnB,mBAAN;AAEdT,MAAAA,MAAM,CAACW,IAAP,CACE;AACEC,QAAAA,QAAQ,EAAEZ,MAAM,CAACY,QADnB;AAEEC,QAAAA,KAAK,gCACAb,MAAM,CAACa,KADP;AAEHJ,UAAAA,IAAI,EAAJA;AAFG;AAFP,OADF,EAQEK,SARF,EASE;AAAEC,QAAAA,OAAO,EAAE;AAAX,OATF;AAWD,KAnBD;;AAoBA;AACEjB,MAAAA,IAAI,EAAE;AACJkB,QAAAA,OAAO,EAAElB,IAAI,CAACkB,OADV;AAEJf,QAAAA,QAAQ,EAARA,QAFI;AAGJK,QAAAA,WAAW,EAAXA,WAHI;AAIJE,QAAAA,QAAQ,EAARA,QAJI;AAKJS,QAAAA,eAAe,EAAEX,WAAW,GAAGL,QAL3B;AAMJiB,QAAAA,eAAe,EAAEZ,WAAW,GAAG;AAN3B;AADR,OASKP,IATL;AAWD,GA1CM,EA0CJ,CACDD,IADC,EAEDC,IAAI,CAACoB,OAFJ,EAGDpB,IAAI,CAACqB,SAHJ,EAIDrB,IAAI,CAACsB,UAJJ,EAKDtB,IAAI,CAACuB,OALJ,EAMDvB,IAAI,CAACwB,SANJ,EAODxB,IAAI,CAACyB,aAPJ,EAQDzB,IAAI,CAAC0B,MARJ,CA1CI,CAAP;AAoDD,CA3DM","sourcesContent":["import { useRouter } from 'next/router'\nimport { useMemo } from 'react'\nimport { cmsContentApi, CmsListConfigType } from '../../../api/cmsContentApi'\n\nexport const useCmsContentList = (\n config: CmsListConfigType,\n enabled = true\n) => {\n const { data, ...rest } = cmsContentApi.useContentList(config, enabled)\n const router = useRouter()\n\n return useMemo(() => {\n if (!data) {\n return {\n data: null,\n ...rest,\n }\n }\n\n const lastPage = Math.ceil(data.total / data.limit)\n const currentPage = Math.ceil(data.offset / data.limit) + 1\n\n const goToPage = (page: number) => {\n if (page > lastPage)\n throw new Error(\n `Page (${page}) is invalid. The last page is ${lastPage}`\n )\n\n if (page < 1) throw new Error(`Page (${page}) is invalid.`)\n\n router.push(\n {\n pathname: router.pathname,\n query: {\n ...router.query,\n page,\n },\n },\n undefined,\n { shallow: true }\n )\n }\n return {\n data: {\n results: data.results,\n lastPage,\n currentPage,\n goToPage,\n canGoToNextPage: currentPage < lastPage,\n canGoToPrevPage: currentPage > 1,\n },\n ...rest,\n }\n }, [\n data,\n rest.isError,\n rest.isLoading,\n rest.isFetching,\n rest.isStale,\n rest.isSuccess,\n rest.isInitialData,\n rest.isIdle,\n ])\n}\n"],"file":"index.js"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useContentCategoriesMap/index.ts"],"names":["useContentCategoriesMap","categories","categoriesMap","reduce","map","slug","data"],"mappings":";;;;;;;;;;;AACA;;AADA;AAQO,SAASA,uBAAT,CAAoCC,UAApC,EAAuE;AAC5E,SAAO,oBAAQ,YAAM;AACnB,QAAMC,aAAa,GAAGD,UAAU,CAACE,MAAX,CAAkB,UAACC,GAAD,QAA4B;AAAA;;AAAA,UAApBC,IAAoB,QAApBA,IAAoB;AAAA,UAAXC,IAAW;AAClE,2CACKF,GADL,6BAEGC,IAFH,IAEUC,IAFV;AAID,KALqB,EAKnB,EALmB,CAAtB;AAMA,WAAOJ,aAAP;AACD,GARM,EAQJ,CAACD,UAAD,CARI,CAAP;AASD","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { useMemo } from 'react'\n\nexport type BlogCategoryType<T> = {\n tag: string\n slug: string\n} & T\n\nexport function useContentCategoriesMap<T>(categories: BlogCategoryType<T>[]) {\n return useMemo(() => {\n const categoriesMap = categories.reduce((map, { slug, ...data }) => {\n return {\n ...map,\n [slug]: data,\n }\n }, {})\n return categoriesMap\n }, [categories])\n}\n"],"file":"index.js"}
|