diff --git a/src/custom/pages/Claim/InvestmentFlow/index.tsx b/src/custom/pages/Claim/InvestmentFlow/index.tsx index c5092df58..14ea94758 100644 --- a/src/custom/pages/Claim/InvestmentFlow/index.tsx +++ b/src/custom/pages/Claim/InvestmentFlow/index.tsx @@ -56,7 +56,7 @@ export default function InvestmentFlow({ hasClaims, isAirdropOnly, ...tokenAppro }, [claimData, selected]) useEffect(() => { - initInvestFlowData(isInvestFlowActive ? claimData : []) + initInvestFlowData() // eslint-disable-next-line react-hooks/exhaustive-deps }, [isInvestFlowActive]) diff --git a/src/custom/state/claim/actions.ts b/src/custom/state/claim/actions.ts index e6d974c67..47fbcc4ab 100644 --- a/src/custom/state/claim/actions.ts +++ b/src/custom/state/claim/actions.ts @@ -1,5 +1,4 @@ import { createAction } from '@reduxjs/toolkit' -import { EnhancedUserClaimData } from 'pages/Claim/types' export enum ClaimStatus { DEFAULT = 'DEFAULT', @@ -24,7 +23,7 @@ export type ClaimActions = { // investing setIsInvestFlowActive: (payload: boolean) => void setInvestFlowStep: (payload: number) => void - initInvestFlowData: (payload: EnhancedUserClaimData[]) => void + initInvestFlowData: () => void updateInvestAmount: (payload: { index: number; amount: string }) => void // claim row selection @@ -47,7 +46,7 @@ export const setClaimStatus = createAction('claim/setClaimStatus') // investing export const setIsInvestFlowActive = createAction('claim/setIsInvestFlowActive') export const setInvestFlowStep = createAction('claim/setInvestFlowStep') -export const initInvestFlowData = createAction('claim/initInvestFlowData') +export const initInvestFlowData = createAction('claim/initInvestFlowData') export const updateInvestAmount = createAction<{ index: number amount: string diff --git a/src/custom/state/claim/hooks/index.ts b/src/custom/state/claim/hooks/index.ts index 83b3d17fc..8319dda7c 100644 --- a/src/custom/state/claim/hooks/index.ts +++ b/src/custom/state/claim/hooks/index.ts @@ -722,7 +722,7 @@ export function useClaimDispatchers() { // investing setIsInvestFlowActive: (payload: boolean) => dispatch(setIsInvestFlowActive(payload)), setInvestFlowStep: (payload: number) => dispatch(setInvestFlowStep(payload)), - initInvestFlowData: (payload: EnhancedUserClaimData[]) => dispatch(initInvestFlowData(payload)), + initInvestFlowData: () => dispatch(initInvestFlowData()), updateInvestAmount: (payload: { index: number; amount: string }) => dispatch(updateInvestAmount(payload)), // claim row selection setSelected: (payload: number[]) => dispatch(setSelected(payload)), diff --git a/src/custom/state/claim/reducer.ts b/src/custom/state/claim/reducer.ts index 36ebceba1..3f8c42e9c 100644 --- a/src/custom/state/claim/reducer.ts +++ b/src/custom/state/claim/reducer.ts @@ -88,14 +88,16 @@ export default createReducer(initialState, (builder) => .addCase(setInvestFlowStep, (state, { payload }) => { state.investFlowStep = payload }) - .addCase(initInvestFlowData, (state, { payload }) => { - const { selected } = current(state) + .addCase(initInvestFlowData, (state) => { + const { selected, isInvestFlowActive } = current(state) - const data = payload - .filter(({ index }) => selected.includes(index)) - .map(({ index }) => ({ index, investedAmount: '0' })) + const data = selected.map((index) => ({ index, investedAmount: '0' })) - state.investFlowData.push(...data) + if (isInvestFlowActive) { + state.investFlowData.push(...data) + } else { + state.investFlowData.length = 0 + } }) .addCase(updateInvestAmount, (state, { payload: { index, amount } }) => { state.investFlowData[index].investedAmount = amount