import { MouseEvent, FocusEvent, useEffect, useState, } from 'react' import map from 'lodash/map' import { FavoritesActions } from 'requests' import { Modal } from 'features/Modal' import { ProfileLink } from 'features/ProfileLink' import { Close } from 'libs/objects/Close' import { TooltipBlock } from './TooltipBlock' import { FavoritesToolip } from './FavoritesTooltip' import { useUserFavoritesStore } from './store' import { UserSportFavItemLogoWrapper, UserSportFavXWrapper, UserSportFavImgWrapper, UserSportFavStar, UserSportFavWrapper, ExclamationSign, FavoriteModal, Text, ScrollWrapper, } from './styled' import { useAuthStore } from '../AuthStore' type Props = { marginTop?: number, } export const UserFavorites = ({ marginTop }: Props) => { const { addRemoveFavorite, close, fetchFavorites, isOpen, removeSuperTournament, superTournaments, userFavorites, } = useUserFavoritesStore() const { user } = useAuthStore() const [position, setPosition] = useState(0) useEffect(() => { if (!user) return fetchFavorites() // eslint-disable-next-line react-hooks/exhaustive-deps }, [fetchFavorites]) const getPosition = (event: MouseEvent | FocusEvent) => { if (event.currentTarget) { setPosition(event.currentTarget.getBoundingClientRect().top) } } return ( { map(superTournaments, (item) => ( removeSuperTournament(item.id)}> )) } { map(userFavorites, (item) => ( addRemoveFavorite({ action: FavoritesActions.REMOVE, id: item.id, sport: item.sport, type: item.type, })} > )) } ) }