diff --git a/scripts/utils.ts b/scripts/utils.ts index 045edff2dbf..7e90a443e49 100644 --- a/scripts/utils.ts +++ b/scripts/utils.ts @@ -27,5 +27,5 @@ export const getSemverTags = async (): Promise => { const validTags: string[] = allTags .filter(t => semver.valid(t)) .filter(t => semver.satisfies(t, WEB_VERSION_RANGES)) - return validTags + return validTags.sort(semver.compare) } diff --git a/src/assets/translations/en/main.json b/src/assets/translations/en/main.json index 688581d890d..10622ab5bce 100644 --- a/src/assets/translations/en/main.json +++ b/src/assets/translations/en/main.json @@ -3040,6 +3040,7 @@ "foxBurnAmount": "FOX Burn Amount (This Epoch)", "pendingDistribution": "Pending Distribution", "selectRuneAddress": "Select a RUNE address", + "unstakeDisabledMigrationTooltip": "Un-staking is disabled until October 1, when the cooldown period is removed.", "lpSunsetWarningTitle": "Program Ended", "lpSunsetWarningDescription": "The Arbitrum WETH/FOX Rewards program has been sunset. Please un-stake and claim your balance at your earliest convenience." }, diff --git a/src/pages/Fox/components/RFOXSection.tsx b/src/pages/Fox/components/RFOXSection.tsx index 7ce4ed358d3..bc8f7dceba2 100644 --- a/src/pages/Fox/components/RFOXSection.tsx +++ b/src/pages/Fox/components/RFOXSection.tsx @@ -15,6 +15,7 @@ import { Stack, Tag, Text as CText, + Tooltip, usePrevious, } from '@chakra-ui/react' import { @@ -45,6 +46,7 @@ import { Stats } from '@/pages/RFOX/components/Overview/Stats' import { StakeModal } from '@/pages/RFOX/components/StakeModal' import { UnstakeModal } from '@/pages/RFOX/components/UnstakeModal' import { selectStakingBalance } from '@/pages/RFOX/helpers' +import { useCooldownPeriodQuery } from '@/pages/RFOX/hooks/useCooldownPeriodQuery' import { useCurrentApyQuery } from '@/pages/RFOX/hooks/useCurrentApyQuery' import { useCurrentEpochMetadataQuery } from '@/pages/RFOX/hooks/useCurrentEpochMetadataQuery' import { useCurrentEpochRewardsQuery } from '@/pages/RFOX/hooks/useCurrentEpochRewardsQuery' @@ -63,6 +65,8 @@ import { } from '@/state/slices/selectors' import { useAppDispatch, useAppSelector } from '@/state/store' +const tooltipWrapperSx = { '& > span': { display: 'block', width: '100%' } } + const tbArrowUp = const tbArrowDown = @@ -332,6 +336,15 @@ export const RFOXSection = () => { setIsClaimModalOpen(false) }, []) + const cooldownPeriodQuery = useCooldownPeriodQuery(stakingAssetId) + + const isUnstakeDisabled = useMemo( + () => + stakingAssetId === foxOnArbitrumOneAssetId && + cooldownPeriodQuery.data?.cooldownPeriodSeconds !== 0, + [cooldownPeriodQuery.data?.cooldownPeriodSeconds, stakingAssetId], + ) + const actionsButtons = useMemo(() => { return ( @@ -346,15 +359,24 @@ export const RFOXSection = () => { {translate('defi.stake')} )} - + + + + +