schon/storefront/app/graphql/mutations/wishlist.ts
Alexandr SaVBaD Waltz 9bf600845a feat(storefront): enhance cart and wishlist handling with cookie-based products support
Introduced `useExactProducts` composable to fetch precise product details for guest cart and wishlist items. Improved cookie-based cart and wishlist fallback handling for unauthenticated users. Updated related components and composables for better synchronization and type safety.

- Added `useExactProducts` composable leveraging the `GET_EXACT_PRODUCTS` query.
- Enhanced `wishlist.vue` and `cart.vue` for reactive updates on guest state changes.
- Improved product synchronization logic in `useOrderSync` and `useWishlistSync`.
- Updated translations and fixed minor typos in localization files.

Improves user experience by ensuring consistent product details, even for guests. No breaking changes.
2026-03-02 23:06:13 +03:00

69 lines
1.3 KiB
TypeScript

import { WISHLIST_FRAGMENT } from '@graphql/fragments/wishlist.fragment';
export const ADD_TO_WISHLIST = gql`
mutation addToWishlist(
$wishlistUuid: UUID!,
$productUuid: UUID!
) {
addWishlistProduct(
wishlistUuid: $wishlistUuid,
productUuid: $productUuid
) {
wishlist {
...Wishlist
}
}
}
${WISHLIST_FRAGMENT}
`;
export const REMOVE_FROM_WISHLIST = gql`
mutation removeFromWishlist(
$wishlistUuid: UUID!,
$productUuid: UUID!
) {
removeWishlistProduct(
wishlistUuid: $wishlistUuid,
productUuid: $productUuid
) {
wishlist {
...Wishlist
}
}
}
${WISHLIST_FRAGMENT}
`;
export const REMOVE_ALL_FROM_WISHLIST = gql`
mutation removeAllFromWishlist(
$wishlistUuid: UUID!
) {
removeAllWishlistProducts(
wishlistUuid: $wishlistUuid
) {
wishlist {
...Wishlist
}
}
}
${WISHLIST_FRAGMENT}
`;
export const BULK_WISHLIST = gql`
mutation bulkWishlistAction(
$wishlistUuid: UUID!,
$action: String!,
$products: [BulkProductInput]!
) {
bulkWishlistAction(
wishlistUuid: $wishlistUuid
action: $action
products: $products
) {
wishlist {
...Wishlist
}
}
}
${WISHLIST_FRAGMENT}
`;