diff --git a/src/components/stake-form.tsx b/src/components/stake-form.tsx index 5d7b591..2170e25 100644 --- a/src/components/stake-form.tsx +++ b/src/components/stake-form.tsx @@ -49,6 +49,17 @@ export function StakeForm({ defaultMode = 'stake' }: StakeFormProps) { // Fetch all pools using the new hook const { poolDetails, loading: poolsLoading } = useGetAllPools(); + // Filter pools based on mode: stake mode shows only working pools, unstake shows all + const filteredPools = useMemo(() => { + if (!poolDetails) return null; + if (mode === 'stake') { + // Stake mode: only show working (non-killed) pools + return poolDetails.filter(pool => !pool.isKilled); + } + // Unstake mode: show all pools (working + killed) + return poolDetails; + }, [poolDetails, mode]); + // Get token details for the user const { tokenDetails, loading: tokensLoading } = useTokenDetails(address); @@ -190,6 +201,14 @@ export function StakeForm({ defaultMode = 'stake' }: StakeFormProps) { fetchTokenDetails(); }, [publicClient, selectedPool, mode, redeemAll]); + // Auto-enable Redeem All for killed pools in unstake mode + useEffect(() => { + if (mode === 'unstake' && selectedPool?.isKilled) { + setRedeemAll(true); + setSelectedToken(null); // Clear token selection for killed pools + } + }, [mode, selectedPool]); + // Close dropdowns when clicking outside useEffect(() => { const handleClickOutside = (event: MouseEvent) => { @@ -329,8 +348,8 @@ export function StakeForm({ defaultMode = 'stake' }: StakeFormProps) { {isPoolDropdownOpen && (