feat(#2526): add popup thanks and method for payment
parent
2ffa73944a
commit
e96760b3db
@ -0,0 +1,56 @@ |
|||||||
|
export const Check = () => ( |
||||||
|
<svg |
||||||
|
width='90' |
||||||
|
height='90' |
||||||
|
viewBox='0 0 90 90' |
||||||
|
fill='none' |
||||||
|
xmlns='http://www.w3.org/2000/svg' |
||||||
|
> |
||||||
|
<g filter='url(#filter0_d_28368_255927)'> |
||||||
|
<path |
||||||
|
d='M1 44C1 19.6995 20.6995 0 45 0C69.3005 0 89 19.6995 89 44C89 68.3005 69.3005 88 45 88C20.6995 88 1 68.3005 1 44Z' |
||||||
|
fill='white' |
||||||
|
/> |
||||||
|
<path |
||||||
|
d='M39.8572 51.8614L30.7836 42.7878C30.1142 42.1183 29.0288 42.1183 28.3593 42.7878C27.6898 43.4573 27.6898 44.5427 28.3593 45.2122L38.645 55.4979C39.3145 56.1674 40.3999 56.1674 41.0694 55.4979L61.6408 34.9265C62.3103 34.257 62.3103 33.1716 61.6408 32.5021C60.9713 31.8326 59.8859 31.8326 59.2164 32.5021L39.8572 51.8614Z' |
||||||
|
fill='black' |
||||||
|
/> |
||||||
|
</g> |
||||||
|
<defs> |
||||||
|
<filter |
||||||
|
id='filter0_d_28368_255927' |
||||||
|
x='0' |
||||||
|
y='0' |
||||||
|
width='90' |
||||||
|
height='90' |
||||||
|
filterUnits='userSpaceOnUse' |
||||||
|
colorInterpolationFilters='sRGB' |
||||||
|
> |
||||||
|
<feFlood floodOpacity='0' result='BackgroundImageFix' /> |
||||||
|
<feColorMatrix |
||||||
|
in='SourceAlpha' |
||||||
|
type='matrix' |
||||||
|
values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' |
||||||
|
result='hardAlpha' |
||||||
|
/> |
||||||
|
<feOffset dy='1' /> |
||||||
|
<feGaussianBlur stdDeviation='0.5' /> |
||||||
|
<feColorMatrix |
||||||
|
type='matrix' |
||||||
|
values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0' |
||||||
|
/> |
||||||
|
<feBlend |
||||||
|
mode='normal' |
||||||
|
in2='BackgroundImageFix' |
||||||
|
result='effect1_dropShadow_28368_255927' |
||||||
|
/> |
||||||
|
<feBlend |
||||||
|
mode='normal' |
||||||
|
in='SourceGraphic' |
||||||
|
in2='effect1_dropShadow_28368_255927' |
||||||
|
result='shape' |
||||||
|
/> |
||||||
|
</filter> |
||||||
|
</defs> |
||||||
|
</svg> |
||||||
|
) |
||||||
@ -0,0 +1,41 @@ |
|||||||
|
import { Icon } from 'features/Icon' |
||||||
|
import { T9n } from 'features/T9n' |
||||||
|
import { useState } from 'react' |
||||||
|
|
||||||
|
import { useRecoilState } from 'recoil' |
||||||
|
|
||||||
|
import { |
||||||
|
ScModal, |
||||||
|
ScHeader, |
||||||
|
ScTitle, |
||||||
|
ScText, |
||||||
|
ScButton, |
||||||
|
} from './styled' |
||||||
|
|
||||||
|
import { dataForPayHighlights } from '../../storeHighlightsAtoms' |
||||||
|
|
||||||
|
export const ThanksPopup = () => { |
||||||
|
const [isOpenThanksPopup, setIsOpenThanksPopup] = useState(true) |
||||||
|
const [dataHighlights, setDataHighlights] = useRecoilState(dataForPayHighlights) |
||||||
|
|
||||||
|
return ( |
||||||
|
<ScModal |
||||||
|
isOpen={dataHighlights.isOpenThanksPopup} |
||||||
|
close={() => setDataHighlights({ ...dataHighlights, isOpenThanksPopup: false })} |
||||||
|
> |
||||||
|
<ScHeader> |
||||||
|
<T9n t='thank_you' /> |
||||||
|
</ScHeader> |
||||||
|
<Icon refIcon='Check' /> |
||||||
|
<ScTitle> |
||||||
|
<T9n t='order_received' /> |
||||||
|
</ScTitle> |
||||||
|
<ScText> |
||||||
|
<T9n t='notify_by_email' /> |
||||||
|
</ScText> |
||||||
|
<ScButton onClick={() => setDataHighlights({ ...dataHighlights, isOpenThanksPopup: false })}> |
||||||
|
Ok |
||||||
|
</ScButton> |
||||||
|
</ScModal> |
||||||
|
) |
||||||
|
} |
||||||
@ -0,0 +1,67 @@ |
|||||||
|
import styled, { css } from 'styled-components/macro' |
||||||
|
|
||||||
|
import { ModalWindow } from 'features/Modal/styled' |
||||||
|
import { Modal as BaseModal } from 'features/Modal' |
||||||
|
import { ButtonSolid } from 'features/Common' |
||||||
|
|
||||||
|
import { isMobileDevice } from 'config/userAgent' |
||||||
|
|
||||||
|
export const ScModal = styled(BaseModal)` |
||||||
|
background-color: rgba(0, 0, 0, 0.7); |
||||||
|
|
||||||
|
${ModalWindow} { |
||||||
|
background-color: #333333; |
||||||
|
border-radius: 5px; |
||||||
|
display: flex; |
||||||
|
justify-content: center; |
||||||
|
align-items: center; |
||||||
|
flex-direction: column; |
||||||
|
padding: 50px; |
||||||
|
width: 497px; |
||||||
|
height: 430px; |
||||||
|
|
||||||
|
> * { |
||||||
|
margin-bottom: 25px; |
||||||
|
} |
||||||
|
|
||||||
|
${isMobileDevice |
||||||
|
? css` |
||||||
|
width: calc(100vw - 60px); |
||||||
|
@media screen and (orientation: landscape){ |
||||||
|
max-width: calc(100vw - 80px); |
||||||
|
height: calc(100vh - 20px); |
||||||
|
overflow: auto; |
||||||
|
} |
||||||
|
` |
||||||
|
: ''}; |
||||||
|
} |
||||||
|
` |
||||||
|
|
||||||
|
export const ScHeader = styled.span` |
||||||
|
font-weight: 700; |
||||||
|
font-size: 28px; |
||||||
|
line-height: 24px; |
||||||
|
text-align: center; |
||||||
|
` |
||||||
|
|
||||||
|
export const ScTitle = styled.span` |
||||||
|
font-weight: 400; |
||||||
|
font-size: 24px; |
||||||
|
line-height: 28px; |
||||||
|
text-align: center; |
||||||
|
` |
||||||
|
|
||||||
|
export const ScText = styled.span` |
||||||
|
font-weight: 400; |
||||||
|
font-size: 18px; |
||||||
|
line-height: 28px; |
||||||
|
text-align: center; |
||||||
|
` |
||||||
|
|
||||||
|
export const ScButton = styled(ButtonSolid)` |
||||||
|
width: 194px; |
||||||
|
height: 50px; |
||||||
|
font-weight: 600; |
||||||
|
font-size: 20px; |
||||||
|
line-height: 50px; |
||||||
|
` |
||||||
Loading…
Reference in new issue