@@ -6,6 +6,7 @@ export function useClient() {
6
6
const { notify } = useFlashNotification ( ) ;
7
7
const { notifyModal } = useModalNotification ( ) ;
8
8
const { isGnosisSafe } = useGnosis ( ) ;
9
+ const { mixpanel } = useMixpanel ( ) ;
9
10
const { web3 } = useWeb3 ( ) ;
10
11
const auth = getInstance ( ) ;
11
12
const route = useRoute ( ) ;
@@ -36,14 +37,16 @@ export function useClient() {
36
37
37
38
async function sendEIP712 ( space : { id : string } , type : string , payload : any ) {
38
39
let plugins = { } ;
40
+ const client = clientEIP712 ;
41
+
39
42
if (
40
43
payload . metadata ?. plugins &&
41
44
Object . keys ( payload . metadata ?. plugins ) . length !== 0
42
45
)
43
46
plugins = payload . metadata . plugins ;
44
- const client = clientEIP712 ;
47
+
45
48
if ( type === 'create-proposal' ) {
46
- return client . proposal ( auth . web3 , web3 . value . account , {
49
+ const receipt = await client . proposal ( auth . web3 , web3 . value . account , {
47
50
space : space . id ,
48
51
type : payload . type ,
49
52
title : payload . name ,
@@ -56,8 +59,14 @@ export function useClient() {
56
59
plugins : JSON . stringify ( plugins ) ,
57
60
app : DEFINED_APP
58
61
} ) ;
62
+
63
+ mixpanel . track ( 'Propose' , {
64
+ space : space . id
65
+ } ) ;
66
+
67
+ return receipt ;
59
68
} else if ( type === 'update-proposal' ) {
60
- return client . updateProposal ( auth . web3 , web3 . value . account , {
69
+ const receipt = await client . updateProposal ( auth . web3 , web3 . value . account , {
61
70
proposal : payload . id ,
62
71
space : space . id ,
63
72
type : payload . type ,
@@ -67,8 +76,15 @@ export function useClient() {
67
76
choices : payload . choices ,
68
77
plugins : JSON . stringify ( plugins )
69
78
} ) ;
79
+
80
+ mixpanel . track ( 'Update proposal' , {
81
+ space : space . id ,
82
+ proposalId : payload . proposal . id
83
+ } ) ;
84
+
85
+ return receipt ;
70
86
} else if ( type === 'vote' ) {
71
- return client . vote ( auth . web3 , web3 . value . account , {
87
+ const receipt = await client . vote ( auth . web3 , web3 . value . account , {
72
88
space : space . id ,
73
89
proposal : payload . proposal . id ,
74
90
type : payload . proposal . type ,
@@ -77,31 +93,70 @@ export function useClient() {
77
93
app : DEFINED_APP ,
78
94
reason : payload . reason
79
95
} ) ;
96
+
97
+ mixpanel . track ( 'Vote' , {
98
+ space : space . id ,
99
+ proposalId : payload . proposal . id
100
+ } ) ;
101
+
102
+ return receipt ;
80
103
} else if ( type === 'delete-proposal' ) {
81
- return client . cancelProposal ( auth . web3 , web3 . value . account , {
104
+ const receipt = await client . cancelProposal ( auth . web3 , web3 . value . account , {
82
105
space : space . id ,
83
106
proposal : payload . proposal . id
84
107
} ) ;
108
+
109
+ mixpanel . track ( 'Delete proposal' , {
110
+ space : space . id ,
111
+ proposalId : payload . proposal . id
112
+ } ) ;
113
+
114
+ return receipt ;
85
115
} else if ( type === 'settings' ) {
86
- return client . space ( auth . web3 , web3 . value . account , {
116
+ const receipt = await client . space ( auth . web3 , web3 . value . account , {
87
117
space : space . id ,
88
118
settings : JSON . stringify ( payload )
89
119
} ) ;
120
+
121
+ mixpanel . track ( 'Update space settings' , {
122
+ space : space . id
123
+ } ) ;
124
+
125
+ return receipt ;
90
126
} else if ( type === 'delete-space' ) {
91
- return client . deleteSpace ( auth . web3 , web3 . value . account , {
127
+ const receipt = await client . deleteSpace ( auth . web3 , web3 . value . account , {
128
+ space : space . id
129
+ } ) ;
130
+
131
+ mixpanel . track ( 'Delete space' , {
92
132
space : space . id
93
133
} ) ;
134
+
135
+ return receipt ;
94
136
} else if ( type === 'set-statement' ) {
95
- return client . statement ( auth . web3 , web3 . value . account , {
137
+ const receipt = await client . statement ( auth . web3 , web3 . value . account , {
96
138
space : space . id ,
97
139
about : payload . about ,
98
140
statement : payload . statement
99
141
} ) ;
142
+
143
+ mixpanel . track ( 'Set statement' , {
144
+ space : space . id
145
+ } ) ;
146
+
147
+ return receipt ;
100
148
} else if ( type === 'flag-proposal' ) {
101
- return client . flagProposal ( auth . web3 , web3 . value . account , {
149
+ const receipt = await client . flagProposal ( auth . web3 , web3 . value . account , {
102
150
space : space . id ,
103
151
proposal : payload . proposal . id
104
152
} ) ;
153
+
154
+ mixpanel . track ( 'Flag proposal' , {
155
+ space : space . id ,
156
+ proposalId : payload . proposal . id
157
+ } ) ;
158
+
159
+ return receipt ;
105
160
}
106
161
}
107
162
0 commit comments