fixed some cart style
This commit is contained in:
37
src/app/api/useCart.js
Normal file
37
src/app/api/useCart.js
Normal file
@@ -0,0 +1,37 @@
|
||||
// hooks/useCart.js - YENİ DOSYA
|
||||
import { useMemo } from 'react';
|
||||
import { useGetCartQuery } from './cartApi';
|
||||
|
||||
export const useCart = () => {
|
||||
const { data: cartData, ...rest } = useGetCartQuery(undefined, {
|
||||
pollingInterval: 0,
|
||||
refetchOnMountOrArgChange: false,
|
||||
refetchOnFocus: false,
|
||||
refetchOnReconnect: false,
|
||||
});
|
||||
|
||||
const cartItems = useMemo(() => {
|
||||
if (!cartData?.data || typeof cartData.data !== 'object') return [];
|
||||
return Object.values(cartData.data).flat();
|
||||
}, [cartData]);
|
||||
|
||||
const cartCount = useMemo(() => {
|
||||
return cartItems.reduce((total, item) => {
|
||||
return total + (parseInt(item.product_quantity, 10) || 0);
|
||||
}, 0);
|
||||
}, [cartItems]);
|
||||
|
||||
const getCartItem = (productId) => {
|
||||
return cartItems.find(
|
||||
item => item.product?.id === productId || item.product_id === productId
|
||||
);
|
||||
};
|
||||
|
||||
return {
|
||||
cartData,
|
||||
cartItems,
|
||||
cartCount,
|
||||
getCartItem,
|
||||
...rest
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user