Files
commerce/src/utils/types.utils.ts

90 lines
1.7 KiB
TypeScript

export interface ProductProps {
category?: string
name: string
slug: string
weight: string
price: string
oldPrice?: string
discount?: string
imageSrc: string
isNotSell?: boolean
}
export interface FeaturedProductProps {
title: string
subTitle: string
originPrice: string
price: string
imageSrc: string
}
export interface RecipeProps {
title: string
slug: string
description: string
imageSrc: string
}
export interface BlogProps {
title: string
slug: string
description: string
imageSrc: string
}
export interface CheckOutForm {
name?: string
email?: string
address?: string
city?: string
state?: string
code?: number
phone?: number
method?: string
shipping_fee?: number
}
export type MouseAndTouchEvent = MouseEvent | TouchEvent
export enum SortOrder {
Asc = 'ASC',
Desc = 'DESC',
}
export type filterContextType = {
visible: boolean;
open: () => void;
close: () => void;
};
export interface StringMap { [key: string]: string; }
export interface FacetMap extends StringMap{
PARENT_NAME: string
}
export interface FacetConstant{
[key: string]: FacetMap;
}
export type PromiseWithKey = {
key: string
promise: PromiseLike<any>
keyResult?: string,
}
// ref https://www.vendure.io/docs/typescript-api/orders/order-state/
export type OrderState = | 'Created'
| 'AddingItems'
| 'ArrangingPayment'
| 'PaymentAuthorized'
| 'PaymentSettled'
| 'PartiallyShipped'
| 'Shipped'
| 'PartiallyDelivered'
| 'Delivered'
| 'Modifying'
| 'ArrangingAdditionalPayment'
| 'Cancelled'
export type SelectedOptions = Record<string, string | null>