1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 11:01:41 +01:00
metamask-extension/ui/app/pages/asset/asset.js
Mark Stacey 016acd3e94
Refactor asset page component (#8788)
The asset page component has been split into three parts: the main
asset page wrapper, and a component for the content (either token or
native currency). This makes it easier to add functionality that is
specific to either token asset pages or native currency asset pages.
2020-06-12 14:04:40 -03:00

33 lines
959 B
JavaScript

import React from 'react'
import { useSelector } from 'react-redux'
import { Redirect, useParams } from 'react-router-dom'
import { getTokens } from '../../ducks/metamask/metamask'
import { DEFAULT_ROUTE } from '../../helpers/constants/routes'
import NativeAsset from './components/native-asset'
import TokenAsset from './components/token-asset'
const Asset = () => {
const nativeCurrency = useSelector((state) => state.metamask.nativeCurrency)
const tokens = useSelector(getTokens)
const { asset } = useParams()
const token = tokens.find((token) => token.address === asset)
let content
if (token) {
content = <TokenAsset token={token} />
} else if (asset === nativeCurrency) {
content = <NativeAsset nativeCurrency={nativeCurrency} />
} else {
content = <Redirect to={{ pathname: DEFAULT_ROUTE }} />
}
return (
<div className="main-container asset__container">
{ content }
</div>
)
}
export default Asset