@q2devel/q2-core 1.0.69 → 1.0.71
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/api/cart/Cart.service.d.ts.map +1 -1
- package/dist/api/cart/Cart.service.js +19 -10
- package/dist/api/wishlist/WishlistService.types.d.ts +1 -3
- package/dist/api/wishlist/WishlistService.types.d.ts.map +1 -1
- package/dist/hooks/wishlist/useWishlist.d.ts +3 -2
- package/dist/hooks/wishlist/useWishlist.d.ts.map +1 -1
- package/dist/hooks/wishlist/useWishlist.js +47 -22
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cart.service.d.ts","sourceRoot":"","sources":["../../../api/cart/Cart.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,qBAAqB,EAErB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAQ5B,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CA2Ed,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,aAAa,MAAM,EACnB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CA8Dd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,aAAa,MAAM,GAAG,SAAS,EAC/B,SAAS,gBAAgB,EACzB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,iBAAiB,CAmB3B,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,QAAQ,CAOlB,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAMd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAKd,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAYd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAQd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,MAAM,CAQhB,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"Cart.service.d.ts","sourceRoot":"","sources":["../../../api/cart/Cart.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,qBAAqB,EAErB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAQ5B,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CA2Ed,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,aAAa,MAAM,EACnB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CA8Dd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,aAAa,MAAM,GAAG,SAAS,EAC/B,SAAS,gBAAgB,EACzB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,iBAAiB,CAmB3B,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,QAAQ,CAOlB,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAMd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAKd,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAYd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAQd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,MAAM,CAQhB,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,oBAAoB,CAmE9B,CAAA"}
|
|
@@ -190,16 +190,25 @@ export const getOrderHistory = async (ctx, config = {}) => {
|
|
|
190
190
|
? resolvedOrders
|
|
191
191
|
: [resolvedOrders];
|
|
192
192
|
const processedOrders = orders.map((orderData) => {
|
|
193
|
-
const cartItems = (orderData.order_items || [])
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
193
|
+
const cartItems = (orderData.order_items || [])
|
|
194
|
+
.map((item) => {
|
|
195
|
+
const defaultProduct = item.purchased_entity?.product_id;
|
|
196
|
+
const variationProduct = item.purchased_entity;
|
|
197
|
+
const variations = defaultProduct?.variations ?? [];
|
|
198
|
+
if (!defaultProduct || !variationProduct) {
|
|
199
|
+
console.warn('Invalid order item structure', item);
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
const baseProduct = mapProduct(defaultProduct, variationProduct, ctx);
|
|
203
|
+
return {
|
|
204
|
+
...baseProduct,
|
|
205
|
+
quantity: parseFloat(item.quantity || '0'),
|
|
206
|
+
price: parseFloat(item.unit_price?.number || '0'), // override price from order item
|
|
207
|
+
drupalOrderItemId: item.drupal_internal__order_item_id || 0,
|
|
208
|
+
order_item_id: item.id || '',
|
|
209
|
+
};
|
|
210
|
+
})
|
|
211
|
+
.filter(Boolean);
|
|
203
212
|
return {
|
|
204
213
|
id: orderData.id || '',
|
|
205
214
|
drupalOrderId: orderData.drupal_internal__order_id || 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WishlistService.types.d.ts","sourceRoot":"","sources":["../../../api/wishlist/WishlistService.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,
|
|
1
|
+
{"version":3,"file":"WishlistService.types.d.ts","sourceRoot":"","sources":["../../../api/wishlist/WishlistService.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;QACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;QACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;QACzB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,GAAG,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,QAAQ,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,YAAY,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAA;KACb,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Product } from '../../types/products/Product';
|
|
2
1
|
import { Wishlist } from '../../api/wishlist/WishlistService.types';
|
|
3
|
-
import { ProductCardWishlist } from '../../types/wishlist/Wishlist';
|
|
4
2
|
import { CoreContext } from '../../context';
|
|
3
|
+
import { Product } from '../../types/products/Product';
|
|
4
|
+
import { ProductCardWishlist } from '../../types/wishlist/Wishlist';
|
|
5
5
|
export declare const useWishlist: (ctx: CoreContext) => {
|
|
6
6
|
isLogged: boolean;
|
|
7
7
|
isWishlistPending: boolean;
|
|
@@ -18,5 +18,6 @@ export declare const useWishlist: (ctx: CoreContext) => {
|
|
|
18
18
|
handleDeleteWishlist: (wishlistId: string) => void;
|
|
19
19
|
favoritesWishlist: Wishlist | undefined;
|
|
20
20
|
wishlistItems: import("../../api/wishlist/WishlistService.types").WishlistItem[];
|
|
21
|
+
isFavoritesNameReserved: (name: string) => boolean;
|
|
21
22
|
};
|
|
22
23
|
//# sourceMappingURL=useWishlist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWishlist.d.ts","sourceRoot":"","sources":["../../../hooks/wishlist/useWishlist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useWishlist.d.ts","sourceRoot":"","sources":["../../../hooks/wishlist/useWishlist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAQnE,eAAO,MAAM,WAAW,GAAI,KAAK,WAAW;;;wCA2DtB,MAAM;gCA2CV,OAAO;;;uCA3BH,MAAM;yCAgMN,MAAM,KAAG,MAAM,EAAE;oCAjHrB,OAAO;mCAyDP,OAAO,cAAc,MAAM;iCAW9B,MAAM,WAAW,OAAO;wCAyDrB,OAAO,cAAc,MAAM;uCAkBxB,MAAM;;;oCA7PZ,MAAM;CAuRpB,CAAA"}
|
|
@@ -6,7 +6,6 @@ import { useDeleteWishlist } from './api/useDeleteWishlist';
|
|
|
6
6
|
import { useDeleteWishlistItem } from './api/useDeleteWishlistItem';
|
|
7
7
|
import { useGetWishlistItems } from './api/useGetWishlistItems';
|
|
8
8
|
import { useGetWishlistList } from './api/useGetWishlistList';
|
|
9
|
-
const FAVORITES_WISHLIST_ID = '1';
|
|
10
9
|
export const useWishlist = (ctx) => {
|
|
11
10
|
// const t = useTranslations('wishlist')
|
|
12
11
|
// const FAVORITES_WISHLIST_NAME = t('default-wishlist')
|
|
@@ -22,19 +21,34 @@ export const useWishlist = (ctx) => {
|
|
|
22
21
|
isDeletingFromWishlist ||
|
|
23
22
|
isDeletingWishlist;
|
|
24
23
|
const wishlists = useMemo(() => wishlistsData?.wishlist_ids || [], [wishlistsData]);
|
|
25
|
-
|
|
24
|
+
// Najdi favorites wishlist podle názvu
|
|
25
|
+
// Pokud by byly duplicity (což by nemělo být možné), použij ten s nejvíce položkami
|
|
26
|
+
const favoritesWishlist = useMemo(() => {
|
|
27
|
+
const matchingWishlists = wishlists.filter((wishlist) => wishlist.name === FAVORITES_WISHLIST_NAME);
|
|
28
|
+
if (matchingWishlists.length === 0)
|
|
29
|
+
return undefined;
|
|
30
|
+
if (matchingWishlists.length === 1)
|
|
31
|
+
return matchingWishlists[0];
|
|
32
|
+
// Pokud jsou duplicity, použij ten s nejvíce položkami (pravděpodobně správný favorites)
|
|
33
|
+
return matchingWishlists.reduce((prev, current) => current.items_count > prev.items_count ? current : prev);
|
|
34
|
+
}, [wishlists, FAVORITES_WISHLIST_NAME]);
|
|
35
|
+
// Helper pro kontrolu, zda je název rezervovaný pro favorites
|
|
36
|
+
const isFavoritesNameReserved = useCallback((name) => {
|
|
37
|
+
return name.trim() === FAVORITES_WISHLIST_NAME;
|
|
38
|
+
}, [FAVORITES_WISHLIST_NAME]);
|
|
26
39
|
const wishlistIds = useMemo(() => wishlists.map((wishlist) => wishlist.wishlist_id), [wishlists]);
|
|
27
40
|
const { data: wishlistItemsData } = useGetWishlistItems(ctx, wishlistIds);
|
|
28
41
|
const wishlistItems = wishlistItemsData?.data || [];
|
|
29
42
|
const isProductInFavorites = useCallback((productUuid) => {
|
|
30
|
-
if (!wishlistItems.length)
|
|
43
|
+
if (!wishlistItems.length || !favoritesWishlist)
|
|
31
44
|
return false;
|
|
32
45
|
return wishlistItems.some((item) => {
|
|
33
46
|
return (item.variation_id?.id === productUuid &&
|
|
34
|
-
item.wishlist_id?.
|
|
35
|
-
|
|
47
|
+
(item.wishlist_id?.id === favoritesWishlist.wishlist_id ||
|
|
48
|
+
item.wishlist_id?.drupal_internal__id?.toString() ===
|
|
49
|
+
favoritesWishlist.wishlist_id));
|
|
36
50
|
});
|
|
37
|
-
}, [wishlistItems]);
|
|
51
|
+
}, [wishlistItems, favoritesWishlist]);
|
|
38
52
|
const isProductInWishlist = useCallback((productUuid) => {
|
|
39
53
|
if (!wishlistItems.length)
|
|
40
54
|
return false;
|
|
@@ -43,12 +57,15 @@ export const useWishlist = (ctx) => {
|
|
|
43
57
|
});
|
|
44
58
|
}, [wishlistItems]);
|
|
45
59
|
const findFavoritesItemForProduct = useCallback((productUuid) => {
|
|
60
|
+
if (!favoritesWishlist)
|
|
61
|
+
return undefined;
|
|
46
62
|
return wishlistItems.find((item) => {
|
|
47
63
|
return (item.variation_id?.id === productUuid &&
|
|
48
|
-
item.wishlist_id?.
|
|
49
|
-
|
|
64
|
+
(item.wishlist_id?.id === favoritesWishlist.wishlist_id ||
|
|
65
|
+
item.wishlist_id?.drupal_internal__id?.toString() ===
|
|
66
|
+
favoritesWishlist.wishlist_id));
|
|
50
67
|
});
|
|
51
|
-
}, [wishlistItems]);
|
|
68
|
+
}, [wishlistItems, favoritesWishlist]);
|
|
52
69
|
const handleLikeToggle = useCallback((product) => {
|
|
53
70
|
const isInFavorites = isProductInFavorites(product.variation_uuid);
|
|
54
71
|
if (isInFavorites) {
|
|
@@ -62,7 +79,7 @@ export const useWishlist = (ctx) => {
|
|
|
62
79
|
else {
|
|
63
80
|
if (favoritesWishlist) {
|
|
64
81
|
addToWishlist({
|
|
65
|
-
wishlist_id:
|
|
82
|
+
wishlist_id: favoritesWishlist.wishlist_id,
|
|
66
83
|
variation_id: product.variation_id,
|
|
67
84
|
quantity: 1,
|
|
68
85
|
});
|
|
@@ -73,11 +90,13 @@ export const useWishlist = (ctx) => {
|
|
|
73
90
|
note: '',
|
|
74
91
|
}, {
|
|
75
92
|
onSuccess: (data) => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
93
|
+
if (data && data.wishlist_id) {
|
|
94
|
+
addToWishlist({
|
|
95
|
+
wishlist_id: data.wishlist_id,
|
|
96
|
+
variation_id: product.variation_id,
|
|
97
|
+
quantity: 1,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
81
100
|
},
|
|
82
101
|
});
|
|
83
102
|
}
|
|
@@ -101,7 +120,7 @@ export const useWishlist = (ctx) => {
|
|
|
101
120
|
}
|
|
102
121
|
}
|
|
103
122
|
else {
|
|
104
|
-
const nonFavoritesWishlists = wishlists.filter((w) => w.
|
|
123
|
+
const nonFavoritesWishlists = wishlists.filter((w) => w.name !== FAVORITES_WISHLIST_NAME);
|
|
105
124
|
if (nonFavoritesWishlists.length > 0) {
|
|
106
125
|
addToWishlist({
|
|
107
126
|
wishlist_id: nonFavoritesWishlists[0].wishlist_id,
|
|
@@ -115,9 +134,9 @@ export const useWishlist = (ctx) => {
|
|
|
115
134
|
note: '',
|
|
116
135
|
}, {
|
|
117
136
|
onSuccess: (data) => {
|
|
118
|
-
if (data
|
|
137
|
+
if (data && data.wishlist_id) {
|
|
119
138
|
addToWishlist({
|
|
120
|
-
wishlist_id: data.
|
|
139
|
+
wishlist_id: data.wishlist_id,
|
|
121
140
|
variation_id: product.variation_id,
|
|
122
141
|
quantity: 1,
|
|
123
142
|
});
|
|
@@ -142,23 +161,28 @@ export const useWishlist = (ctx) => {
|
|
|
142
161
|
});
|
|
143
162
|
}, [addToWishlist]);
|
|
144
163
|
const handleCreateWishlist = useCallback((name, product) => {
|
|
164
|
+
// Validace: zabránit vytvoření wishlistu se stejným názvem jako favorites
|
|
165
|
+
if (isFavoritesNameReserved(name)) {
|
|
166
|
+
console.warn(`Cannot create wishlist with reserved name: "${name}". This name is reserved for favorites.`);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
145
169
|
createWishlist({
|
|
146
170
|
name,
|
|
147
171
|
note: '',
|
|
148
172
|
}, {
|
|
149
173
|
onSuccess: (data) => {
|
|
150
|
-
if (data
|
|
174
|
+
if (data && data.wishlist_id) {
|
|
151
175
|
addToWishlist({
|
|
152
|
-
wishlist_id: data.
|
|
176
|
+
wishlist_id: data.wishlist_id,
|
|
153
177
|
variation_id: product.variation_id,
|
|
154
178
|
quantity: 1,
|
|
155
179
|
});
|
|
156
180
|
}
|
|
157
181
|
},
|
|
158
182
|
});
|
|
159
|
-
}, [createWishlist, addToWishlist]);
|
|
183
|
+
}, [createWishlist, addToWishlist, isFavoritesNameReserved]);
|
|
160
184
|
const wishlistsForDropdown = wishlists
|
|
161
|
-
.filter((wishlist) => wishlist.
|
|
185
|
+
.filter((wishlist) => wishlist.name !== FAVORITES_WISHLIST_NAME)
|
|
162
186
|
.map((wishlist) => ({
|
|
163
187
|
id: wishlist.wishlist_id,
|
|
164
188
|
name: wishlist.name,
|
|
@@ -204,5 +228,6 @@ export const useWishlist = (ctx) => {
|
|
|
204
228
|
handleDeleteWishlist,
|
|
205
229
|
favoritesWishlist,
|
|
206
230
|
wishlistItems,
|
|
231
|
+
isFavoritesNameReserved,
|
|
207
232
|
};
|
|
208
233
|
};
|