mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* UI/UX: Dropdown DeFi button fixes Resolves #3104 * move chain menu to the right of the topbar * add list mode to chains menu * rollback price diff on mobile
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
|
|
import { Button } from 'toolkit/chakra/button';
|
|
import { PopoverRoot, PopoverTrigger } from 'toolkit/chakra/popover';
|
|
import IconSvg from 'ui/shared/IconSvg';
|
|
import NetworkMenuContent from 'ui/snippets/networkMenu/NetworkMenuContent';
|
|
import useNetworkMenu from 'ui/snippets/networkMenu/useNetworkMenu';
|
|
|
|
const NetworkMenu = () => {
|
|
const menu = useNetworkMenu();
|
|
|
|
const handlePopoverOpenChange = React.useCallback(({ open }: { open: boolean }) => {
|
|
menu.onOpenChange({ open });
|
|
}, [ menu ]);
|
|
|
|
return (
|
|
<PopoverRoot
|
|
positioning={{ placement: 'bottom-start', offset: { mainAxis: 6 } }}
|
|
lazyMount
|
|
open={ menu.open }
|
|
onOpenChange={ handlePopoverOpenChange }
|
|
>
|
|
<PopoverTrigger>
|
|
<Button
|
|
variant="link"
|
|
aria-label="Network menu"
|
|
onClick={ menu.onToggle }
|
|
size="2xs"
|
|
fontWeight={ 500 }
|
|
>
|
|
<IconSvg name="networks" boxSize="14px"/>
|
|
<span>Chains</span>
|
|
<IconSvg name="arrows/east-mini" boxSize={ 4 } transform="rotate(-90deg)"/>
|
|
</Button>
|
|
</PopoverTrigger>
|
|
<NetworkMenuContent items={ menu.data } tabs={ menu.availableTabs }/>
|
|
</PopoverRoot>
|
|
);
|
|
};
|
|
|
|
export default React.memo(NetworkMenu);
|