'use client'; import { useCallback, useRef, useState } from 'react'; import { DropdownMenu, DropdownMenuItem, } from '@/internal/components/DropdownMenu'; import { cn } from '@/styles/theme'; import type { TokenSelectDropdownProps } from '../types'; import { TokenRow } from './TokenRow'; import { TokenSelectButton } from './TokenSelectButton'; export function TokenSelectDropdown({ options, setToken, token, }: TokenSelectDropdownProps) { const [isOpen, setIsOpen] = useState(false); const buttonRef = useRef(null); const closeDropdown = useCallback(() => { setIsOpen(false); }, []); const toggleDropdown = useCallback(() => { setIsOpen((prev) => !prev); }, []); return (
} isOpen={isOpen} onClose={closeDropdown} align="end" aria-label="Select token" className="rounded-ock-default text-ock-foreground flex max-h-80 w-[200px] flex-col overflow-y-hidden ock-scrollbar overflow-y-auto" > {options.map((token) => ( { setToken(token); setIsOpen(false); }} /> ))}
); }