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