Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | export type CartItem = {
id: number;
quantity: number;
product?: any;
}
export type CartAddressInput = {
firstname: string;
lastname: string;
company?: string;
street: string[];
city: string;
region?: string;
region_id?: number;
postcode?: string;
country_code: string;
telephone?: string;
save_in_address_book?: boolean;
}
export type Country = {
code: string;
label: string;
}
export type Region = {
code?: string;
label?: string;
region_id?: number;
}
export type CartAddress = {
firstname: string;
lastname: string;
company?: string;
street: string[];
city: string;
region?: Region;
postcode?: string;
country: Country;
telephone?: string;
}
export type PaymentMethod = {
code: string;
title?: string;
}
export type CartSummary = {
items: CartItem[];
prices: {
grand_total: {
value: number;
}
},
billing_address: null | CartAddress,
available_payment_methods: PaymentMethod[],
selected_payment_method: null | PaymentMethod,
applied_coupons: { code: string }[]
}
export interface Position extends CartItem {
strapiProduct: any;
}
export type CartContextType = {
cartId: null | string;
positions: Position[];
totalPrice: number;
address: null | CartAddress;
paymentMethods: PaymentMethod[];
selectedPaymentMethod: null | PaymentMethod;
loading: boolean;
add: (productId: string, quantity: number) => any;
update: (positionId: number, quantity: number) => any;
remove: (positionId: number) => any;
setAddress: (address: CartAddressInput) => void;
setPayment: (code: string) => void;
applyCoupon: (code: string) => any;
removeCoupon: () => any;
coupons: { code: string }[];
createOrder: () => any;
orderId: null | string;
removeOrderId: () => void;
placeOrderLoading: boolean;
}; |