parent
a4e5fc934d
commit
ea398abc5d
@ -0,0 +1 @@ |
|||||||
|
export { default } from './permissions-redirect.component' |
@ -0,0 +1,121 @@ |
|||||||
|
.permissions-redirect-container { |
||||||
|
display: flex; |
||||||
|
border: none; |
||||||
|
box-shadow: none; |
||||||
|
width: 100%; |
||||||
|
margin-top: 2px; |
||||||
|
height: 100%; |
||||||
|
flex-direction: column; |
||||||
|
|
||||||
|
&__content { |
||||||
|
display: flex; |
||||||
|
width: 100%; |
||||||
|
height: 144px; |
||||||
|
margin-top: 140px; |
||||||
|
padding-top: 8px; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
.permission-result { |
||||||
|
@extend %header--24; |
||||||
|
|
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
text-align: center; |
||||||
|
color: $Black-100; |
||||||
|
|
||||||
|
&__icons { |
||||||
|
display: flex; |
||||||
|
} |
||||||
|
|
||||||
|
&__center-icon { |
||||||
|
display: flex; |
||||||
|
position: relative; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
h1 { |
||||||
|
font-size: 14px; |
||||||
|
line-height: 18px; |
||||||
|
padding: 8px 0 0; |
||||||
|
} |
||||||
|
|
||||||
|
h2 { |
||||||
|
font-size: 12px; |
||||||
|
line-height: 17px; |
||||||
|
color: #6A737D; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
&__check { |
||||||
|
width: 40px; |
||||||
|
height: 40px; |
||||||
|
background: white url("/images/permissions-check.svg") no-repeat; |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
|
||||||
|
&__reject { |
||||||
|
position: absolute; |
||||||
|
background: white; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
|
||||||
|
i { |
||||||
|
color: #D73A49; |
||||||
|
transform: scale(3); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&__identicon, .icon-with-fallback__identicon { |
||||||
|
width: 32px; |
||||||
|
height: 32px; |
||||||
|
|
||||||
|
&--default { |
||||||
|
background-color: #777A87; |
||||||
|
color: white; |
||||||
|
width: 64px; |
||||||
|
height: 64px; |
||||||
|
border-radius: 32px; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
&__identicon-container, .icon-with-fallback__identicon-container { |
||||||
|
height: auto; |
||||||
|
position: relative; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
height: 64px; |
||||||
|
width: 64px; |
||||||
|
} |
||||||
|
|
||||||
|
&__identicon-border, .icon-with-fallback__identicon-border { |
||||||
|
height: 64px; |
||||||
|
width: 64px; |
||||||
|
border-radius: 50%; |
||||||
|
border: 1px solid white; |
||||||
|
background: #FFFFFF; |
||||||
|
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25); |
||||||
|
} |
||||||
|
|
||||||
|
&__identicon-border { |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
|
||||||
|
.icon-with-fallback__identicon-border { |
||||||
|
position: absolute; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,51 @@ |
|||||||
|
import React, { useContext } from 'react' |
||||||
|
import PropTypes from 'prop-types' |
||||||
|
import IconWithFallBack from '../../../components/ui/icon-with-fallback' |
||||||
|
import { I18nContext } from '../../../contexts/i18n' |
||||||
|
|
||||||
|
export default function PermissionsRedirect ({ domainMetadata, permissionsRejected }) { |
||||||
|
|
||||||
|
const t = useContext(I18nContext) |
||||||
|
|
||||||
|
return ( |
||||||
|
<div className="page-container permissions-redirect-container"> |
||||||
|
<div className="permissions-redirect-container__content"> |
||||||
|
<div className="permission-result"> |
||||||
|
{ permissionsRejected ? t('cancelling') : t('connecting') } |
||||||
|
<div className="permission-result__icons"> |
||||||
|
<IconWithFallBack icon={domainMetadata.icon} name={domainMetadata.name} /> |
||||||
|
<div className="permission-result__center-icon"> |
||||||
|
{ permissionsRejected |
||||||
|
? <span className="permission-result__reject" ><i className="fa fa-times-circle" /></span> |
||||||
|
: <span className="permission-result__check" /> |
||||||
|
} |
||||||
|
{ renderBrokenLine() } |
||||||
|
</div> |
||||||
|
<div className="permission-result__identicon-container"> |
||||||
|
<div className="permission-result__identicon-border"> |
||||||
|
<img src="/images/logo/metamask-fox.svg" /> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
) |
||||||
|
|
||||||
|
function renderBrokenLine () { |
||||||
|
return ( |
||||||
|
<svg width="131" height="2" viewBox="0 0 131 2" fill="none" xmlns="http://www.w3.org/2000/svg"> |
||||||
|
<path d="M0 1H134" stroke="#CDD1E4" strokeLinejoin="round" strokeDasharray="8 7" /> |
||||||
|
</svg> |
||||||
|
) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
PermissionsRedirect.propTypes = { |
||||||
|
domainMetadata: PropTypes.object.isRequired, |
||||||
|
permissionsRejected: PropTypes.bool, |
||||||
|
} |
||||||
|
|
||||||
|
PermissionsRedirect.defaultProps = { |
||||||
|
permissionsRejected: null, |
||||||
|
} |
Loading…
Reference in new issue