@@ -306,6 +306,8 @@ function ProgramDetail({ programId }: { programId: number }) {
306306 const [ depAmount , setDepAmount ] = useState ( "" ) ;
307307 const [ depNote , setDepNote ] = useState ( "" ) ;
308308 const [ depDisclaimer , setDepDisclaimer ] = useState ( false ) ;
309+ const [ depRewardType , setDepRewardType ] = useState ( 0 ) ;
310+ const { data : rewardTypesForDep } = useRewardTypes ( ) ;
309311 const [ transMemberCode , setTransMemberCode ] = useState ( "" ) ;
310312 const [ transTo , setTransTo ] = useState ( "" ) ;
311313 const [ transAmount , setTransAmount ] = useState ( "" ) ;
@@ -543,12 +545,25 @@ function ProgramDetail({ programId }: { programId: number }) {
543545 < Box sx = { { pt : 2 , maxWidth : 480 } } >
544546 < TextField label = "Amount (FULA)" value = { depAmount } onChange = { ( e ) => setDepAmount ( e . target . value ) }
545547 fullWidth size = "small" type = "number" />
548+ { rewardTypesForDep && ( rewardTypesForDep as [ number [ ] , `0x${string } `[ ] ] ) [ 0 ] ?. length > 0 && (
549+ < FormControl fullWidth size = "small" sx = { { mt : 1 } } >
550+ < InputLabel > Reward Type</ InputLabel >
551+ < Select value = { depRewardType } onChange = { ( e ) => setDepRewardType ( Number ( e . target . value ) ) } label = "Reward Type" >
552+ < MenuItem value = { 0 } > None</ MenuItem >
553+ { ( rewardTypesForDep as [ number [ ] , `0x${string } `[ ] ] ) [ 0 ] . map ( ( id : number , idx : number ) => (
554+ < MenuItem key = { id } value = { id } >
555+ { fromBytes16 ( ( rewardTypesForDep as [ number [ ] , `0x${string } `[ ] ] ) [ 1 ] [ idx ] ) || `Type ${ id } ` }
556+ </ MenuItem >
557+ ) ) }
558+ </ Select >
559+ </ FormControl >
560+ ) }
546561 < TextField label = "Note (max 128)" value = { depNote }
547562 onChange = { ( e ) => setDepNote ( e . target . value . slice ( 0 , 128 ) ) }
548563 fullWidth size = "small" sx = { { mt : 1 } } inputProps = { { maxLength : 128 } } />
549564 < OnChainDisclaimer accepted = { depDisclaimer } onChange = { setDepDisclaimer } />
550565 < Button variant = "contained" fullWidth sx = { { mt : 1 } }
551- onClick = { ( ) => depositTokens ( programId , depAmount , 0 , depNote ) }
566+ onClick = { ( ) => depositTokens ( programId , depAmount , depRewardType , depNote ) }
552567 disabled = { isDepPending || ! depAmount || ! depDisclaimer } >
553568 { isDepApproving ? < > < CircularProgress size = { 16 } sx = { { mr : 0.5 } } /> Approving...</ >
554569 : isDepDepositing ? < > < CircularProgress size = { 16 } sx = { { mr : 0.5 } } /> Depositing...</ >
0 commit comments