diff --git a/src/components/CCIP/Chain/Chain.astro b/src/components/CCIP/Chain/Chain.astro index 7826bc0cb93..562ab44bd1e 100644 --- a/src/components/CCIP/Chain/Chain.astro +++ b/src/components/CCIP/Chain/Chain.astro @@ -75,16 +75,15 @@ const searchLanes = getSearchLanes({ environment })

Tokens ({allTokens.length})

List my token -
- -
+ + diff --git a/src/components/CCIP/SeeMore/SeeMore.css b/src/components/CCIP/SeeMore/SeeMore.css new file mode 100644 index 00000000000..2ddd31b9838 --- /dev/null +++ b/src/components/CCIP/SeeMore/SeeMore.css @@ -0,0 +1,7 @@ +.seeMore { + height: 22px; + font-size: 14px; + line-height: 22px; + color: #2e7bff; + margin-top: var(--space-6x); +} diff --git a/src/components/CCIP/SeeMore/SeeMore.tsx b/src/components/CCIP/SeeMore/SeeMore.tsx new file mode 100644 index 00000000000..b966fbe8160 --- /dev/null +++ b/src/components/CCIP/SeeMore/SeeMore.tsx @@ -0,0 +1,14 @@ +import "./SeeMore.css" +interface SeeMoreProps { + onClick?: () => void +} + +function SeeMore({ onClick }: SeeMoreProps) { + return ( + + ) +} + +export default SeeMore diff --git a/src/components/CCIP/Tables/ChainTable.tsx b/src/components/CCIP/Tables/ChainTable.tsx index ef2902e909f..5616878a78f 100644 --- a/src/components/CCIP/Tables/ChainTable.tsx +++ b/src/components/CCIP/Tables/ChainTable.tsx @@ -2,7 +2,7 @@ import Address from "~/components/AddressReact" import "./Table.css" import Tabs from "./Tabs" import TableSearchInput from "./TableSearchInput" -import { useState } from "react" +import { useEffect, useState } from "react" import { getExplorerAddressUrl } from "~/features/utils" import { drawerContentStore } from "../Drawer/drawerStore" import LaneDrawer from "../Drawer/LaneDrawer" @@ -10,6 +10,7 @@ import { Environment, Version } from "~/config/data/ccip/types" import { getLane, LaneFilter } from "~/config/data/ccip" import { SupportedChain } from "~/config" import { clsx } from "~/lib" +import SeeMore from "../SeeMore/SeeMore" interface TableProps { environment: Environment @@ -32,9 +33,18 @@ interface TableProps { explorerUrl: string } +const BEFORE_SEE_MORE = 12 // Number of networks to show before the "See more" button, 7 rows + function ChainTable({ lanes, explorerUrl, sourceNetwork, environment }: TableProps) { const [inOutbound, setInOutbound] = useState(LaneFilter.Outbound) const [search, setSearch] = useState("") + const [seeMore, setSeeMore] = useState(lanes.length <= BEFORE_SEE_MORE) + + useEffect(() => { + if (search.length > 0) { + setSeeMore(true) + } + }, [search]) return ( <> @@ -66,6 +76,7 @@ function ChainTable({ lanes, explorerUrl, sourceNetwork, environment }: TablePro {lanes ?.filter((network) => network.name.toLowerCase().includes(search.toLowerCase())) + .slice(0, seeMore ? lanes.length : BEFORE_SEE_MORE) .map((network, index) => ( @@ -130,7 +141,7 @@ function ChainTable({ lanes, explorerUrl, sourceNetwork, environment }: TablePro - + {!seeMore && setSeeMore(!seeMore)} />}
{lanes.filter((network) => network.name.toLowerCase().includes(search.toLowerCase())).length === 0 && ( <>No lanes found diff --git a/src/components/CCIP/Tables/Tabs.css b/src/components/CCIP/Tables/Tabs.css index 7e6faee31ad..773a3b98d11 100644 --- a/src/components/CCIP/Tables/Tabs.css +++ b/src/components/CCIP/Tables/Tabs.css @@ -1,7 +1,7 @@ .tabs { display: flex; align-items: center; - gap: 20px; + gap: var(--space-6x); } .tabs__tab { @@ -20,3 +20,13 @@ padding-bottom: 5px; border-bottom: 3px solid #2e7bff; } + +@media (max-width: 375px) { + .tab { + gap: var(--space-4x); + } + + .tabs__tab { + font-size: var(--space-4x); + } +} diff --git a/src/components/CCIP/Token/Token.astro b/src/components/CCIP/Token/Token.astro index 45173837b0c..049ae208f92 100644 --- a/src/components/CCIP/Token/Token.astro +++ b/src/components/CCIP/Token/Token.astro @@ -106,13 +106,8 @@ const searchLanes = getSearchLanes({ environment })