{"version":3,"sources":["components/Footer/styles.ts","components/Footer/index.tsx","styles/styles.ts","components/Header/styles.ts","components/Header/index.tsx","services/InstagramApi.ts","components/Slideshow/styles.ts","components/Slideshow/index.tsx","components/ContentSlideshowBlock/index.tsx","pages/Home/index.tsx","services/CardApi.ts","components/CardContentBlock/styles.tsx","components/CardContentBlock/index.tsx","pages/Report/styles.ts","pages/Report/index.tsx","router/index.tsx","translation.ts","index.tsx","common/Container/styles.ts","common/Container/index.tsx","components/ContentBlock/RightContentBlock/styles.ts","common/Button/styles.ts","common/Button/index.tsx","common/SvgIcon/index.tsx","services/Fetcher.ts"],"names":["FooterSection","styled","Title","NavLink","Link","Extra","LogoContainer","Para","Large","Chat","FooterContainer","Language","Copyright","withTranslation","t","SocialLink","href","icon","target","rel","Container","justify","lg","md","sm","xs","left","border","align","style","paddingTop","to","SvgIcon","src","width","height","TwitterOutlined","fontSize","InstagramOutlined","FacebookOutlined","Styles","createGlobalStyle","HeaderSection","Burger","p","NotHidden","CustomNavLinkSmall","Outline","MenuOutlined","Span","isBack","useState","visible","setVisibility","searchValue","setSearchValue","history","useHistory","Search","Input","MenuItem","scrollTo","id","document","getElementById","scrollIntoView","behavior","onClick","Button","Logo","SearchBox","placeholder","value","onChange","e","onSearch","push","FullHeader","closable","onClose","marginBottom","title","onBack","InstagramApi","getImages","token","a","opts","method","headers","Fetcher","res","SlideshowContainer","div","SlideshowSlider","Slide","SlideImg","img","SlideTimeAgo","TimeAgo","SlideshowDots","SlideshowDot","props","isActive","index","setIndex","images","setImages","window","grecaptcha","setGrecaptcha","timeoutRef","useRef","resetTimeout","current","clearTimeout","handleCaptchaReady","useEffect","addEventListener","removeEventListener","length","ready","execute","process","action","then","response","setTimeout","prevIndex","transform","Array","isArray","map","image","permalink","imageUrl","date","timestamp","_","idx","content","button","direction","item","color","fixedWidth","Contact","lazy","MiddleBlock","ScrollToTop","ContentBlock","Home","back","IntroContent","text","MiddleBlockContent","type","AboutContent","MissionContent","ProductContent","ContactContent","CardApi","getCard","cardId","resource","encaseDate","moment","CardContentBlockSection","ContentWrapper","camelCaseToText","result","replace","charAt","toUpperCase","slice","renderValue","key","elements","disabled","allowHalf","defaultValue","parseFloat","format","c","Object","keys","k","i","serviceType","renderContent","LoaderContainer","Report","location","useLocation","promiseInProgress","usePromiseTracker","setResult","params","pathname","split","trackPromise","parseInt","undefined","Router","setIsBack","url","callback","isScriptExist","script","createElement","onload","body","appendChild","loadScriptByURL","dispatchEvent","Event","fallback","exact","path","render","i18n","use","XHR","LanguageDetector","init","debug","lng","fallbackLng","keySeparator","interpolation","escapeValue","resources","en","translations","translationEn","es","translationEs","ns","defaultNS","App","I18nextProvider","ReactDOM","StyledContainer","children","RightBlockContainer","Content","ButtonWrapper","StyledButton","alt","options","fetch","ok","JSON","parse"],"mappings":"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","file":"static/js/main.fd7a163f.chunk.js","sourcesContent":["import styled from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport const FooterSection = styled(\"footer\")`\r\n background: rgb(241, 242, 243);\r\n padding: 2.5rem 0;\r\n`;\r\n\r\nexport const Title = styled(\"h4\")`\r\n font-size: 22px;\r\n text-transform: capitalize;\r\n color: #18216d;\r\n\r\n @media screen and (max-width: 414px) {\r\n padding: 1.5rem 0;\r\n }\r\n`;\r\n\r\nexport const NavLink = styled(Link)`\r\n display: block;\r\n font-size: 1rem;\r\n margin-bottom: 3rem;\r\n transition: all 0.2s ease-in-out;\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n color: #15418e;\r\n }\r\n`;\r\n\r\nexport const Extra = styled(\"section\")`\r\n background: rgb(241, 242, 243);\r\n position: relative;\r\n width: 100%;\r\n margin-right: auto;\r\n margin-left: auto;\r\n padding-bottom: 2rem;\r\n`;\r\n\r\nexport const LogoContainer = styled(\"div\")`\r\n display: flex;\r\n position: relative;\r\n`;\r\n\r\nexport const Para = styled(\"div\")`\r\n color: #18216d;\r\n font-size: 14px;\r\n width: 70%;\r\n`;\r\n\r\nexport const Large = styled(\"a\")`\r\n font-size: 16px;\r\n color: #000;\r\n cursor: pointer;\r\n transition: all 0.2s ease-in-out;\r\n text-transform: capitalize;\r\n line-height: 24px;\r\n display: block;\r\n margin-bottom: 0.625rem;\r\n transition: all 0.3s ease-in-out;\r\n max-width: max-content;\r\n\r\n &:hover {\r\n color: rgb(255, 130, 92);\r\n text-underline-position: under;\r\n text-decoration: rgb(255, 130, 92) wavy underline;\r\n }\r\n`;\r\n\r\nexport const Chat = styled(\"p\")`\r\n color: #18216d;\r\n max-width: fit-content;\r\n border-bottom: 1px solid #18216d;\r\n cursor: pointer;\r\n margin-top: 1rem;\r\n transition: all 0.3s ease-in-out;\r\n\r\n &:hover {\r\n border-bottom: 1px solid rgb(255, 130, 92);\r\n color: rgb(255, 130, 92);\r\n }\r\n`;\r\n\r\nexport const Empty = styled(\"div\")`\r\n position: relative;\r\n height: 53px;\r\n`;\r\n\r\nexport const FooterContainer = styled(\"div\")`\r\n max-width: 200px;\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n text-align: center;\r\n align-items: center;\r\n transition: all 0.1s ease-in-out;\r\n margin-bottom: 3rem;\r\n\r\n a {\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n -webkit-transform: scale(1.1);\r\n -ms-transform: scale(1.1);\r\n transform: scale(1.1);\r\n }\r\n }\r\n\r\n @media screen and (max-width: 769px) {\r\n width: auto;\r\n }\r\n\r\n div {\r\n cursor: pointer;\r\n margin-right: 15px;\r\n width: 25px;\r\n height: 25px;\r\n\r\n &:hover {\r\n fill: rgb(255, 130, 92);\r\n }\r\n }\r\n`;\r\n\r\nexport const Language = styled(\"h4\")`\r\n font-size: 22px;\r\n text-transform: capitalize;\r\n color: #18216d;\r\n\r\n @media screen and (max-width: 414px) {\r\n padding: 1.5rem 0;\r\n }\r\n`;\r\n\r\nexport const Label = styled(\"label\")`\r\n font-size: 22px;\r\n text-transform: capitalize;\r\n color: #18216d;\r\n display: block;\r\n margin-bottom: 2rem;\r\n font-family: \"Motiva Sans Bold\", serif;\r\n\r\n @media screen and (max-width: 414px) {\r\n padding: 1.5rem 0;\r\n margin-bottom: 1rem;\r\n }\r\n`;\r\n\r\nexport const LanguageSwitch = styled(\"div\")`\r\n cursor: pointer;\r\n transition: all 0.1s ease-in-out;\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n -webkit-transform: scale(1.1);\r\n -ms-transform: scale(1.1);\r\n transform: scale(1.1);\r\n }\r\n`;\r\n\r\nexport const LanguageSwitchContainer = styled(\"div\")`\r\n display: flex;\r\n justify-content: space-between;\r\n width: 85px;\r\n`;\r\n\r\nexport const Copyright = styled(\"div\")`\r\n line-height: 60px;\r\n`;\r\n","import { Row, Col } from \"antd\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { SvgIcon } from \"../../common/SvgIcon\";\r\nimport Container from \"../../common/Container\";\r\n\r\nimport i18n from \"i18next\";\r\nimport {\r\n FooterSection,\r\n Title,\r\n NavLink,\r\n Extra,\r\n LogoContainer,\r\n Para,\r\n Large,\r\n Chat,\r\n Empty,\r\n FooterContainer,\r\n Language,\r\n Label,\r\n LanguageSwitch,\r\n LanguageSwitchContainer,\r\n Copyright,\r\n} from \"./styles\";\r\nimport { FacebookOutlined, InstagramOutlined, TwitterOutlined } from \"@ant-design/icons\";\r\n\r\ninterface SocialLinkProps {\r\n href: string;\r\n icon: any\r\n}\r\n\r\nconst Footer = ({ t }: any) => {\r\n const handleChange = (language: string) => {\r\n i18n.changeLanguage(language);\r\n };\r\n\r\n const SocialLink = ({ href, icon }: SocialLinkProps) => {\r\n return (\r\n \r\n { icon }\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {t(\"Contact\")}\r\n {t(\"Tell us everything\")}\r\n \r\n {t(`Do you have any question? Feel free to reach out.`)}\r\n \r\n \r\n {t(`Let's Chat`)}\r\n \r\n \r\n \r\n {t(\"Address\")}\r\n 28/29 Aviemore Drive,\r\n Highland Park, \r\n Auckland 2010\r\n \r\n \r\n {t(\"Company\")}\r\n \r\n {t(\"Blog\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n © 2021\r\n \r\n \r\n \r\n } />\r\n } />\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default withTranslation()(Footer);\r\n","import { createGlobalStyle } from \"styled-components\";\r\n\r\nexport const Styles = createGlobalStyle`\r\n\r\n @font-face {\r\n font-family: \"Motiva Sans Light\";\r\n src: url(\"/fonts/Motiva-Sans-Light.ttf\") format(\"truetype\");\r\n font-style: normal;\r\n }\r\n\r\n @font-face {\r\n font-family: \"Motiva Sans Bold\";\r\n src: url(\"/fonts/Motiva-Sans-Bold.ttf\") format(\"truetype\");\r\n font-style: normal;\r\n }\r\n\r\n body,\r\n html,\r\n a {\r\n font-family: 'Motiva Sans Light', sans-serif;\r\n }\r\n\r\n body {\r\n margin:0;\r\n padding:0;\r\n border: 0;\r\n outline: 0;\r\n background: #2b2b2b;\r\n overflow-x: hidden;\r\n }\r\n\r\n a:hover {\r\n color: #fff;\r\n }\r\n\r\n input,\r\n textarea {\r\n border-radius: 4px;\r\n border: 0;\r\n background: rgb(241, 242, 243);\r\n transition: all 0.3s ease-in-out; \r\n outline: none;\r\n width: 100%; \r\n padding: 1rem 1.25rem;\r\n\r\n :focus-within {\r\n background: none;\r\n box-shadow: #2e186a 0px 0px 0px 1px;\r\n }\r\n }\r\n\r\n h1,\r\n h2,\r\n h3,\r\n h4,\r\n h5,\r\n h6 {\r\n font-family: 'Motiva Sans Bold', serif;\r\n color: #fff;\r\n font-size: 56px;\r\n line-height: 1.18;\r\n\r\n @media only screen and (max-width: 890px) {\r\n font-size: 47px;\r\n }\r\n \r\n @media only screen and (max-width: 414px) {\r\n font-size: 32px;\r\n }\r\n }\r\n\r\n p {\r\n color: #fff;\r\n font-size: 21px; \r\n line-height: 1.41;\r\n }\r\n\r\n h1 {\r\n font-weight: 600;\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n outline: none;\r\n color: #2E186A;\r\n\r\n :hover {\r\n color: #2e186a;\r\n }\r\n }\r\n \r\n *:focus {\r\n outline: none;\r\n }\r\n\r\n .about-block-image svg {\r\n text-align: center;\r\n }\r\n\r\n .ant-drawer-body {\r\n display: flex;\r\n flex-direction: column;\r\n text-align: left;\r\n padding-top: 1.5rem;\r\n }\r\n\r\n .ant-drawer-content-wrapper {\r\n width: 300px !important;\r\n }\r\n\r\n .ant-drawer-content span {\r\n color: #18216d\r\n }\r\n\r\n .ant-input-search \r\n .ant-input-group \r\n .ant-input {\r\n border-color: #2e186a\r\n }\r\n .ant-input-search \r\n .ant-input-group \r\n .ant-input-group-addon \r\n .ant-input-search-button {\r\n border-color: #2e186a\r\n }\r\n`;\r\n","import styled from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\n\r\nexport const HeaderSection = styled(\"header\")`\r\n padding: 1rem 0.5rem;\r\n\r\n background: rgb(241, 242, 243);\r\n\r\n .ant-row-space-between {\r\n align-items: center;\r\n text-align: center;\r\n }\r\n`;\r\n\r\nexport const LogoContainer = styled(Link)`\r\n display: flex;\r\n`;\r\n\r\nexport const NavLink = styled(\"div\")`\r\n display: inline-block;\r\n text-align: center;\r\n`;\r\n\r\nexport const CustomNavLink = styled(\"div\")`\r\n width: 203px;\r\n display: inline-block;\r\n\r\n @media only screen and (max-width: 411px) {\r\n width: 150px;\r\n }\r\n\r\n @media only screen and (max-width: 320px) {\r\n width: 118px;\r\n }\r\n`;\r\n\r\nexport const ContactWrapper = styled(\"div\")`\r\n cursor: pointer;\r\n width: ${(p) => (p.width ? \"100%\" : \"110px\")};\r\n font-weight: 700;\r\n text-align: center;\r\n border-radius: 1.25rem;\r\n display: inline-block;\r\n`;\r\n\r\nexport const Burger = styled(\"div\")`\r\n @media only screen and (max-width: 890px) {\r\n display: block;\r\n }\r\n\r\n display: none;\r\n\r\n svg {\r\n fill: #2e186a;\r\n }\r\n`;\r\n\r\nexport const NotHidden = styled(\"div\")`\r\n @media only screen and (max-width: 890px) {\r\n display: none;\r\n }\r\n`;\r\n\r\nexport const Menu = styled(\"h5\")`\r\n font-size: 1.5rem;\r\n font-weight: 600;\r\n text-align: center;\r\n`;\r\n\r\nexport const CustomNavLinkSmall = styled(NavLink)`\r\n font-size: 1.2rem;\r\n color: #18216d;\r\n transition: color 0.2s ease-in;\r\n margin: 0.5rem 2rem;\r\n\r\n @media only screen and (max-width: 768px) {\r\n margin: 1.25rem 2rem;\r\n }\r\n`;\r\n\r\nexport const Label = styled(\"span\")`\r\n font-weight: 500;\r\n color: #404041;\r\n text-align: right;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: baseline;\r\n`;\r\n\r\nexport const Outline = styled(MenuOutlined)`\r\n font-size: 22px;\r\n`;\r\n\r\nexport const Span = styled(\"span\")`\r\n cursor: pointer;\r\n transition: all 0.3s ease-in-out;\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n color: rgb(255, 130, 92);\r\n text-underline-position: under;\r\n text-decoration: rgb(255, 130, 92) wavy underline;\r\n }\r\n`;\r\n","import { useState } from \"react\";\r\nimport { useHistory } from \"react-router\";\r\nimport { Row, Col, Drawer, PageHeader, Input } from \"antd\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport Container from \"../../common/Container\";\r\nimport { SvgIcon } from \"../../common/SvgIcon\";\r\nimport { Button } from \"../../common/Button\";\r\nimport {\r\n HeaderSection,\r\n LogoContainer,\r\n Burger,\r\n NotHidden,\r\n Menu,\r\n CustomNavLinkSmall,\r\n Label,\r\n Outline,\r\n Span,\r\n} from \"./styles\";\r\n\r\ninterface HeaderProps {\r\n isBack: boolean\r\n}\r\n\r\nconst Header: React.FC = ({ isBack, t }: any) => {\r\n const [visible, setVisibility] = useState(false);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const history = useHistory();\r\n const { Search } = Input;\r\n\r\n const showDrawer = () => {\r\n setVisibility(!visible);\r\n };\r\n\r\n const onClose = () => {\r\n setVisibility(!visible);\r\n };\r\n\r\n const onSearch = (value: string) => {\r\n if (value) {\r\n history.push(`/R/${value}`);\r\n setSearchValue(\"\");\r\n }\r\n };\r\n\r\n const MenuItem = () => {\r\n const scrollTo = (id: string) => {\r\n const element = document.getElementById(id) as HTMLDivElement;\r\n element.scrollIntoView({\r\n behavior: \"smooth\",\r\n });\r\n setVisibility(false);\r\n };\r\n return (\r\n <>\r\n scrollTo(\"about\")}>\r\n {t(\"About\")}\r\n \r\n scrollTo(\"mission\")}>\r\n {t(\"Mission\")}\r\n \r\n scrollTo(\"product\")}>\r\n {t(\"Product\")}\r\n \r\n scrollTo(\"contact\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const Logo = (\r\n \r\n \r\n \r\n );\r\n\r\n const SearchBox = (\r\n \r\n \r\n setSearchValue(e.target.value)} onSearch={onSearch} />\r\n \r\n \r\n );\r\n\r\n const FullHeader = (\r\n <>\r\n \r\n { Logo }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { SearchBox }\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n {\r\n !isBack ?\r\n FullHeader\r\n :\r\n <>\r\n history.push(\"/\")} />\r\n { SearchBox }\r\n \r\n }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withTranslation()(Header);\r\n","import Fetcher from \"./Fetcher\";\r\n\r\nexport interface ImageDto {\r\n imageUrl: string,\r\n timestamp: string,\r\n permalink: string\r\n};\r\n\r\ninterface InstagramApiProps {\r\n getImages: (token: string) => Promise\r\n}\r\n\r\nconst InstagramApi: InstagramApiProps = {\r\n getImages: async (token: string): Promise => {\r\n const resource = `/api/Instagram`;\r\n const opts = { method: \"GET\", headers: { token: token } }; // need to include auth header at later stage\r\n\r\n const res = await Fetcher(resource, opts);\r\n return res;\r\n }\r\n}\r\n\r\nexport default InstagramApi;","import styled from \"styled-components\";\r\nimport TimeAgo from \"react-timeago\";\r\n\r\nexport const SlideshowContainer = styled.div`\r\n margin: 0 auto;\r\n overflow: hidden;\r\n max-width: 500px;\r\n`;\r\n\r\nexport const SlideshowSlider = styled.div`\r\n white-space: nowrap;\r\n transition: ease 1000ms;\r\n`;\r\n\r\nexport const Slide = styled.div`\r\n display: inline-block;\r\n\r\n width: 100%;\r\n height: 500px;\r\n\r\n @media only screen and (max-width: 1024px) {\r\n height: 450px;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n height: 350px;\r\n }\r\n\r\n @media only screen and (max-width: 320px) {\r\n height: 300px;\r\n } \r\n`;\r\n\r\ninterface SlideImgProps {\r\n src?: string;\r\n}\r\nexport const SlideImg = styled.img`\r\n height: 100%;\r\n width: 100%;\r\n\r\n display: flex;\r\n flex-direction: row;\r\n flexWrap: nowrap;\r\n \r\n border: 10px solid white;\r\n`;\r\n\r\ninterface SlideTimeAgoProps {\r\n date: string;\r\n}\r\nexport const SlideTimeAgo = styled(TimeAgo)`\r\n color: #fff;\r\n\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n justify-content: flex-end;\r\n`;\r\n\r\nexport const SlideshowDots = styled.div`\r\n text-align: center;\r\n`;\r\n\r\ninterface SlideshowDotProps {\r\n isActive?: boolean; \r\n}\r\nexport const SlideshowDot = styled.div`\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n border-radius: 50%;\r\n\r\n cursor: pointer;\r\n margin: 15px 7px 0px;\r\n\r\n background-color: ${(props) => (props.isActive ? \"#2e186a\" : \"#f1f2f3\")};\r\n`;\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport InstagramApi, { ImageDto } from \"../../services/InstagramApi\";\r\n\r\nimport {\r\n Slide,\r\n SlideImg,\r\n SlideshowContainer, \r\n SlideshowDot, \r\n SlideshowDots, \r\n SlideshowSlider, \r\n SlideTimeAgo\r\n} from \"./styles\";\r\n\r\nconst Slideshow = () => {\r\n const [index, setIndex] = useState(0);\r\n const [images, setImages] = useState([]);\r\n const [grecaptcha, setGrecaptcha] = useState(window.grecaptcha);\r\n const timeoutRef = useRef(null);\r\n const delay = 3000;\r\n \r\n const resetTimeout = () => {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n };\r\n\r\n const getImages = (token: string) => {\r\n InstagramApi\r\n .getImages(token)\r\n .then((response) => {\r\n setImages(response);\r\n });\r\n }\r\n\r\n const handleCaptchaReady = () => {\r\n setGrecaptcha(window.grecaptcha);\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"CaptchaReady\", handleCaptchaReady);\r\n return () => window.removeEventListener(\"CaptchaReady\", handleCaptchaReady);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (grecaptcha && images && images.length === 0) {\r\n grecaptcha.ready(() => {\r\n grecaptcha\r\n .execute(process.env.REACT_APP_SITE_KEY, { action: \"instagram\" })\r\n .then((token: string) => {\r\n getImages(token);\r\n });\r\n });\r\n }\r\n }, [grecaptcha, images]);\r\n\r\n useEffect(() => {\r\n resetTimeout();\r\n timeoutRef.current = setTimeout(() => \r\n setIndex((prevIndex) => \r\n prevIndex === (images?.length || 0) - 1 ? 0 : prevIndex + 1\r\n ),\r\n delay\r\n );\r\n\r\n return () => resetTimeout();\r\n }, [index, images]);\r\n\r\n return (\r\n \r\n \r\n {Array.isArray(images) && images.map((image, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n {Array.isArray(images) && images.map((_, idx) => (\r\n setIndex(idx)}\r\n />\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withTranslation()(Slideshow);\r\n","import Slideshow from \"../Slideshow\"\r\nimport { Row, Col } from \"antd\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { Button } from \"../../common/Button\";\r\nimport { ContentSlideshowBlockProps } from \"./types\";\r\nimport { Fade } from \"react-awesome-reveal\";\r\nimport {\r\n RightBlockContainer,\r\n Content,\r\n ContentWrapper,\r\n ButtonWrapper,\r\n} from \"../ContentBlock/RightContentBlock/styles\";\r\n\r\nconst ContentSlideshowBlock = ({\r\n title,\r\n content,\r\n button,\r\n t,\r\n id,\r\n}: ContentSlideshowBlockProps) => {\r\n const scrollTo = (id: string) => {\r\n const element = document.getElementById(id) as HTMLDivElement;\r\n element.scrollIntoView({\r\n behavior: \"smooth\",\r\n });\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
{t(title)}
\r\n {t(content)}\r\n \r\n {typeof button === \"object\" &&\r\n button.map((item: any, id: number) => {\r\n return (\r\n scrollTo(\"about\")}\r\n >\r\n {t(item.title)}\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withTranslation()(ContentSlideshowBlock);\r\n","import { lazy, useEffect } from \"react\";\r\nimport IntroContent from \"../../content/IntroContent.json\";\r\nimport MiddleBlockContent from \"../../content/MiddleBlockContent.json\";\r\nimport AboutContent from \"../../content/AboutContent.json\";\r\nimport MissionContent from \"../../content/MissionContent.json\";\r\nimport ProductContent from \"../../content/ProductContent.json\";\r\nimport ContactContent from \"../../content/ContactContent.json\";\r\nimport ContentSlideshowBlock from \"../../components/ContentSlideshowBlock\";\r\n\r\nconst Contact = lazy(() => import(\"../../components/ContactForm\"));\r\nconst MiddleBlock = lazy(() => import(\"../../components/MiddleBlock\"));\r\nconst Container = lazy(() => import(\"../../common/Container\"));\r\nconst ScrollToTop = lazy(() => import(\"../../common/ScrollToTop\"));\r\nconst ContentBlock = lazy(() => import(\"../../components/ContentBlock\"));\r\n\r\ninterface HomeProps {\r\n back: (flag: boolean) => void\r\n}\r\n\r\nconst Home: React.FC = ({ back }) => {\r\n useEffect(() => {\r\n back(false);\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Home;\r\n","import moment from \"moment\";\r\nimport Fetcher from \"./Fetcher\";\r\n\r\nexport interface CardDto {\r\n cardId?: number,\r\n gameName?: string,\r\n setName?: string,\r\n cardName?: string,\r\n year?: string,\r\n rarity?: string,\r\n variant?: string,\r\n finish?: string,\r\n language?: string,\r\n serviceType?: string,\r\n encaseDate?: moment.Moment,\r\n finalGrade?: string,\r\n edge?: string,\r\n align?: string,\r\n corner?: string,\r\n surface?: string\r\n};\r\n\r\ninterface CardApiProps {\r\n getCard: (token: string, cardId: number) => Promise\r\n}\r\n\r\nconst CardApi: CardApiProps = {\r\n getCard: async (token: string, cardId: number): Promise => {\r\n const resource = `/api/Card/${cardId}`;\r\n const opts = { method: \"GET\", headers: { token: token } }; // need to include auth header at later stage\r\n\r\n const res = await Fetcher(resource, opts);\r\n if (res && res.encaseDate) res.encaseDate = moment(res.encaseDate);\r\n return res;\r\n }\r\n}\r\n\r\nexport default CardApi;","import styled from \"styled-components\";\r\n\r\nexport const CardContentBlockSection = styled(\"section\")`\r\n position: relative;\r\n padding: 1rem 0 3rem;\r\n text-align: left;\r\n justify-content: center;\r\n \r\n p {\r\n color: #18216d\r\n }\r\n\r\n @media screen and (max-width: 1024px) {\r\n padding: 1rem 0 3rem;\r\n }\r\n\r\n section {\r\n padding: 10px 20px 5px 20px;\r\n }\r\n`;\r\n\r\nexport const Content = styled(\"p\")`\r\n padding: 0.75rem 0 0.75rem;\r\n`;\r\n\r\nexport const ContentWrapper = styled(\"div\")`\r\n max-width: 570px;\r\n\r\n @media only screen and (max-width: 768px) {\r\n max-width: 100%;\r\n }\r\n`;\r\n","import { Row, Col, Layout, Rate } from \"antd\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { Fade } from \"react-awesome-reveal\";\r\nimport { ContentWrapper, CardContentBlockSection } from \"./styles\";\r\nimport { CardDto } from \"../../services/CardApi\";\r\nimport moment from \"moment\";\r\n\r\ninterface CardContentBlockProps {\r\n content: CardDto | undefined;\r\n t: any;\r\n}\r\n\r\nconst CardContentBlock = ({ content, t }: CardContentBlockProps) => {\r\n const camelCaseToText = (text: string): string => {\r\n const result = text.replace(/([A-Z])/g, \" $1\");\r\n const finalResult = result.charAt(0).toUpperCase() + result.slice(1);\r\n return finalResult;\r\n }\r\n\r\n const renderValue = (key: string, value: string) => {\r\n let elements = [];\r\n if (key === \"edge\" || \r\n key === \"align\" ||\r\n key === \"corner\" || \r\n key === \"surface\") {\r\n elements.push(\r\n
\r\n \r\n
\r\n );\r\n return elements;\r\n }\r\n else {\r\n if (key === \"encaseDate\") value = moment(value).format(\"DD MMM YYYY\")\r\n if (key === \"serviceType\" && value === \"GE\") value = \"Graded Encapsulation\";\r\n if (key === \"serviceType\" && value === \"EO\") value = \"Authentic Encapsulation\";\r\n\r\n elements.push(

{value}

)\r\n return elements;\r\n }\r\n }\r\n\r\n const renderContent = () => {\r\n const c = content as any;\r\n\r\n return (\r\n <>\r\n
{`Reliq # ${content?.cardId}`}
\r\n \r\n {\r\n Object.keys(c).map((k, i) => {\r\n if (k === \"cardId\") return \"\";\r\n if (k === \"encaseDate\" && !c[k]) return \"\";\r\n if (content?.serviceType === \"EO\" && k === \"finalGrade\") return \"\";\r\n if (content?.serviceType === \"EO\" && k === \"edge\") return \"\";\r\n if (content?.serviceType === \"EO\" && k === \"align\") return \"\";\r\n if (content?.serviceType === \"EO\" && k === \"corner\") return \"\";\r\n if (content?.serviceType === \"EO\" && k === \"surface\") return \"\";\r\n return (\r\n \r\n \r\n \r\n

{`${camelCaseToText(k)} :`}

\r\n \r\n \r\n {renderValue(k, c[k])}\r\n \r\n
\r\n
\r\n )\r\n })\r\n }\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n content ? \r\n renderContent()\r\n :\r\n
Report Not Found
\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withTranslation()(CardContentBlock);\r\n","import styled from \"styled-components\";\r\n\r\nexport const LoaderContainer = styled(\"div\")`\r\n width: 100%;\r\n height: 100px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { trackPromise, usePromiseTracker } from \"react-promise-tracker\";\r\nimport CardApi, { CardDto } from \"../../services/CardApi\";\r\nimport Container from \"../../common/Container\";\r\nimport CardContentBlock from \"../../components/CardContentBlock\";\r\nimport Loader from \"react-loader-spinner\";\r\nimport { LoaderContainer } from \"./styles\";\r\n\r\ninterface ReportProps {\r\n back: (flag: boolean) => void\r\n}\r\n\r\nconst Report: React.FC = ({ back }) => {\r\n const location = useLocation();\r\n const { promiseInProgress } = usePromiseTracker();\r\n const [result, setResult] = useState();\r\n const [grecaptcha, setGrecaptcha] = useState(window.grecaptcha);\r\n\r\n const handleCaptchaReady = () => {\r\n setGrecaptcha(window.grecaptcha);\r\n };\r\n\r\n const getCard = (token: string, id: number) => {\r\n trackPromise(\r\n CardApi\r\n .getCard(token, id)\r\n .then(res => setResult(res))\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"CaptchaReady\", handleCaptchaReady);\r\n return () => window.removeEventListener(\"CaptchaReady\", handleCaptchaReady);\r\n }, []);\r\n\r\n useEffect(() => {\r\n back(true);\r\n\r\n if (!grecaptcha) return;\r\n\r\n const params = location.pathname.split(\"/\");\r\n if (params.length >= 2 && params[2] !== \"\") {\r\n grecaptcha.ready(() => {\r\n trackPromise(\r\n grecaptcha\r\n .execute(process.env.REACT_APP_SITE_KEY, { action: \"getcard\" })\r\n .then((token: string) => getCard(token, parseInt(params[2])))\r\n );\r\n });\r\n }\r\n else {\r\n setResult(undefined);\r\n }\r\n }, [back, location, grecaptcha]);\r\n\r\n return (\r\n \r\n {\r\n promiseInProgress ?\r\n \r\n \r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default Report;","import { Suspense, useEffect, useState } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport Footer from \"../components/Footer\";\r\nimport { Styles } from \"../styles/styles\";\r\nimport Header from \"../components/Header\";\r\nimport Home from \"../pages/Home\";\r\nimport Report from \"../pages/Report\";\r\n\r\nconst Router = () => {\r\n const [isBack, setIsBack] = useState(false);\r\n\r\n useEffect(() => {\r\n const loadScriptByURL = (id: any, url: any, callback?: any) => {\r\n const isScriptExist = document.getElementById(id);\r\n \r\n if (!isScriptExist) {\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.src = url;\r\n script.id = id;\r\n script.onload = function () {\r\n if (callback) callback();\r\n };\r\n document.body.appendChild(script);\r\n }\r\n \r\n if (isScriptExist && callback) callback();\r\n }\r\n \r\n // load the script by passing the URL\r\n loadScriptByURL(\"recaptcha-key\", `https://www.google.com/recaptcha/api.js?render=${process.env.REACT_APP_SITE_KEY}`, () => {\r\n window.dispatchEvent(new Event(\"CaptchaReady\"));\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n ()}\r\n />\r\n\r\n ()}\r\n />\r\n \r\n