Skip to content

Commit d226f8b

Browse files
committed
fix: use cow scrollbar on morpho token selector
1 parent f3f312b commit d226f8b

2 files changed

Lines changed: 38 additions & 25 deletions

File tree

‎packages/cow-hooks-ui/src/components/TokenFilterModal.tsx‎

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import * as Dialog from "@radix-ui/react-dialog";
44
import { Cross2Icon, MagnifyingGlassIcon } from "@radix-ui/react-icons";
55
import type { FilterType, MarketTokenInfo } from "../hooks/useMarketFilters";
6+
import { Scrollbar } from "../ui/Scrollbar";
67
import { TokenItem } from "./TokenItem";
78

89
interface TokenFilterModalProps {
@@ -72,29 +73,31 @@ export function TokenFilterModal({
7273
</div>
7374
</div>
7475
{/* Token List */}
75-
<div className="flex-1 overflow-y-auto min-h-0">
76-
{filteredTokens.length === 0 ? (
77-
<div className="text-center text-muted-foreground py-6 px-3">
78-
<p className="text-sm">No tokens found</p>
79-
</div>
80-
) : (
81-
<div className="p-2">
82-
{filteredTokens.map((token) => {
83-
const isSelected = selectedTokens.has(
84-
token.address.toLowerCase(),
85-
);
86-
return (
87-
<TokenItem
88-
key={token.address}
89-
token={token}
90-
isSelected={isSelected}
91-
onToggle={onTokenToggle}
92-
/>
93-
);
94-
})}
95-
</div>
96-
)}
97-
</div>
76+
<Scrollbar className="p-0">
77+
<div className="flex-1 overflow-y-auto min-h-0">
78+
{filteredTokens.length === 0 ? (
79+
<div className="text-center text-muted-foreground py-6 px-3">
80+
<p className="text-sm">No tokens found</p>
81+
</div>
82+
) : (
83+
<div className="p-2">
84+
{filteredTokens.map((token) => {
85+
const isSelected = selectedTokens.has(
86+
token.address.toLowerCase(),
87+
);
88+
return (
89+
<TokenItem
90+
key={token.address}
91+
token={token}
92+
isSelected={isSelected}
93+
onToggle={onTokenToggle}
94+
/>
95+
);
96+
})}
97+
</div>
98+
)}
99+
</div>
100+
</Scrollbar>
98101
</div>
99102
</Dialog.Content>
100103
</Dialog.Portal>

‎packages/cow-hooks-ui/src/ui/Scrollbar.tsx‎

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
1+
import { cn } from "@bleu.builders/ui";
12
import type { ReactNode } from "react";
23

3-
export function Scrollbar({ children }: { children: ReactNode }) {
4+
export function Scrollbar({
5+
children,
6+
className,
7+
}: {
8+
children: ReactNode;
9+
className?: string;
10+
}) {
411
return (
512
<div
6-
className="font-sans overflow-y-auto font-normal h-screen text-color-text p-[16px] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-muted [&::-webkit-scrollbar-thumb]:bg-foreground/15 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:rounded-full"
13+
className={cn(
14+
"font-sans overflow-y-auto font-normal h-screen text-color-text p-[16px] [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-muted [&::-webkit-scrollbar-thumb]:bg-foreground/15 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:rounded-full",
15+
className,
16+
)}
717
style={{ scrollbarGutter: "stable" }}
818
>
919
{children}

0 commit comments

Comments
 (0)