fix modal logic

This commit is contained in:
Maximilian Schneider 2021-07-05 14:34:53 +02:00
parent 816e82b867
commit 9104bdf632
1 changed files with 7 additions and 10 deletions

View File

@ -47,11 +47,11 @@ const ContributionModal = () => {
const usdcBalance = largestAccounts.usdc?.balance || 0 const usdcBalance = largestAccounts.usdc?.balance || 0
const redeemableBalance = largestAccounts.redeemable?.balance || 0 const redeemableBalance = largestAccounts.redeemable?.balance || 0
const totalBalance = usdcBalance + redeemableBalance
console.log({ usdcBalance, redeemableBalance }) console.log({ usdcBalance, redeemableBalance, totalBalance })
const [contributionAmount, setContributionAmount] = useState(0) const [contributionAmount, setContributionAmount] = useState(0)
const [sliderPercentage, setSliderPercentage] = useState(0)
const [submitting, setSubmitting] = useState(false) const [submitting, setSubmitting] = useState(false)
const [submitted, setSubmitted] = useState(false) const [submitted, setSubmitted] = useState(false)
const [editContribution, setEditContribution] = useState(false) const [editContribution, setEditContribution] = useState(false)
@ -85,17 +85,14 @@ const ContributionModal = () => {
const onChangeAmountInput = (amount) => { const onChangeAmountInput = (amount) => {
setContributionAmount(amount) setContributionAmount(amount)
setSliderPercentage((amount / usdcBalance) * 100)
} }
const onChangeSlider = (percentage) => { const onChangeSlider = (percentage) => {
setContributionAmount((percentage / 100) * usdcBalance) setContributionAmount(Math.round(percentage * totalBalance) / 100)
setSliderPercentage(percentage)
} }
const handleMax = () => { const handleMax = () => {
setContributionAmount(usdcBalance) setContributionAmount(totalBalance)
setSliderPercentage(100)
setMaxButtonTransition(true) setMaxButtonTransition(true)
} }
@ -107,10 +104,10 @@ const ContributionModal = () => {
useEffect(() => { useEffect(() => {
setLoading(true) setLoading(true)
if (usdcBalance) { if (largestAccounts.usdc) {
setLoading(false) setLoading(false)
} }
}, [usdcBalance]) }, [largestAccounts])
useEffect(() => { useEffect(() => {
if (submitting) { if (submitting) {
@ -234,7 +231,7 @@ const ContributionModal = () => {
<div className="pb-20"> <div className="pb-20">
<Slider <Slider
disabled={disableFormInputs} disabled={disableFormInputs}
value={sliderPercentage} value={(100 * contributionAmount) / totalBalance}
onChange={(v) => onChangeSlider(v)} onChange={(v) => onChangeSlider(v)}
step={1} step={1}
maxButtonTransition={maxButtonTransition} maxButtonTransition={maxButtonTransition}