-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
90 lines (75 loc) · 1.49 KB
/
types.ts
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
87
88
89
90
import { CartData } from "./zustand/cart";
export interface BillboardData {
_id: string;
name: string;
imageUrl: string;
}
export interface Billboard {
message: string;
billboard: BillboardData;
}
export interface CategoryData {
_id: string;
name: string;
billboardId: string | BillboardData;
}
export interface Category {
message: string;
categories: CategoryData[];
}
export interface IndividualCategory {
message: string;
category: CategoryData;
}
export interface ProductImageData {
_id: string;
imageUrls: string[];
colorId: string | ColorData;
sizeId: string[] | SizeData[];
}
export interface ProductImage {
message: string;
productImage: ProductImageData;
}
export interface SizeData {
_id: string;
name: string;
value: string;
}
export interface Size {
message: string;
sizes: SizeData[];
}
export interface ColorData {
_id: string;
name: string;
value: string;
}
export interface Color {
message: string;
colors: ColorData[];
}
export interface ProductData {
_id: string;
name: string;
description: string;
price: number;
categoryId: string | CategoryData;
sizeId: string | SizeData[];
colorId: string | ColorData[];
productImages: string[] | ProductImageData[];
isFeatured?: boolean;
isArchived?: boolean;
}
export interface Product {
message: string;
products: ProductData[];
}
export interface IndiviualProduct {
message: string;
product: ProductData;
}
export interface Cart {
message: string;
cart: CartData;
}