Skip to content
This repository was archived by the owner on Nov 10, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ const styles = createStyles({
padding: '9px',
lineHeight: 1,
},
ens: {
paddingBottom: md,
fontWeight: 'bold',
},
details: {
padding: `0 ${md}`,
height: '20px',
Expand Down Expand Up @@ -98,6 +102,7 @@ type Props = {
openDashboard?: (() => void | null) | boolean
provider?: string
userAddress: string
ensName: string
}

const useStyles = makeStyles(styles)
Expand All @@ -108,6 +113,7 @@ export const UserDetails = ({
openDashboard,
provider,
userAddress,
ensName,
}: Props): React.ReactElement => {
const connectedNetwork = useSelector(networkSelector)
const classes = useStyles()
Expand All @@ -122,6 +128,11 @@ export const UserDetails = ({
<KeyRing circleSize={75} dotRight={25} dotSize={25} dotTop={50} hideDot keySize={30} mode="warning" />
)}
</Row>
{ensName && (
<Block className={classes.ens} justify="center">
{ensName}
</Block>
)}
<Block className={classes.user} justify="center">
{userAddress ? (
<PrefixedEthHashInfo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import PrefixedEthHashInfo from 'src/components/PrefixedEthHashInfo'
import WalletIcon from '../WalletIcon'
import { connected as connectedBg, screenSm, sm } from 'src/theme/variables'
import { KeyRing } from 'src/components/AppLayout/Header/components/KeyRing'
import { networkSelector } from 'src/logic/wallets/store/selectors'
import { networkSelector, userEnsSelector } from 'src/logic/wallets/store/selectors'
import { getChainById } from 'src/config'

const useStyles = makeStyles({
Expand Down Expand Up @@ -42,12 +42,6 @@ const useStyles = makeStyles({
display: 'block',
},
},
providerContainer: {
display: 'flex',
flex: 1,
alignItems: 'center',
width: '100px',
},
account: {
alignItems: 'start',
display: 'flex',
Expand All @@ -72,6 +66,7 @@ interface ProviderInfoProps {
const ProviderInfo = ({ connected, provider, userAddress }: ProviderInfoProps): React.ReactElement => {
const classes = useStyles()
const currentNetwork = useSelector(networkSelector)
const ensName = useSelector(userEnsSelector)
const chain = getChainById(currentNetwork)
const addressColor = connected ? 'text' : 'warning'
return (
Expand All @@ -90,16 +85,22 @@ const ProviderInfo = ({ connected, provider, userAddress }: ProviderInfoProps):
{provider}
{chain?.chainName && ` @ ${chain.chainName}`}
</Paragraph>
<div className={classes.providerContainer}>
<div>
{connected ? (
<PrefixedEthHashInfo
hash={userAddress}
shortenHash={4}
showAvatar
avatarSize="xs"
textColor={addressColor}
textSize="sm"
/>
ensName ? (
<Text strong size="sm">
{ensName}
</Text>
) : (
<PrefixedEthHashInfo
hash={userAddress}
shortenHash={4}
showAvatar
avatarSize="xs"
textColor={addressColor}
textSize="sm"
/>
)
) : (
<Text size="md" color={addressColor}>
Connection Error
Expand Down
3 changes: 3 additions & 0 deletions src/components/AppLayout/Header/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
loadedSelector,
providerNameSelector,
userAccountSelector,
userEnsSelector,
} from 'src/logic/wallets/store/selectors'
import { removeProvider } from 'src/logic/wallets/store/actions'
import onboard from 'src/logic/wallets/onboard'
Expand All @@ -21,6 +22,7 @@ const HeaderComponent = (): React.ReactElement => {
const provider = useSelector(providerNameSelector)
const chainId = useSelector(currentChainId)
const userAddress = useSelector(userAccountSelector)
const ensName = useSelector(userEnsSelector)
const loaded = useSelector(loadedSelector)
const available = useSelector(availableSelector)
const dispatch = useDispatch()
Expand Down Expand Up @@ -65,6 +67,7 @@ const HeaderComponent = (): React.ReactElement => {
openDashboard={openDashboard()}
provider={provider}
userAddress={userAddress}
ensName={ensName}
/>
)
}
Expand Down
5 changes: 5 additions & 0 deletions src/logic/wallets/store/selectors/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ export const userAccountSelector = createSelector(providerSelector, (provider: P
return account || ''
})

export const userEnsSelector = createSelector(providerSelector, (provider: ProviderState): string => {
const ensName = provider.get('ensDomain')
return ensName || ''
})

export const providerNameSelector = createSelector(providerSelector, (provider: ProviderState): string | undefined => {
const name = provider.get('name')
return name ? name.toLowerCase() : undefined
Expand Down