commons/client/src/components/molecules/AccountStatus/Indicator.tsx

40 lines
1.1 KiB
TypeScript
Raw Normal View History

import React from 'react'
import cx from 'classnames'
import { User, Market } from '../../../context'
import styles from './Indicator.module.scss'
const Indicator = ({
className,
togglePopover,
forwardedRef
}: {
className?: string
2019-02-28 17:12:48 +01:00
togglePopover: () => void
forwardedRef: (ref: HTMLElement | null) => void
}) => (
<div
className={cx(styles.status, className)}
2019-02-27 00:26:53 +01:00
onMouseOver={togglePopover}
onMouseOut={togglePopover}
ref={forwardedRef}
>
<User.Consumer>
2020-05-19 10:36:18 +02:00
{(user) => (
<Market.Consumer>
2020-05-19 10:36:18 +02:00
{(market) =>
!user.isLogged || !market.networkMatch ? (
<span
className={styles.statusIndicatorCloseEnough}
/>
) : user.isLogged ? (
<span className={styles.statusIndicatorActive} />
) : null
}
</Market.Consumer>
)}
</User.Consumer>
</div>
)
export default Indicator