import type { RouteExtended, TokenAmount } from '@lifi/sdk' import ExpandLess from '@mui/icons-material/ExpandLess' import ExpandMore from '@mui/icons-material/ExpandMore' import { Box, Collapse } from '@mui/material' import type { JSX } from 'react' import { type MouseEventHandler, useState } from 'react' import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js' import { CardIconButton } from '../Card/CardIconButton.js' import { Token } from '../Token/Token.js' import { RouteCardEssentials } from './RouteCardEssentials.js' import { RouteDetails } from './RouteDetails.js' import { TokenContainer } from './RouteToken.style.js' interface RouteTokenProps { route: RouteExtended token: TokenAmount impactToken?: TokenAmount defaultExpanded?: boolean showEssentials?: boolean } export const RouteToken = ({ route, token, impactToken, defaultExpanded, showEssentials, }: RouteTokenProps): JSX.Element => { const { hiddenUI } = useWidgetConfig() const [cardExpanded, setCardExpanded] = useState(defaultExpanded) const handleExpand: MouseEventHandler = (e) => { e.stopPropagation() setCardExpanded((expanded) => !expanded) } return ( {!defaultExpanded ? ( {cardExpanded ? ( ) : ( )} ) : null} {showEssentials ? ( ) : null} ) }