11/** @jsxImportSource preact */
22import { useEffect , useState , useRef , useMemo } from "preact/hooks"
3- import { MainnetTable , TestnetTable , StreamsNetworkAddressesTable } from "./Tables.tsx"
3+ import { MainnetTable , TestnetTable , StreamsNetworkAddressesTable , StreamsTHead , StreamsTr } from "./Tables.tsx"
44import feedList from "./FeedList.module.css"
55import tableStyles from "./Tables.module.css"
66import { clsx } from "~/lib/clsx/clsx.ts"
@@ -744,6 +744,55 @@ export const FeedList = ({
744744 dataFeedType === "streamsExRate" ||
745745 dataFeedType === "streamsBacked"
746746 ) {
747+ // For deprecating streams, show a consolidated table across all networks
748+ if ( isDeprecating ) {
749+ const allDeprecatingStreams : any [ ] = [ ]
750+
751+ // Check both chainMetadata and initialCache for deprecating streams
752+ const networksToCheck = chainMetadata . processedData ?. networks ||
753+ ( initialCache && initialCache . deprecated ? ( initialCache . deprecated as any ) . networks : [ ] )
754+
755+ networksToCheck . forEach ( ( network : any ) => {
756+ network . metadata ?. forEach ( ( item : any ) => {
757+ // Only include items that are actual streams (have verifier contract type and feedId)
758+ // and have a shutdown date
759+ if ( item . contractType === "verifier" && item . feedId && item . docs ?. shutdownDate ) {
760+ allDeprecatingStreams . push ( {
761+ ...item ,
762+ networkName : network . name ,
763+ } )
764+ }
765+ } )
766+ } )
767+
768+ return (
769+ < >
770+ { chainMetadata . loading && ! chainMetadata . processedData && ! initialCache && < p > Loading...</ p > }
771+ { chainMetadata . error && < p > There was an error loading the streams...</ p > }
772+
773+ { allDeprecatingStreams . length > 0 ? (
774+ < SectionWrapper title = "Deprecating Streams" depth = { 2 } >
775+ < div className = { feedList . tableWrapper } >
776+ < table className = { clsx ( tableStyles . table ) } >
777+ < StreamsTHead />
778+ < tbody >
779+ { allDeprecatingStreams . map ( ( stream , index ) => (
780+ < StreamsTr key = { `${ stream . feedId } -${ index } ` } metadata = { stream } isMainnet = { true } />
781+ ) ) }
782+ </ tbody >
783+ </ table >
784+ </ div >
785+ </ SectionWrapper >
786+ ) : (
787+ ! chainMetadata . loading && (
788+ < p > No deprecating streams found at this time.</ p >
789+ )
790+ ) }
791+ </ >
792+ )
793+ }
794+
795+ // Regular streams view (non-deprecating)
747796 const mainnetFeeds : ChainNetwork [ ] = [ ]
748797 const testnetFeeds : ChainNetwork [ ] = [ ]
749798
@@ -759,20 +808,24 @@ export const FeedList = ({
759808
760809 return (
761810 < >
762- { allowNetworkTableExpansion ? (
763- < div style = { { marginBottom : "var(--space-2x)" } } >
764- < StreamsNetworkAddressesTable
765- allowExpansion = { allowNetworkTableExpansion }
766- defaultExpanded = { defaultNetworkTableExpanded }
767- />
768- </ div >
769- ) : (
770- < SectionWrapper title = "Streams Verifier Network Addresses" depth = { 2 } >
771- < StreamsNetworkAddressesTable
772- allowExpansion = { allowNetworkTableExpansion }
773- defaultExpanded = { defaultNetworkTableExpanded }
774- />
775- </ SectionWrapper >
811+ { ! isDeprecating && (
812+ < >
813+ { allowNetworkTableExpansion ? (
814+ < div style = { { marginBottom : "var(--space-2x)" } } >
815+ < StreamsNetworkAddressesTable
816+ allowExpansion = { allowNetworkTableExpansion }
817+ defaultExpanded = { defaultNetworkTableExpanded }
818+ />
819+ </ div >
820+ ) : (
821+ < SectionWrapper title = "Streams Verifier Network Addresses" depth = { 2 } >
822+ < StreamsNetworkAddressesTable
823+ allowExpansion = { allowNetworkTableExpansion }
824+ defaultExpanded = { defaultNetworkTableExpanded }
825+ />
826+ </ SectionWrapper >
827+ ) }
828+ </ >
776829 ) }
777830
778831 < SectionWrapper
0 commit comments