Router.tsx 1.34 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'
import React from 'react'
import Accounts from './accounts/Accounts'
Andrei Eres's avatar
Andrei Eres committed
import ImportQr from './accounts/ImportQr'
Andrei Eres's avatar
Andrei Eres committed
import Authorize from './requests/Authorize'
Andrei Eres's avatar
Andrei Eres committed
import Metadata from './requests/Metadata'
import Signing from './requests/Signing'
Andrei Eres's avatar
Andrei Eres committed
import PhishingDetected from './security/PhishingDetected'
import { authRequests as authRequestsStore } from './stores/authRequests'
import { metaRequests as metaRequestsStore } from './stores/metaRequests'
import { router } from './stores/router'
import { signRequests as signRequestsStore } from './stores/signRequests'
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-qr')) return <ImportQr />
  if (exactWithParam(path, `${PHISHING_PAGE_REDIRECT}/:website`))
    return <PhishingDetected />

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

export default Router