import { Popup } from "@/components/Popup"; import clsx from "clsx"; import React, { ReactNode } from "react"; export interface NetworkOption { id: number; name: string; logo: string | ReactNode | JSX.Element; onClick?: (networkOption?: NetworkOption, index?: number) => Promise; } interface PropsType { opened: boolean; networkOptions: NetworkOption[]; selectedNetwork?: NetworkOption; onClose: () => void; onBack?: () => void; back?: boolean; fixed?: boolean; } const NetworkPopup: React.FC = ({ opened, networkOptions, selectedNetwork, onClose, onBack = () => {}, back, fixed, }) => { return (
{networkOptions.map((networkOption, index) => { const { id, name, logo, onClick } = networkOption; const isActive = selectedNetwork?.id === id && selectedNetwork?.name === name; return (
{ await onClick?.(networkOption, index); onClose(); }} > {typeof logo === "string" ? ( {name} ) : ( logo )} {name} {isActive && }
); })}
); }; export default NetworkPopup; const Selected = (props: React.SVGProps) => { return ( ); };