1
- import { useRouter } from "next/router" ;
2
1
import { Form } from "react-hook-form" ;
3
2
4
3
import { Pot } from "@/common/api/indexer" ;
@@ -15,8 +14,8 @@ import {
15
14
Spinner ,
16
15
Textarea ,
17
16
} from "@/common/ui/layout/components" ;
17
+ import { useWalletUserSession } from "@/common/wallet" ;
18
18
import { AccountProfileLink } from "@/entities/_shared/account" ;
19
- import { useGlobalStoreSelector } from "@/store" ;
20
19
21
20
import { useMatchingPoolContributionForm } from "../hooks/forms" ;
22
21
@@ -31,25 +30,14 @@ export const MatchingPoolContributionModal: React.FC<MatchingPoolContributionMod
31
30
onCloseClick,
32
31
potDetail,
33
32
} ) => {
34
- const { actAsDao , accountId } = useGlobalStoreSelector ( ( state ) => state . nav ) ;
33
+ const viewer = useWalletUserSession ( ) ;
35
34
36
- const router = useRouter ( ) ;
37
- const query = router . query as { referrerId ?: string } ;
38
- const referrerId = query . referrerId ;
39
-
40
- // AccountID (Address)
41
- const asDao = actAsDao . toggle && ! ! actAsDao . defaultAddress ;
42
-
43
- // Form settings
44
35
const { form, errors, onSubmit, inProgress } = useMatchingPoolContributionForm ( {
45
- accountId : asDao ? actAsDao . defaultAddress : accountId ,
46
- asDao,
47
36
potDetail,
48
- referrerId,
49
37
} ) ;
50
38
51
39
const hasMinimumAmount = [ "0" , "1" ] . includes ( potDetail . min_matching_pool_donation_amount ) ;
52
- const yoctoMinimumAmout = yoctoNearToFloat ( potDetail . min_matching_pool_donation_amount ) ;
40
+ const yoctoMinimumAmount = yoctoNearToFloat ( potDetail . min_matching_pool_donation_amount ) ;
53
41
54
42
// Get Protocol Config
55
43
const protocolConfig = useProtocolConfig ( potDetail ) ;
@@ -70,7 +58,7 @@ export const MatchingPoolContributionModal: React.FC<MatchingPoolContributionMod
70
58
? 0
71
59
: ( formValues . amountNEAR * potDetail . chef_fee_basis_points ) / 10_000 || 0 ;
72
60
73
- const referrerFeeAmountNear = referrerId
61
+ const referrerFeeAmountNear = viewer . referrerAccountId
74
62
? ( formValues . amountNEAR * potDetail . referral_fee_matching_pool_basis_points ) / 10_000 || 0
75
63
: 0 ;
76
64
@@ -89,7 +77,7 @@ export const MatchingPoolContributionModal: React.FC<MatchingPoolContributionMod
89
77
{ /*NEAR Input */ }
90
78
< p className = "my-2 break-words text-[16px] font-normal leading-[20px] text-[#525252]" >
91
79
Enter matching pool contribution amount in NEAR{ " " }
92
- { hasMinimumAmount ? "(no minimum)" : `(Min. ${ yoctoMinimumAmout } )` }
80
+ { hasMinimumAmount ? "(no minimum)" : `(Min. ${ yoctoMinimumAmount } )` }
93
81
</ p >
94
82
95
83
{ /* Amount NEAR input */ }
@@ -183,7 +171,7 @@ export const MatchingPoolContributionModal: React.FC<MatchingPoolContributionMod
183
171
) }
184
172
185
173
{ /* Referrer Fee */ }
186
- { referrerId && (
174
+ { viewer . referrerAccountId && (
187
175
< p className = "mt-3 flex flex-row items-center break-words text-[14px] font-normal leading-[20px] text-[#292929]" >
188
176
Referrer fee: { referrerFeeAmountNear } NEAR
189
177
</ p >
@@ -203,11 +191,16 @@ export const MatchingPoolContributionModal: React.FC<MatchingPoolContributionMod
203
191
{ inProgress ? (
204
192
< Spinner />
205
193
) : (
206
- < >
207
- { asDao ? "Create proposal to contribute " : "Contribute " }
208
- { ! asDao &&
209
- `${ formValues . amountNEAR || 0 } ${ potDetail . base_currency ?. toUpperCase ( ) } to matching pool` }
210
- </ >
194
+ < span className = "inline-flex gap-1" >
195
+ < span >
196
+ { viewer . isDaoRepresentative ? "Create proposal to contribute" : "Contribute" }
197
+ </ span >
198
+
199
+ < span >
200
+ { `${ formValues . amountNEAR || 0 } ${ potDetail . base_currency ?. toUpperCase ( ) } ` +
201
+ " to matching pool" }
202
+ </ span >
203
+ </ span >
211
204
) }
212
205
</ Button >
213
206
</ div >
0 commit comments