import { FC } from 'react' import * as RadixDialog from '@radix-ui/react-dialog' import { Box, Button, Flex, Switch, Text } from 'components/primitives' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faHand, faRightLeft, faSeedling, faShoppingCart, faTag, faXmark, IconDefinition, } from '@fortawesome/free-solid-svg-icons' import { FullscreenModal } from 'components/common/FullscreenModal' import { useCollectionActivity } from '@reservoir0x/reservoir-kit-ui' type ActivityTypes = Exclude< NonNullable< NonNullable< Exclude['0'], boolean> >['types'] >, string > type Filters = { type: ArrayItemTypes name: string icon: IconDefinition }[] type Props = { activityTypes: NonNullable setActivityTypes: (activityTypes: ActivityTypes) => void } export const MobileActivityFilters: FC = ({ activityTypes, setActivityTypes, }) => { const filters: Filters = [ { type: 'sale', name: 'Sales', icon: faShoppingCart, }, { type: 'ask', name: 'Listings', icon: faTag, }, { type: 'bid', name: 'Offers', icon: faHand, }, { type: 'transfer', name: 'Transfer', icon: faRightLeft, }, { type: 'mint', name: 'Mint', icon: faSeedling, }, ] let filtersEnabled = activityTypes.length > 0 const trigger = ( ) return ( {' '} Filter {filtersEnabled && ( {activityTypes.length} )} {filtersEnabled && ( )} div:first-of-type': { pt: 0, }, }} > Event Type {filters.map((filter) => ( {filter.name} { if (checked) { setActivityTypes([...activityTypes, filter.type]) } else { setActivityTypes( activityTypes.filter((item) => { return item != filter.type }) ) } }} /> ))} ) }