From 267aeb24ef903a63c01b5dafb4b0cd232ab70279 Mon Sep 17 00:00:00 2001 From: Victor Creed Date: Fri, 2 Aug 2024 11:47:45 +0300 Subject: [PATCH] fix: LM Vesting crashes rewards page --- .changeset/modern-ducks-shake.md | 5 ++++ .../app/5_pages/RewardsPage/RewardsPage.tsx | 23 ++++++++++++++++++- .../UnclaimedVestingAlert.tsx | 2 +- .../UnlockSchedule/UnlockSchedule.tsx | 4 +++- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 .changeset/modern-ducks-shake.md diff --git a/.changeset/modern-ducks-shake.md b/.changeset/modern-ducks-shake.md new file mode 100644 index 000000000..cb79c4c1b --- /dev/null +++ b/.changeset/modern-ducks-shake.md @@ -0,0 +1,5 @@ +--- +'frontend': patch +--- + +fix: LM Vesting crashes rewards page diff --git a/apps/frontend/src/app/5_pages/RewardsPage/RewardsPage.tsx b/apps/frontend/src/app/5_pages/RewardsPage/RewardsPage.tsx index 9c213784e..10fc560f6 100644 --- a/apps/frontend/src/app/5_pages/RewardsPage/RewardsPage.tsx +++ b/apps/frontend/src/app/5_pages/RewardsPage/RewardsPage.tsx @@ -3,7 +3,7 @@ import React, { FC, useEffect, useMemo, useState } from 'react'; import { t } from 'i18next'; import { Helmet } from 'react-helmet-async'; import { Trans } from 'react-i18next'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate, useSearchParams } from 'react-router-dom'; import { SelectOption, @@ -38,6 +38,8 @@ import { Vesting } from './components/Vesting/Vesting'; const ACTIVE_CLASSNAME = 'border-t-primary-30'; const RewardsPage: FC = () => { + const [params] = useSearchParams({ tab: '' }); + const tab = params.get('tab'); const navigate = useNavigate(); const { checkMaintenance, States } = useMaintenance(); const rewardsLocked = checkMaintenance(States.REWARDS_FULL); @@ -109,6 +111,25 @@ const RewardsPage: FC = () => { } }, [items, index]); + useEffect(() => { + switch (tab) { + case 'liquidityMining': + setIndex(0); + break; + case 'stabilityPool': + setIndex(1); + break; + case 'staking': + setIndex(2); + break; + case 'vesting': + setIndex(3); + break; + default: + break; + } + }, [tab]); + return ( <> diff --git a/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnclaimedVestingAlert/UnclaimedVestingAlert.tsx b/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnclaimedVestingAlert/UnclaimedVestingAlert.tsx index 140e6e0c9..f3557cc19 100644 --- a/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnclaimedVestingAlert/UnclaimedVestingAlert.tsx +++ b/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnclaimedVestingAlert/UnclaimedVestingAlert.tsx @@ -21,7 +21,7 @@ export const UnclaimcedVestingAlert = () => { {t(translations.unclaimedVestings.text, { value: count })}{' '} {t(translations.unclaimedVestings.cta)} diff --git a/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnlockSchedule/UnlockSchedule.tsx b/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnlockSchedule/UnlockSchedule.tsx index 7425cc421..4f9e90ece 100644 --- a/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnlockSchedule/UnlockSchedule.tsx +++ b/apps/frontend/src/app/5_pages/RewardsPage/components/Vesting/components/UnlockSchedule/UnlockSchedule.tsx @@ -20,7 +20,9 @@ export const UnlockSchedule = (item: VestingContractTableRecord) => { ); useEffect(() => { - update(state => (state.item = item)); + update(state => { + state.item = item; + }); }, [item, update]); return (