import React from 'react'; import { List } from 'immutable'; import { countries } from 'App/constants'; import { useStore } from 'App/mstore'; import { browserIcon, osIcon, deviceTypeIcon } from 'App/iconNames'; import { formatTimeOrDate } from 'App/date'; import { Avatar, TextEllipsis, CountryFlag, Icon, Tooltip } from 'UI'; import cn from 'classnames'; import { withRequest } from 'HOCs'; import SessionInfoItem from 'Components/Session_/SessionInfoItem'; import { useModal } from 'App/components/Modal'; import UserSessionsModal from 'Shared/UserSessionsModal'; import { IFRAME } from 'App/constants/storageKeys'; import { capitalize } from 'App/utils'; import { Popover } from 'antd'; import { observer } from 'mobx-react-lite'; import { useTranslation } from 'react-i18next'; function UserCard({ className, width, height }) { const { t } = useTranslation(); const { settingsStore, sessionStore } = useStore(); const session = sessionStore.current; const { timezone } = settingsStore.sessionSettings; const [showMore, setShowMore] = React.useState(false); const { userBrowser, userDevice, userCountry, userCity, userState, userBrowserVersion, userOs, userOsVersion, startedAt, userId, userAnonymousId, userNumericHash, userDisplayName, userDeviceType, revId, screenWidth, screenHeight, } = session; const hasUserDetails = !!userId || !!userAnonymousId; const getDimension = (width, height) => width && height ? (