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 })