diff --git a/src/app/[name]/(Dialogs)/cart/hooks/useCartData.ts b/src/app/[name]/(Dialogs)/cart/hooks/useCartData.ts index 8ce8b8c..49e49a1 100644 --- a/src/app/[name]/(Dialogs)/cart/hooks/useCartData.ts +++ b/src/app/[name]/(Dialogs)/cart/hooks/useCartData.ts @@ -1,6 +1,6 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import * as api from "../service/CartService"; -import type { CartResponse } from "../types/Types"; +import type { CartResponse, CartItem } from "../types/Types"; export const useBulkCart = () => { const queryClient = useQueryClient(); @@ -76,7 +76,7 @@ export const useDecrementCart = () => { if (previousCart?.data) { const updatedItems = previousCart.data.items - .map((item) => { + .map((item: CartItem) => { if (item.foodId === String(id)) { const newQuantity = item.quantity - 1; if (newQuantity <= 0) { @@ -89,7 +89,7 @@ export const useDecrementCart = () => { } return item; }) - .filter((item): item is NonNullable => item !== null); + .filter((item: CartItem | null): item is CartItem => item !== null); queryClient.setQueryData(["cart-items"], { ...previousCart, diff --git a/src/app/[name]/(Dialogs)/cart/types/Types.ts b/src/app/[name]/(Dialogs)/cart/types/Types.ts index 85077f0..15ced96 100644 --- a/src/app/[name]/(Dialogs)/cart/types/Types.ts +++ b/src/app/[name]/(Dialogs)/cart/types/Types.ts @@ -33,4 +33,45 @@ export interface CartData { updatedAt: string; } +export interface CartCategory { + id: string; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + title: string; + isActive: boolean; + restaurant: string; + avatarUrl: string | null; +} + +export interface CartFood { + id: string; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + restaurant: string; + category: CartCategory; + title: string; + desc: string; + content: string | string[] | null; + price: number; + points: number | null; + order: number | null; + prepareTime: number | null; + sat: boolean; + sun: boolean; + mon: boolean; + breakfast: boolean; + noon: boolean; + dinner: boolean; + stock: number; + stockDefault: number; + isActive: boolean; + images: string[]; + inPlaceServe: boolean; + pickupServe: boolean; + rate: number; + discount: number; +} + export type CartResponse = BaseResponse;