mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 07:16:36 +01:00
016acd3e94
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.
33 lines
959 B
JavaScript
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
|