import { ArrowLineDown } from "@phosphor-icons/react/dist/ssr/ArrowLineDown"; import { ArrowSquareOut } from "@phosphor-icons/react/dist/ssr/ArrowSquareOut"; import { ArrowsOutSimple } from "@phosphor-icons/react/dist/ssr/ArrowsOutSimple"; import { ClockCountdown } from "@phosphor-icons/react/dist/ssr/ClockCountdown"; import { StackPlus } from "@phosphor-icons/react/dist/ssr/StackPlus"; import { Badge } from "@pythnetwork/component-library/Badge"; import { Button } from "@pythnetwork/component-library/Button"; import { type Props as CardProps, Card, } from "@pythnetwork/component-library/Card"; import { Drawer, DrawerTrigger } from "@pythnetwork/component-library/Drawer"; import { StatCard } from "@pythnetwork/component-library/StatCard"; import type { ElementType } from "react"; import { AssetClassesDrawer } from "./asset-classes-drawer"; import { ComingSoonList } from "./coming-soon-list"; import styles from "./index.module.scss"; import { PriceFeedsCard } from "./price-feeds-card"; import { Cluster, getFeeds } from "../../services/pyth"; import { priceFeeds as priceFeedsStaticConfig } from "../../static-data/price-feeds"; import { activeChains } from "../../static-data/stats"; import { LivePrice } from "../LivePrices"; import { YesterdaysPricesProvider, PriceFeedChangePercent, } from "../PriceFeedChangePercent"; import { PriceFeedIcon } from "../PriceFeedIcon"; import { PriceFeedTag } from "../PriceFeedTag"; const PRICE_FEEDS_ANCHOR = "priceFeeds"; export const PriceFeeds = async () => { const priceFeeds = await getPriceFeeds(); const numFeedsByAssetClass = getNumFeedsByAssetClass(priceFeeds.activeFeeds); const featuredComingSoon = [ ...filterFeeds( priceFeeds.comingSoon, priceFeedsStaticConfig.featuredComingSoon, ), ...priceFeeds.comingSoon.filter( ({ symbol }) => !priceFeedsStaticConfig.featuredComingSoon.includes(symbol), ), ].slice(0, 5); const featuredRecentlyAdded = filterFeeds( priceFeeds.activeFeeds, priceFeedsStaticConfig.featuredRecentlyAdded, ); return (