Router.tsx 1.31 KiB
Newer Older
Andrei Eres's avatar
Andrei Eres committed
import { PHISHING_PAGE_REDIRECT } from '@polkadot/extension-base/defaults'
Andrei Eres's avatar
Andrei Eres committed
import { useStore } from '@nanostores/react'
Andrei Eres's avatar
Andrei Eres committed
import React from 'react'
Andrei Eres's avatar
Andrei Eres committed
import Accounts from '../accounts/Accounts'
import ImportQr from '../accounts/ImportQr'
import Authorize from '../requests/Authorize'
import Metadata from '../requests/Metadata'
import Signing from '../requests/Signing'
import PhishingDetected from '../security/PhishingDetected'
Andrei Eres's avatar
Andrei Eres committed
import { authRequestsStore } from '../../stores/authRequests'
import { metaRequestsStore } from '../../stores/metaRequests'
Andrei Eres's avatar
Andrei Eres committed
import { router } from '../../stores/router'
Andrei Eres's avatar
Andrei Eres committed
import { signRequestsStore } from '../../stores/signRequests'
Andrei Eres's avatar
Andrei Eres committed
import { exact, exactWithParam } from '../../utils/routing'
Andrei Eres's avatar
Andrei Eres committed
const Router: React.FC = () => {
  const { path } = useStore(router)
  const authRequests = useStore(authRequestsStore)
  const metaRequests = useStore(metaRequestsStore)
  const signRequests = useStore(signRequestsStore)
Andrei Eres's avatar
Andrei Eres committed
  if (exact(path, '') && authRequests?.length) return <Authorize />
  if (exact(path, '') && metaRequests?.length) return <Metadata />
  if (exact(path, '') && signRequests?.length) return <Signing />
Andrei Eres's avatar
Andrei Eres committed
  if (exact(path, '/account/import')) return <ImportQr />
Andrei Eres's avatar
Andrei Eres committed
  if (exactWithParam(path, `${PHISHING_PAGE_REDIRECT}/:website`))
    return <PhishingDetected />

  return <Accounts />
}
Andrei Eres's avatar
Andrei Eres committed

export default Router