@@ -11,11 +11,13 @@ import { MarketRow } from "./MarketRow/MarketRow";
1111import Footer from "@/components/Footer/Footer" ;
1212import BetaDisclaimer from "@/components/BetaDisclaimer/BetaDisclaimer" ;
1313import { SUPPORTED_TOKENS } from "@/utils/tokenMappings" ;
14+ import { useDeprecatedTokens } from "@/contexts/DeprecatedTokensContext" ;
1415import { useMemo } from "react" ;
1516
1617const Markets : React . FC = ( ) => {
1718 const { data : supportedTokens = [ ] } = useSupportedTokens ( ) ;
1819 const { data : prices } = usePrices ( ) ;
20+ const { showDeprecated } = useDeprecatedTokens ( ) ;
1921
2022 // Always sort ALL tokens, never filter them for MarketStats to maintain stable hook calls
2123 const sortedTokens = useMemo ( ( ) => {
@@ -40,19 +42,31 @@ const Markets: React.FC = () => {
4042 } ) ;
4143 } , [ supportedTokens ] ) ;
4244
45+ // Filter only for display in the list
46+ const visibleTokens = useMemo ( ( ) => {
47+ if ( ! Array . isArray ( sortedTokens ) ) {
48+ return [ ] ;
49+ }
50+
51+ return showDeprecated
52+ ? sortedTokens
53+ : sortedTokens . filter ( ( token ) => ! token . deprecated ) ;
54+ } , [ sortedTokens , showDeprecated ] ) ;
55+
4356 return (
4457 < div className = { styles . page } >
4558 < BetaDisclaimer />
4659 < Header />
4760 < div className = { styles . body } >
4861 < div className = { styles . bodyContainer } >
62+ { /* Always pass ALL tokens to MarketStats to maintain stable hook calls */ }
4963 < MarketStats
5064 tokens = { sortedTokens as SupportedToken [ ] }
5165 prices = { prices }
52- showDeprecated = { true }
66+ showDeprecated = { showDeprecated }
5367 />
5468 < div className = { styles . marketsList } >
55- { ( sortedTokens as SupportedToken [ ] ) . map ( ( token ) => (
69+ { ( visibleTokens as SupportedToken [ ] ) . map ( ( token ) => (
5670 < MarketRow
5771 key = { token . ticker }
5872 token = { token }
0 commit comments