-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.d.ts
127 lines (109 loc) · 2.43 KB
/
index.d.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import React from 'react'
import Firebase from 'firebase/app'
import {} from 'styled-components'
interface FirebaseTimestamp {
createdAt: Firebase.firestore.Timestamp
updatedAt: Firebase.firestore.Timestamp
}
interface ProductBase {
id: string
name: string
}
interface ProductCart extends ProductBase {
isPurchased: boolean
}
interface CartFirebase extends FirebaseTimestamp {
date: Firebase.firestore.Timestamp
products: ProductCart[]
uid: string
}
interface Cart extends CartFirebase {
id: string
}
interface ProductFirebase extends FirebaseTimestamp {
name: string
uid: string
}
interface Product extends ProductFirebase, ProductBase {
id: string
}
interface UserFirebase extends FirebaseTimestamp {
fullName: string
email: string
}
interface UserRegisterRequire {
fullName: string
email: string
password: string
}
interface User extends UserFirebase {
uid: string
}
interface DefaultAlertMessageProps {
SUCCESS_LOGIN: string
FAILED_LOGIN: string
SUCCESS_REGISTER: string
FAILED_REGISTER: string
SUCCESS_UPDATE_EMAIL: string
FAILED_UPDATE_EMAIL: string
SUCCESS_UPDATE_PASSWORD: string
FAILED_UPDATE_PASSWORD: string
SUCCESS_STORE_CART: string
FAILED_STORE_CART: string
SUCCESS_UPDATE_CART: string
FAILED_UPDATE_CART: string
SUCCESS_REMOVE_CART: string
FAILED_REMOVE_CART: string
SUCCESS_STORE_PRODUCT: string
FAILED_STORE_PRODUCT: string
SUCCESS_UPDATE_PRODUCT: string
FAILED_UPDATE_PRODUCT: string
SUCCESS_REMOVE_PRODUCT: string
FAILED_REMOVE_PRODUCT: string
SUCCESS_UPDATE_FULLNAME: string
FAILED_UPDATE_FULLNAME: string
SUCCESS_SEND_RESET_PASSWORD: string
FAILED_SEND_RESET_PASSWORD: string
SUCCESS_RESET_PASSWORD: string
FAILED_RESET_PASSWORD: string
}
type AlertVariant = 'danger' | 'success'
interface AlertProps {
message?: string
variant?: AlertVariant
alertId: string
}
interface ThemeProps {
color: {
primary: string
secondary: string
danger: string
success: string
dark: string
gray: string
}
}
interface InputState<T> {
value: T
errorMessage: string
}
interface ValidationResult {
errorMessage: string
}
declare module 'styled-components' {
export interface DefaultTheme extends ThemeProps {}
}
declare module 'Types' {
export type {
ThemeProps,
InputState,
ValidationResult,
CartFirebase,
Cart,
ProductFirebase,
Product,
ProductBase,
AlertVariant,
DefaultAlertMessageProps,
}
}