{"version":3,"sources":["images/creditcardflags sync /^/.//.*/.svg$","images/creditcardflags/amex.svg","images/creditcardflags/diners.svg","images/creditcardflags/discover.svg","images/creditcardflags/generic.svg","images/creditcardflags/jcb.svg","images/creditcardflags/mastercard.svg","images/creditcardflags/visa.svg","OnBoardPage/components/Footer/styles.ts","images/icons/logo-branco.svg","OnBoardPage/components/Footer/Footer.tsx","OnBoardPage/components/Header/styles.ts","OnBoardPage/components/Shared/Modal/styles.ts","images/icons/redlogo.png","images/icons/Icon ionic-ios-arrow-forward.svg","api.ts","Hooks/useFetch.ts","OnBoardPage/components/Shared/Modal/Modal.tsx","OnBoardPage/components/RedButton/styles.ts","OnBoardPage/components/RedButton/RedButton.tsx","OnBoardPage/components/Header/Header.tsx","OnBoardPage/components/ScreenFive/styles.ts","OnBoardPage/components/Shared/ScreenDiv/styles.ts","OnBoardPage/components/Shared/ScreenDiv/ScreenDiv.tsx","OnBoardPage/components/Shared/ScreenSection/ScreenSection.tsx","webpack:///./src/images/icons/Icon ionic-ios-arrow-forward.svg?a9b3","OnBoardPage/components/ScreenFive/ScreenFive.tsx","images/logo.png","OnBoardPage/components/ScreenFour/styles.ts","images/orangebanner.png","OnBoardPage/components/ScreenFour/ScreenFour.tsx","images/icons/Icon metro-gifts.png","OnBoardPage/components/ScreenOne/styles.ts","images/mobile.png","OnBoardPage/components/ScreenOne/ScreenOne.tsx","OnBoardPage/components/ScreenTree/styles.ts","images/relatorio.png","OnBoardPage/components/ScreenTree/ScreenTree.tsx","OnBoardPage/components/ScreenTwo/styles.ts","images/womanreading.png","OnBoardPage/components/ScreenTwo/ScreenTwo.tsx","images/icons/micgoogle.png","OnBoardPage/styles.ts","OnBoardPage/index.tsx","styles/global.tsx","styles/theme/theme.tsx","Campaing/Shared/Header/styles.ts","images/icons/whitelogo.png","Campaing/Shared/Header/index.tsx","Campaing/Shared/Steps/styles.ts","Campaing/Screens/Group/styles.ts","images/md.png","images/map.png","Campaing/Screens/InfoCompany/styles.ts","Campaing/Shared/Load/styles.ts","Campaing/Shared/Load/index.tsx","Campaing/Screens/InfoCompany/index.tsx","Campaing/Screens/GoogleAds/styles.ts","images/icons/ads.png","Campaing/Screens/Investment/styles.ts","Campaing/Screens/GoogleAds/index.tsx","Campaing/Shared/CardPlans/styles.ts","images/Icon material-star.svg","Campaing/Shared/CardPlans/index.tsx","Campaing/Screens/Investment/index.tsx","Campaing/Screens/Finished/styles.ts","images/happy.png","Campaing/Screens/Finished/index.tsx","Campaing/Screens/Group/index.tsx","Campaing/Shared/Steps/index.tsx","Campaing/styles.ts","Campaing/index.tsx","Dashboard/components/SectionOne/styles.ts","Dashboard/components/Shared/PlaceholderMetrics/styles.ts","Dashboard/components/Shared/PlaceholderMetrics/index.tsx","Dashboard/components/SectionOne/index.tsx","Dashboard/components/styles.ts","Dashboard/components/SectionTwo/styles.ts","Dashboard/components/Shared/PlaceholderAd/styles.ts","Dashboard/components/Shared/PlaceholderAd/index.tsx","Dashboard/components/Shared/PlaceholderCredit/styles.ts","Dashboard/components/Shared/PlaceholderCredit/index.tsx","Dashboard/components/Shared/PlaceholderComponentCreditAd/styles.ts","Dashboard/components/Shared/PlaceholderComponentCreditAd/index.tsx","Models/Responses/GetUserData.ts","Dashboard/components/SectionTwo/index.tsx","Dashboard/components/index.tsx","Dashboard/components/Footer/styles.ts","Dashboard/components/Footer/index.tsx","Dashboard/styles.ts","Dashboard/index.tsx","Login/styles.ts","Login/index.tsx","NotFound/styles.ts","NotFound/index.tsx","CampaignOrder/styles.ts","images/icons/pix.svg","CampaignOrder/index.tsx","Checkout/styles.ts","Models/Requests/AddCredit.ts","Models/Responses/AddCreditResponse.ts","Shared/Modal/styles.ts","Shared/Modal/index.tsx","Checkout/index.tsx","Checkout/creditCardFunction.ts","App.tsx","index.tsx"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","Foot","styled","footer","props","theme","color","blackColor","iceWhite","Footer","_jsx","children","_jsxs","href","target","rel","className","src","WhiteLogo","alt","height","Container","header","whiteColor","Div","div","fonts","title2BottomBold","show","keyframes","hide","step2","Content","animation","css","Close","span","Props","Step1","p","buttonColor","ErrorLogin","Step2","Recover","a","Back","img","rotate","Spin","See","API_URL","process","SIGN_IN","MENU_INFO","MENU_AD_PREVIEW","CREATE","DATA_CAMPAIGN","CURRENT_CREATION_STATUS","GET_CAMPAIGN","GET_INFOS","GET_USER_DATA","ADD_CREDIT","REMOVE_AUTO_RECHARGE","UPDATE_AUTO_RECHARGE_AMOUNT","PAYMENT_DETAILS","useFetch","data","setData","React","useState","error","setError","loading","setLoading","navigate","useNavigate","request","useCallback","async","url","options","response","json","fetch","ok","error_message","setTimeout","_response","_response2","_response3","_response4","message","status","result","window","location","split","localStorage","setItem","length","removeItem","saveUrl","Modal","ref","visible","setVisible","email","setEmail","password","setPassword","emailError","setEmailError","loginError","setLoginError","step","setStep","setHide","showPass","setShowPass","useImperativeHandle","openModal","useEffect","document","body","style","overflowY","handleCloseModal","handleClick","currentTarget","clearStates","submit","method","headers","JSON","stringify","u","content","menuUrl","Authorization","getItem","verifyCampaign","login","keyUp","onClick","onKeyUp","keyCode","closeKeyUp","Logo","width","type","name","autoComplete","autoFocus","value","onChange","placeholder","key","includes","_ref","FaEyeSlash","FaEye","GoBack","FaSpinner","size","forwardRef","Button","button","redColor","adaptive","RedButton","modalRef","useRef","handleOpenModal","_modalRef$current","current","_Fragment","Header","scroll","top","behavior","H2","h2","largeTitleBold","Text","normalTextBold","Carousel","Previous","go","Next","ContentCarrousel","Card","tinWhite","DivFinal","ScreenDiv","Section","section","ScreenSection","_defs","_path","_extends","assign","bind","n","arguments","t","r","hasOwnProperty","call","apply","SvgIconionicIosArrowForward","svgRef","title","titleId","xmlns","viewBox","d","transform","ForwardRef","ScreenFive","canGo","setCanGo","canBack","setCanBack","container","querySelector","scrollToTheLeft","currentPosition","scrollLeft","Number","scrollToTheRight","maxScrollLeft","scrollWidth","clientWidth","scrollRight","addEventListener","removeEventListener","comments","image","comment","author","Zoom","duration","item","Fade","ContentDiv","ContentSection","Title","mediumTextBold","Description","caption","Link","footNote","BannerDivImage","InfoCard","ImageBanner","CardBannerDiv","ScreenFour","Slide","direction","open","delay","Banner","imageAnimation","H1","bigBoldTextOnboard","Line","Image","ScreenOne","uf","setUf","abortCont","AbortController","state","signal","estado","region_code","getAddress","abort","Mobile","IoIosGlobe","ImageDiv","Small","small","ScreenTree","Relatorio","ChildOne","ChildTwo","ScreenTwo","position","WomanReading","OnBoardPage","createGlobalStyle","redAccentColor","blueColor","greenColor","biggestBoldTextOnboard","title1Bold","headLineBold","DivLogo","DivInfo","showsMenu","hideMenu","MenuMobile","menu","action","toString","Index","user","setUser","showMenu","exit","username","FaBars","IoMdExit","FaTimes","Initial","Items","fill1","fill2","fill3","fill4","Slider","animationTo","Circle1","Circle2","Circle3","DivBack","Group","GridImage","MenuDinoCard","Cover","MdTitle","OpenNow","GridTitle","GridCenter","GridCenter1","GridCenter2","GridAside","aside","GridFooter","TextCenter","anime","LoadScreen","index","getCampaign","setGetCampaign","errorMessage","setErrorMessage","abortContGet","undefined","js","Md","details","urlCover","urlLogo","toUpperCase","FaPlay","FaStore","segment","FaMapMarkerAlt","address","number","city","zipCode","telephone","FaRegClock","businessHours","hours","extendedWeekDay","scheduleStart","slice","scheduleEnd","FaChevronCircleRight","Maps","animeLeft","CardHead","CardTitle","CardSubtitle","CardContent","FootTitle","FootContent","lines","animationKey","LoadKey","ErrorSection","ErroDescription","loadingKey","setLoadingKey","errorResp","setErrorResp","getAdPreview","Ads","description","FaSearch","keywords","scale","tooltipAnimation","Star","_g","SvgIconmaterialStar","xmlnsXlink","x","y","filterUnits","dy","input","stdDeviation","floodOpacity","operator","in2","in","CardPlans","tooltip","setTooltip","setScale","onMouseEnter","onMouseLeave","isRecommended","StarSvg","fill","cardTitle","price","FaInfoCircle","fee","totalPrice","spendDay","create","Status","errorCurrentState","setErrorCurrentState","errorJson","setErrorJson","detailError","setDetailError","abortCreate","abortCampaign","success","userAdsAccountId","amount","checkCurrentStatus","error_messsage","_js","_js2","st","alertUser","preventDefault","returnValue","cursor","display","alignItems","reload","FaRedo","marginRight","Happy","InfoCompany","GoogleAds","Investment","next","Finished","hasMenudino","setHasMenudino","previous","currentStep","hasMenudinoStorage","FaCheck","FaChevronLeft","FaChevronRight","hasToken","setHasToken","ContentGrid","campaign","ItemTitle1","ItemTitle2","showSelect","Select","showDateCustom","DateCustom","ItemTitle3","ItemTitle4","Graph","Aside","AsideItem1","AsideItem2","AsideItem3","AsideItem4","LineVertical","LineHorizontal","CircleLine","FooterItem1","FooterItem2","FooterItem3","MobileMenu","Menu","ContentMenu","DateCustomMobile","TooltipDiv","isImp","isPassing","PlaceholderMetrics","GridDiv","PlaceholderGraph","PlaceholderItem","_window$localStorage$","_window$localStorage$2","setIndex","showAds","setShowAds","inputImp","setinputImp","inputClick","setinputClick","menuOpen","setMenuOpen","setStatus","setHideMenu","dataGraph","setDataGraph","arrData","setArrData","showDates","setShowDates","dateCustom","dateCustomMobile","showDateCustomMobile","campaignData","setCampaignData","dateStart","setDateStart","dateEnd","setDateEnd","arr","useMemo","getCampaignData","dataCampaign","creditAvaiable","googleCampaingId","campaingName","impressions","clicks","conversions","costPerConversion","conversionRate","invoice","averageTicket","ads","metrics","cost","date","Date","seedCampaign","defineDate","days","now","lastDate","format","initialDate","formatRelative","subDays","dateStarted","parse","setDay","day","getDate","month","getMonth","seedDataGraph","push","impressoes","cliques","CustomToolTip","active","payload","label","customPeriod","currentDateStart","currentDateEnd","toLocaleDateString","justifyContent","FaCaretUp","FaCaretDown","FaCalendarAlt","htmlFor","_ref2","_ref3","defaultValue","_ref4","_ref5","_ref6","checked","left","ResponsiveContainer","LineChart","margin","right","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","strokeWidth","stroke","activeDot","FaMousePointer","FaExchangeAlt","FaDollarSign","Math","floor","toFixed","replace","ContentFlex","h1","Item1","Div1","Div2","AutoRecharge","isLoading","ChangeValue","Item2","modalShow","modalOut","modal","ModalContent","animeIn","animeOut","PlaceholderAd","PlaceholderCredit","Placeholder","PlaceholderComponentCreditAd","GetUserData","constructor","this","fromJson","setAds","showModal","modalDisableAutoRecharge","setModalDisableAutoRecharge","selectedPriceUpdate","setSelectedPriceUpdate","changeValue","setChangeValue","userDataAutoRecharge","setUserDataAutoRecharge","loadingRecharge","setLoadingRecharge","getInfos","_response5","_response6","_response7","resp","getUserData","click","ContentPlaceholder","desactivateAutoRecharge","autoRechargeConfig","parseFloat","disabled","selected","updateAutoRecharge","FaCaretLeft","FaCaretRight","FooterDiv","spin","Login","showError","load","LoadingLogin","clear","settings","version","onSubmit","forceAccountCreate","_json$content","urlSplit","redirect","required","NotFound","Top","Bottom","DivStep","Pix","BarCode","CopyText","Info","CampaignOrder","copy","setCopy","useParams","listUrl","paymentStatus","getPaymentData","FaCreditCard","originalAmount","pix","pixImageInBase64","PixSvg","bankSlip","payNumber","FaCopy","copyText","text","navigator","clipboard","writeText","link","BodyContent","PaymentContent","PaymentMode","isCreditCard","PaymentModeHeader","PaymentModeHeaderItem","select","PaymentModeBody","PaymentModeCreditCard","ContentInputs","PaymentModePix","RecuringPayment","Checkbox","enableCheckbox","unableCheckbox","Loading","PaymentMethod","AddCredit","paymentMethod","creditCard","toJson","CreditCard","cardNumber","holder","expirationDate","securityCode","brand","activateAutoRecharge","AddCreditResponse","userAdsAccountCreditHistoryId","form","ModalFooter","setShowModal","overflow","Checkout","Subscription","selectedPrice","setSelectedPrice","paymentModelCreditCard","setPaymentModeCreditCard","creditCardNumber","setCreditCardNumber","creditCardNumberError","SetCreditCardNumberError","flagCreditCard","setFlagCreditCard","holderName","setHolderName","holderNameError","setHolderNameError","dateExpiration","setDateExpiration","dateExpirationError","setDateExpirationError","cvv","setCvv","cvvError","setCvvError","isRecuringPayment","setIsRecuringPayment","setUserAdsAccountId","close","creditCardFormatter","matches","match","parts","i","len","substring","currentValue","join","createPayment","hasError","validateFields","actualYear","getFullYear","actualMonth","dateExpirationSplit","monthCreditCard","yearCreditCard","checkExpirationCreditCard","creditCardObj","makePayment","paymentByCreditCard","paymentByPixOrInvoice","addCreditResponse","scrollTo","userAdsAccountIdStorage","max","maxLength","onBlur","re","RegExp","test","getCardType","replaceAll","require","default","onKeyDown","pattern","App","ThemeProvider","GlobalStyle","BrowserRouter","Routes","Route","path","element","Dashboard","Campaing","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.47e26462.chunk.js","sourcesContent":["var map = {\n\t\"./amex.svg\": 537,\n\t\"./diners.svg\": 538,\n\t\"./discover.svg\": 539,\n\t\"./generic.svg\": 540,\n\t\"./jcb.svg\": 541,\n\t\"./mastercard.svg\": 542,\n\t\"./visa.svg\": 543\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 536;","export default __webpack_public_path__ + \"static/media/amex.02517bb0.svg\";","export default __webpack_public_path__ + \"static/media/diners.f5e762e1.svg\";","export default __webpack_public_path__ + \"static/media/discover.5affae38.svg\";","export default __webpack_public_path__ + \"static/media/generic.6fb3886e.svg\";","export default __webpack_public_path__ + \"static/media/jcb.419f7e31.svg\";","export default __webpack_public_path__ + \"static/media/mastercard.6fe5209e.svg\";","export default __webpack_public_path__ + \"static/media/visa.2709cf85.svg\";","import styled from 'styled-components'\n\nexport const Foot = styled.footer`\n height: 170px;\n width: 100vw;\n background-color: ${props => props.theme.color.blackColor};\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n position: relative;\n bottom: 0;\n right: 0;\n\n a {\n cursor: pointer;\n color: white;\n font-weight: bold;\n text-decoration: none;\n font-size: 1.2rem;\n margin-top: 20px;\n }\n\n span {\n cursor: pointer;\n margin: 20px;\n color: white;\n transition: .5s;\n text-align: center;\n\n &:hover{\n color: ${props => props.theme.color.iceWhite};\n }\n }\n`;","export default __webpack_public_path__ + \"static/media/logo-branco.1aa05686.svg\";","import { Foot } from './styles'\nimport WhiteLogo from '../../../images/icons/logo-branco.svg'\n\nconst Footer = () => {\n\n return (\n \n \n \"\"\n

consumer

\n
\n
\n )\n}\n\nexport default Footer\n","import styled from 'styled-components'\n\nexport const Container = styled.header`\n height: 70px;\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: ${props => props.theme.color.blackColor};\n color: ${props => props.theme.color.whiteColor};\n position: fixed;\n padding: 10px 20px;\n box-shadow: 0px 3px 5px rgba(0, 0, 0, .5);\n z-index: 1000;\n\n @media(max-width: 350px){\n padding: 5px 10px;\n }\n`;\n\nexport const Div = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-around;\n cursor: pointer;\n\n p{\n margin-left: 10px;\n font-size: ${props => props.theme.fonts.title2BottomBold}px;\n font-weight: lighter;\n }\n\n @media(max-width: 410px){\n img {\n width: 25px;\n height: 25px;\n }\n\n p{\n font-size: 16px;\n }\n }\n\n @media(max-width: 360px){\n img {\n width: 20px;\n height: 20px;\n }\n\n p{\n font-size: 14px;\n }\n }\n`;","import styled, { css, keyframes } from 'styled-components'\n\ninterface ModalProps{\n animation: string;\n}\n\nconst show = keyframes`\n from{\n opacity: 0;\n top: -100vh;\n }\n to{\n opacity: .99;\n top: 0;\n }\n`;\n\nconst hide = keyframes`\n from{\n opacity: .99;\n }\n to{\n top: -100vh;\n opacity: 0;\n }\n`;\n\nconst step2 = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\n\nexport const Content = styled.div`\n background-color: rgba(23,24,41,.8);\n position: fixed;\n z-index: 5000;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n animation: ${props => props.animation === 'hide' ? css`${hide} .3s forwards` : css`${show} .5s forwards`} ;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 40px;\n`;\n\nexport const Div = styled.div`\n width: max(40%, 300px);\n height: max(50%, 350px);\n margin: 50px auto 0 auto;\n border-radius: 8px;\n background-color: white;\n padding: 5px 30px;\n position: relative;\n\n\n\n`;\n\nexport const Close = styled.span`\n position: absolute;\n right: 10px;\n top: 10px;\n line-height: 25px;\n text-align: center;\n background-color: ${props => props.theme.color.blackColor};\n width: 25px;\n height: 25px;\n border-radius: 50%;\n font-size: 30px;\n transform: rotate(45deg);\n color: white;\n transition: .5s;\n cursor: pointer;\n box-shadow: 2px 2px 8px rgba(0,0,0,.5);\n\n &:hover{\n background-color: black;\n }\n`;\n\nexport const Props = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 20px;\n flex-direction: column;\n color: ${props => props.theme.color.blackColor};\n text-align: center;\n\n h3 {\n margin-top: 20px;\n font-size: 18px\n }\n\n input {\n padding-left: 8px;\n margin-top: 30px;\n border: 1px solid ${props => props.theme.color.iceWhite};\n height: 30px;\n width: max(70%, 200px); \n font-size: 12px; \n transition: .6s;\n\n &:focus{\n outline: none;\n }\n &:hover{\n border: 1px solid ${props => props.theme.color.blackColor};\n }\n }\n\n button {\n background-color: ${props => props.theme.color.blackColor};\n color: white;\n height: 30px;\n width: max(70%, 200px);\n margin-top: 10px;\n border: 1px solid ${props => props.theme.color.blackColor};\n outline: none;\n cursor: pointer;\n transition: all .2s ease-out;\n box-shadow: 2px 2px 8px rgba(0,0,0,.5);\n\n &:hover{\n color: white;\n border: 1px solid ${props => props.theme.color.blackColor};\n filter: sepia(2);\n }\n }\n\n @media(max-width: 440px){\n margin: 20px 10px;\n }\n\n @media(max-width: 413px){\n h3{\n font-size: 16px;\n }\n }\n @media(max-width: 377px){\n h3{\n font-size: 14px;\n }\n }\n`;\n\nexport const Step1 = styled.div`\n p{\n margin-top: 10px;\n font-size: 14px;\n text-align: center;\n }\n\n input {\n margin-bottom: 5px;\n height: 35px !important;\n }\n\n button {\n height: 35px !important;\n }\n`;\n\nexport const Error = styled.p`\n font-size: 12px !important;\n color: ${props => props.theme.color.buttonColor};\n`;\n\nexport const ErrorLogin = styled.span`\n font-size: 12px !important;\n color: ${props => props.theme.color.buttonColor};\n`;\n\nexport const Step2 = styled.div`\n animation: ${step2} .5s forwards;\n\n p{\n margin: 30px 0 10px 0;\n font-size: 14px;\n text-align: start;\n }\n\n div {\n width: max(60%, 200px); \n position: relative;\n margin: 0 auto;\n text-align: start;\n }\n\n div > input{\n margin-bottom: 5px;\n height: 35px !important;\n margin: 30px auto 10px auto;\n position: relative;\n width: 100%;\n }\n\n button {\n width: max(60%, 200px);\n div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n\n\n @media(min-width: 555px){\n width: 434px;\n p{\n text-align: center;\n }\n }\n\n @media(max-width: 558px){\n max-width: 370px;\n }\n`;\n\nexport const Recover = styled.a`\n position: relative;\n font-size: 12px;\n margin-top: 20px;\n text-decoration: none;\n color: gray;\n outline: none;\n`;\n\nexport const Back = styled.img`\n position: absolute;\n left: 10px;\n top: 12px;\n line-height: 25px;\n opacity: .5;\n text-align: center;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n font-size: 30px;\n transform: rotate(180deg);\n transition: .5s;\n cursor: pointer;\n`;\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const Spin = styled.div`\n line-height: 20px;\n width: 20px;\n height: 20px;\n text-align: center;\n margin: 0 auto;\n\n svg {\n animation: ${rotate} infinite 1.5s linear;\n }\n`;\n\nexport const See = styled.span`\n position: absolute;\n right: 10px;\n top: 38px;\n cursor: pointer;\n svg {\n color: gray;\n }\n\n @media(max-width: 558px){\n right: 90px;\n }\n\n @media(max-width: 554px){\n right: 8px;\n }\n`;","export default __webpack_public_path__ + \"static/media/redlogo.2b189a7e.png\";","export default __webpack_public_path__ + \"static/media/Icon ionic-ios-arrow-forward.9ddb80be.svg\";","const API_URL = process.env.REACT_APP_URL;\n\nexport const SIGN_IN = `${API_URL}/v1/Token/SignIn`;\nexport const TOKEN_SIGN_IN = `${API_URL}/v1/Token/SignInByMenuDinoToken`;\nexport const MENU_INFO = `${API_URL}/v1/Menu/MenuInfo`;\nexport const MENU_AD_PREVIEW = `${API_URL}/v1/Menu/AdPreview`;\nexport const CREATE = `${API_URL}/v1/AdsAccount/CreateAll`;\nexport const CREATE_CAMPAIGN = `${API_URL}/v1/AdsAccount/CreateCampaign`;\nexport const DATA_CAMPAIGN = `${API_URL}/v1/AdsAccount/GetReport`;\nexport const CURRENT_CREATION_STATUS = `${API_URL}/v1/AdsAccount/GetCurrentCreationStatus`;\nexport const GET_CAMPAIGN = `${API_URL}/v1/AdsAccount/GetCampaign`;\nexport const GET_INFOS = `${API_URL}/v1/AdsAccount/GetInfos`;\nexport const GET_USER_DATA = `${API_URL}/v1/AdsAccount/GetUserData`;\nexport const ADD_CREDIT = `${API_URL}/v1/Payments/AddCreditRequest/`;\nexport const REMOVE_AUTO_RECHARGE = `${API_URL}/v1/Payments/UnsetAutoRecharge/`;\nexport const UPDATE_AUTO_RECHARGE_AMOUNT = `${API_URL}/v1/Payments/UpdateAutoRechargeAmount`;\nexport const PAYMENT_DETAILS = `${API_URL}/v1/Payments`","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react'\nimport { useNavigate } from 'react-router';\n\nconst useFetch = () => {\n const [data, setData] = React.useState(null);\n const [error, setError] = React.useState(null);\n const [loading, setLoading] = React.useState(false);\n const navigate = useNavigate()\n\n function saveUrl(){\n const url = window.location.href;\n const result = url.split(\"/\");\n window.localStorage.setItem('url', result[result.length - 1]);\n window.localStorage.removeItem('token');\n navigate('/login');\n }\n\n const request = React.useCallback(async (url, options) => {\n let response;\n let json;\n\n try {\n setError(null);\n setLoading(true);\n\n response = await fetch(url, options )\n json = await response.json();\n\n if(response.ok === false) {\n if(json.error_message === \"User not found\") {\n navigate('/login')\n }\n else {\n setError(\"Erro ao obter as informações.\");\n setTimeout(() => {\n setError(null)\n }, 5000)\n }\n }\n\n\n } catch(e: any){\n json = null;\n\n if(e.message === \"AbortError\"){\n \n } else \n if(response?.status === 401 || response?.status === 403){\n saveUrl();\n setError(null)\n navigate('/login');\n } else if(response?.status === 400){\n setError(\"Ocorreu um erro ao obter as informações. Tente novamente.\")\n } else if(response?.status === 500){\n setError(\"Ocorreu um erro ao obter as informações. Tente novamente.\")\n } else {\n setError(e.message)\n setTimeout(() => {\n setError(null)\n }, 5000)\n }\n } finally {\n setData(json);\n setLoading(false);\n\n return { response, json }\n }\n\n }, []);\n\n\n return {\n data,\n error,\n loading,\n request\n }\n}\n\nexport default useFetch\n","import React, {useState, useCallback, forwardRef, useImperativeHandle, useEffect} from 'react'\nimport { Content, Div, Close, Props, Step1, Step2, Recover, Back, Spin, See, Error, ErrorLogin } from './styles';\nimport Logo from '../../../../images/icons/redlogo.png'\nimport GoBack from '../../../../images/icons/Icon ionic-ios-arrow-forward.svg'\nimport { FaEye, FaSpinner, FaEyeSlash } from 'react-icons/fa'\nimport { useNavigate } from 'react-router';\nimport { GET_CAMPAIGN, SIGN_IN } from '../../../../api';\nimport useFetch from '../../../../Hooks/useFetch';\n\nexport interface ModalHandles {\n openModal: () => void;\n}\n\nconst Modal:React.ForwardRefRenderFunction = (props, ref) => {\n\n const [visible, setVisible] = useState(false);\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [emailError, setEmailError] = useState('');\n const [loginError, setLoginError] = useState('');\n const [step, setStep] = useState(1);\n const [hide, setHide] = useState('');\n const [loading, setLoading] = useState(false);\n const [showPass, setShowPass] = useState('password')\n const { request } = useFetch();\n const navigate = useNavigate();\n\n useImperativeHandle(ref, () => {\n return {\n openModal\n }\n })\n\n useEffect(() => {\n setEmailError('')\n setLoginError('')\n },[])\n \n const openModal = useCallback(() => {\n setVisible(true);\n document.body.style.overflowY = 'hidden';\n }, [],\n )\n\n const handleCloseModal = useCallback(() => {\n setHide('hide');\n document.body.style.overflowY = 'scroll';\n setTimeout(() => {\n setHide('');\n setVisible(false);\n setStep(1);\n setShowPass('password');\n }, 500);\n }, [],\n )\n\n const handleClick = useCallback((e) => {\n if(e.currentTarget === e.target){\n document.body.style.overflowY = 'scroll';\n setHide('hide');\n setTimeout(() => {\n clearStates();\n }, 500);\n }\n },[],\n )\n\n function clearStates(){\n setEmail('');\n setPassword('');\n setEmailError('');\n setHide('');\n setVisible(false);\n setLoginError('');\n setStep(1);\n setLoading(false);\n setShowPass('password')\n }\n\n function submit(){\n setLoading(true);\n if(password === null || password === ''){\n setLoginError(\"A senha deve ser preenchida!\")\n setLoading(false);\n return null;\n } else {\n try {\n login()\n } catch {\n setLoginError(\"Ocorreu um erro ao realizar o login.\")\n } \n } \n }\n\n function click(){\n if(email.includes('@')){\n setStep(2)\n setEmailError('')\n } else {\n setEmailError(\"O e-mail deve ser preenchido corretamente.\")\n }\n }\n\n async function login(){\n if(step === 1){\n return null;\n }\n\n let body = {\n \"username\": email,\n \"password\": password\n } \n\n try {\n const response = await fetch(SIGN_IN, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n })\n \n const json = await response.json();\n \n if(response.status === 200){\n window.localStorage.setItem('token', json['content']['access_token'])\n window.localStorage.setItem('user', json['content']['name'])\n const urlSplit = json.content.menuUrl.split('//');\n const u = urlSplit[1].split('.');\n window.localStorage.setItem('menudino', u[0])\n setLoading(false);\n \n verifyCampaign()\n } else {\n setLoading(false);\n setLoginError(\"Verifique os dados inseridos e tente novamente.\")\n }\n } catch(e: any){\n setLoginError(e.message)\n }\n }\n\n async function verifyCampaign(){\n const { response } = await request(GET_CAMPAIGN, {\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n \n document.body.style.overflowY = 'scroll';\n if(response?.status === 204 ) {\n navigate('/criar')\n } else {\n navigate('/dashboard')\n }\n }\n\n function closeKeyUp(e: any){\n if(e.keyCode === 27 && loading !== true){\n handleCloseModal()\n document.body.style.overflowY = 'scroll';\n clearStates()\n }\n }\n\n function keyUp(e: any){\n if(e === 'Enter'){\n if(step === 1){\n setStep(2)\n } else if(step === 2){\n submit()\n } else {\n return null;\n }\n }\n }\n\n if(!visible) return null;\n\n return (\n handleClick(e)} onKeyUp={(e) => closeKeyUp(e)} animation={hide}>\n
\n +\n \n \"\"\n

Login com o Consumer ID

\n {step === 1 ? \n

Digite o e-mail usado na sua assinatura do Consumer

\n setEmail(e.target.value)} placeholder=\"seu@email.com\" onKeyUp={(e) => keyUp(e.key)}/>\n {emailError && {emailError}}\n
\n \n
\n
:\n \n
\n setPassword(target.value)} placeholder=\"Senha\" onKeyUp={(e) => keyUp(e.key)}/>\n \n {showPass === 'text' ? setShowPass('password')}/>: setShowPass('text')}/>}\n \n
\n setStep(1)}>\n {loginError && {loginError}}\n {loading === true ? : }\n
}\n {step === 2 && Esqueceu a senha? Clique aqui!}\n
\n
\n
\n )\n}\n\nexport default forwardRef(Modal)\n","import styled from 'styled-components'\n\ninterface ButtonProps {\n adaptive: boolean\n}\n\nexport const Button = styled.button`\n background-color: ${props => props.theme.color.buttonColor};\n color: ${props => props.theme.color.whiteColor};\n outline: none;\n border: 1px solid transparent;\n font-size: 14px;\n padding: 10px 20px;\n border-radius: 5px;\n cursor: pointer;\n font-weight: bolder;\n font-size: ${props => props.theme.fonts.title2BottomBold};\n transition: .5s;\n max-width: 200px;\n \n &:hover{\n background-color: ${props => props.theme.color.redColor};\n }\n\n @media(max-width: 600px){\n font-size: ${props => props.adaptive === true ? '10px' : props.theme.fonts.title2BottomBold};\n }\n`;","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FC, useCallback, useRef } from 'react'\nimport { useNavigate } from 'react-router'\nimport Modal, { ModalHandles } from '../Shared/Modal/Modal'\nimport { Button } from './styles'\n\ninterface RedButtonProps {\n adaptive: boolean,\n}\n\nconst RedButton: FC = ({ adaptive }) => {\n const navigate = useNavigate();\n const modalRef = useRef(null)\n\n const handleOpenModal = useCallback(() => {\n let token = window.localStorage.getItem('token');\n\n if (token !== null) {\n navigate('/criar')\n } else {\n modalRef.current?.openModal();\n }\n\n // Link para lista de espera\n //window.open('https://forms.gle/18qRysd2Qb5tv7br8');\n }, [])\n\n return (\n <>\n \n \n \n )\n}\n\nexport default RedButton\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport {useRef, useCallback} from 'react'\nimport { Container, Div } from './styles'\nimport Logo from '../../../images/icons/logo-branco.svg';\nimport RedButton from '../RedButton/RedButton';\nimport Modal, { ModalHandles } from '../Shared/Modal/Modal';\nimport { useNavigate } from 'react-router';\n\nconst Header = () => {\n\n const modalRef = useRef(null);\n const navigate = useNavigate();\n\n const handleClick = useCallback(() => {\n\n const ntf = window.localStorage.getItem('notfound');\n\n if(ntf !== null){\n window.localStorage.removeItem('notfound');\n navigate('/')\n } else {\n window.scroll({\n top: 0,\n behavior: 'smooth',\n })\n }\n },[],\n )\n return (\n \n
\n \"Consumer\n

Consumer Ads

\n
\n \n \n
\n )\n}\n\nexport default Header\n","import styled from 'styled-components';\n\n\nexport const H2 = styled.h2`\n padding-top: 80px;\n font-weight: bold;\n font-size:${props => props.theme.fonts.largeTitleBold}px;\n`;\n\nexport const Text = styled.p`\n font-size: ${props => props.theme.fonts.normalTextBold}px;\n`;\n\nexport const Div = styled.div`\n max-width: 800px;\n margin: 0 auto;\n padding: 20px 0;\n`;\n\nexport const Carousel = styled.div`\n margin-top: 20px;\n display: flex;\n width: 100%;\n justify-content: space-between;\n padding: 20px 20px 0 20px;\n align-items: center;\n\n @media(max-width: 500px){\n padding: 0;\n }\n`;\n\ninterface PreviusProps {\n go: boolean\n}\nexport const Previous = styled.div`\n opacity: ${props => props.go === true ? 1 : 0.5};\n transform: rotate(180deg);\n width: 50px;\n margin-right: 10px;\n cursor: ${props => props.go === true ? 'pointer' : 'none'};\n outline: none;\n\n @media(max-width: 445px){\n svg {\n width: 10px;\n height: 39px;\n }\n }\n`;\n\ninterface NextProps {\n go: boolean\n}\n\nexport const Next = styled.div`\n cursor: ${props => props.go === false ? 'none' : 'pointer'};\n opacity: ${props => props.go === true ? 1 : 0.5};\n z-index: 2;\n width: 50px;\n margin-left: 10px;\n outline: none;\n \n @media(max-width: 445px){\n svg {\n width: 10px;\n height: 39px;\n }\n }\n`;\n\nexport const ContentCarrousel = styled.div`\n display: flex;\n /* z-index: 2; */\n overflow-x: auto;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n\n ::-webkit-scrollbar{\n width: 0px;\n height: 0px;\n }\n`;\n\nexport const Card = styled.div`\n position: relative;\n min-width: 350px;\n background-color: ${props => props.theme.color.tinWhite};\n display: flex;\n border-radius: 5px;\n scroll-snap-type: x mandatory !important;\n margin: 20px;\n img {\n position: absolute;\n top: -15px;\n left: -20px;\n border-radius: 50%;\n }\n\n div {\n padding: 30px 30px 10px 40px;\n }\n`;\n\nexport const DivFinal = styled.div`\n height: 500px;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n flex-direction: column;\n\n h2{\n padding: 0;\n margin: 0;\n }\n\n button {\n margin-top: 30px;\n }\n`;\n","import styled from 'styled-components';\n\nexport const Div = styled.div`\n max-width: 1200px;\n padding: 0 80px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n @media(max-width: 677px){\n margin: 0 auto;\n padding: 0 30px;\n }\n\n @media(max-width: 580px){\n margin: 0 auto;\n padding: 0 20px;\n }\n\n @media(max-width: 380px){\n margin: 0 auto;\n padding: 0 10px;\n }\n`;","import { FC } from 'react'\nimport { Div } from './styles'\n\nconst ScreenDiv:FC = (props) => {\n return (\n
\n {props.children}\n
\n )\n}\n\nexport default ScreenDiv\n","import { FC } from 'react'\nimport styled from 'styled-components'\nimport ScreenDiv from '../ScreenDiv/ScreenDiv';\n\ninterface SectionProps{\n color: string\n}\n\nconst Section = styled.section`\n background-color: ${props => props.color};\n width: 100%;\n`;\n\nconst ScreenSection:FC = (props) => {\n return (\n
\n \n {props.children}\n \n
\n )\n}\n\nexport default ScreenSection\n","var _defs, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgIconionicIosArrowForward(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 49,\n viewBox: \"0 0 38.308 67\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#171829;}\"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M38.007,39.684,12.653,14.35a4.768,4.768,0,0,1,0-6.762,4.828,4.828,0,0,1,6.782,0L48.16,36.293a4.779,4.779,0,0,1,.14,6.6L19.455,71.8a4.789,4.789,0,0,1-6.782-6.762Z\",\n transform: \"translate(-11.247 -6.196)\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconionicIosArrowForward);\nexport default __webpack_public_path__ + \"static/media/Icon ionic-ios-arrow-forward.9ddb80be.svg\";\nexport { ForwardRef as ReactComponent };","import {useState, useEffect} from 'react'\nimport { Div, Text, Carousel, Previous, ContentCarrousel, Next, Card, DivFinal } from './styles'\nimport ScreenSection from '../Shared/ScreenSection/ScreenSection'\nimport { H2 } from './styles'\nimport { ReactComponent as Back } from '../../../images/icons/Icon ionic-ios-arrow-forward.svg';\nimport RedButton from '../RedButton/RedButton'\nimport { Zoom, Fade } from 'react-awesome-reveal'\nimport Logo from '../../../images/logo.png'\n\nconst ScreenFive = () => {\n const [canGo, setCanGo] = useState(true);\n const [canBack, setCanBack] = useState(false);\n\n useEffect(() => {\n const SCROLL_QUANTITY = 380;\n const container = document.querySelector(\".quick-action-list\");\n\n const scrollToTheLeft = () => {\n const currentPosition = container?.scrollLeft;\n\n if(container === null) return;\n if(Number(currentPosition) > 0){\n setCanGo(true)\n container.scrollLeft = Number(currentPosition) - SCROLL_QUANTITY;\n } else{\n setCanBack(false);\n }\n \n };\n \n const scrollToTheRight = () => {\n const currentPosition = container?.scrollLeft;\n const maxScrollLeft = Number(container?.scrollWidth) - Number(container?.clientWidth);\n \n if(container === null) return;\n if(Number(currentPosition) - SCROLL_QUANTITY < maxScrollLeft){\n setCanBack(true)\n container.scrollLeft = Number(currentPosition) + SCROLL_QUANTITY;\n } else {\n container.scrollLeft = maxScrollLeft;\n }\n\n if(container.scrollLeft === maxScrollLeft){\n setCanGo(false);\n }\n };\n \n const scrollLeft = document.querySelector(\".quick-action-left\");\n const scrollRight = document.querySelector(\".quick-action-right\");\n \n scrollLeft?.addEventListener(\"click\", scrollToTheLeft);\n scrollRight?.addEventListener(\"click\", scrollToTheRight);\n \n return () => {\n scrollLeft?.removeEventListener(\"click\", scrollToTheLeft);\n scrollRight?.removeEventListener(\"click\", scrollToTheRight);\n };\n }, [])\n \n \n\n const comments = [\n {\n id: 1,\n image: `https://files.menudino.com/cardapios/15041/logo.png`,\n comment: 'A ferramenta além de gerar mais vendas e pedidos online, trouxe também pessoas da região para conhecer nossa hamburgueria.',\n author: 'Sr. Malte'\n },\n {\n id: 2,\n image: `https://files.menudino.com/cardapios/274/logo.png`,\n comment: 'Com o Consumer Ads conseguimos gerar mais vendas em nosso site de Delivery e aplicativo próprio, sem o pagamento de altas taxas e comissão.',\n author: 'Gil Lanches'\n },\n {\n id: 3,\n image: null,\n comment: 'Essa ferramenta foi importante para gerar vendas em nosso canal de Delivery que lançamos nos último meses para manter nossa operação durante o fechamento.',\n author: 'Bar do Cabral'\n }\n ]\n\n return (\n \n

Histórias de sucesso para se inspirar

\n
\n Pessoas reais com histórias incríveis. Veja o que nossos clientes disseram sobre criar anúncios no Google pelo Consumer.\n \n
\n \n \n \n {comments.map(item => (\n \n {item.image === null ? \"\" : \n \"\"}\n
\"{item.comment}\" - {item.author}
\n
\n ))} \n
\n \n
\n \n

Vamos Começar?

\n \n
\n
\n )\n}\n\nexport default ScreenFive\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAulBMVEXz8O/rQj/////RMzBBWmuoKif6+Pj18/JugIyyLCm9Lyyapa3HMS7Hy87YNzTikpDtbmtMY3PvmZfaYmCWTlXmPjveOzhsVGDo5+fxxcPrwb+wuL6Ekp3d3d/S1NZ5iZRXbXxidoSlrrW4LSr9/Pz39fS7wcaPnKXWRUXNMi/DMC3po6FMWWjBSEry5eTwzs3ssrDghoTufnx8UlzgRELTPzziPDnv2NfvjoztY2DsWFWhTVK2Sk2/LyyGvlqmAAACpElEQVR42uzTXU/CMBgF4E7LGIyqRZRq9w1sQyFGId7o//9d7u3MXmKYCUK3YXpuOFkvzrMukIuWYwAG0CGAveg3GHv+E9AnDWeBANxvNPYuYE6aT38XYJMWYgAGYADHAhhj381nzG8WIJKQUwgPkyymKrGXNgXwPbo/kWwEkHBamzjQDhAh/TVSM0DEVCWUvqSYWDA3QoFGgFPO+4Qw1bj0SkFxJiMU6AK4ajSFq+BQHUFIqloGzxSG+/oAgRoIoIZQvfKpEjConlLpAzjVEoMWowtmK5fUAMChrBrCu3YrmOBg0QXwYFWoHVh08b8RVd9DwkmgCQAzGc4oCl4BLytcQaIH4OPLwV2E9UeOHgDD13TwC+DlpNXlRHoACbwb7jGCQZFiUj0AFwG0HiDaBhADMAADMID/BhhbVSaU0qm1P9PibALl6rLIoKfyBP25RcAQ+vW5A97+ApidEHBzIOAeRocdAcygv7YIGEC/PR3goxjZ1AA22gAWJl9R+lkDWK/oKtcNsLbr3KpLvt6q33cYHZ0ScGDuugToXULOHPBwnoBliwBLjXYFsIT+0iJgBP3xKMDYAL7at3scBKEgisJeChOtCB01WogJoonxJ3H/2zKEYlrhTHxPmbuB+crTjKbMkigTwFilCHAHAEsiACgDoCmzIskJcEaABwBYkQCAAjBlVqWtI4AkEQd0Em6yKwHUFDBskYCDI4AUCQf0Eq/SGwBUkkOTBYABSJFwwMUD0ANAKTk0WQBSABonwFMoiThAENBYkaQBbJYLaH0AJ4kkEQfUkkeVJgUMC8B8wFEiRcIBlQ+ggwDeZAGYDSil2UUSgBHwsiJJA9j+OEA2VKV/+l8QgAAEAC+rd79ivwJjD49EwO8boNitv7oM334/WwDc9wZ7V2ogXT63ZwAAAABJRU5ErkJggg==\"","import styled from 'styled-components'\n\nexport const H2 = styled.h2`\n padding-top: 80px;\n font-weight: bold;\n font-size:${props => props.theme.fonts.largeTitleBold}px;\n\n @media(max-width: 530px){\n font-size: min(35px, 6vh);\n }\n`;\n\nexport const Text = styled.p`\n font-size: ${props => props.theme.fonts.normalTextBold}px;\n margin: 20px 0;\n`;\n\nexport const Div = styled.div`\n max-width: 760px;\n margin: 0 auto;\n padding: 20px 0;\n`;\n\nexport const ContentDiv = styled.div`\n max-width: 1000px;\n background-color: white;\n border-radius: 10px;\n margin-top: 20px;\n\n @media(max-width: 730px){\n margin: 0 -30px;\n }\n\n @media(max-width: 580px){\n margin: 0;\n }\n\n @media(max-width: 350px){\n padding: 0px;\n margin: 0px;\n }\n`;\n\nexport const Image = styled.img`\n padding: 30px 50px;\n margin: 0 auto;\n max-height: 600px;\n max-width: 100%;\n\n @media(max-width: 730px){\n padding: 30px 10px;\n }\n`;\n\nexport const ContentSection = styled.div`\n display: flex;\n flex: 1 1 300px;\n flex-wrap: wrap;\n justify-content: center;\n margin: 0 30px 50px 30px;\n\n div {\n margin: 0 20px;\n display: flex;\n flex-direction: column;\n width: 250px;\n justify-content: space-evenly;\n align-items: flex-start;\n text-align: start;\n height: 200px;\n }\n\n @media(max-width: 350px){\n div {\n margin: 0;\n }\n\n margin: 0 10px;\n }\n`;\n\nexport const Title = styled.p`\n display: flex;\n align-items: center;\n font-weight: bold;\n font-size: ${props => props.theme.fonts.normalTextBold}px;\n span {\n margin-right: 10px;\n font-size: ${props => props.theme.fonts.mediumTextBold}px;\n color: ${props => props.theme.color.buttonColor};\n }\n`;\n\nexport const Description = styled.p`\n font-weight: normal;\n font-size: ${props => props.theme.fonts.caption}px;\n line-height: 30px;\n`;\n\nexport const Link = styled.span`\n font-weight: normal;\n font-size: ${props => props.theme.fonts.footNote};\n color: ${props => props.theme.color.buttonColor};\n cursor: pointer;\n`;\n\nexport const BannerDivImage = styled.div`\n position: relative;\n @media(max-width: 508px){\n max-width: 508px;\n }\n`;\n\nexport const InfoCard = styled.div`\n position: absolute;\n max-width: 50%;\n min-height: 200px;\n max-height: 300px;\n top: 30px;\n left: 50px;\n color: white;\n border-radius: 5px;\n display: flex;\n justify-content: space-between;\n background-color: rgba(0, 0, 0, 0.8);\n padding: 20px 35px;\n overflow: hidden;\n\n @media(max-width: 850px){\n top: 0;\n left: 0;\n max-width: 60%;\n max-height: 99%;\n\n img { \n position: absolute;\n top: 20px;\n left: 30px;\n height: 40px;\n width: 35px;\n }\n }\n\n @media(max-width: 525px){\n font-size: 10px;\n padding: 10px;\n margin: 0px;\n }\n\n @media(max-width: 508px){\n display: flex;\n justify-content: center;\n align-items: center;\n max-width: 508px;\n position: static;\n background-color: ${props => props.theme.color.blackColor};\n margin: 0 20px;\n }\n`;\n\nexport const ImageBanner = styled.img`\n position: relative; \n max-height: 600px;\n width: 100%;\n\n @media(max-width: 508px){\n display: none;\n }\n`;\n\nexport const CardBannerDiv = styled.div`\n width: 80%;\n display: flex;\n justify-content: space-evenly;\n align-items: flex-start;\n flex-direction: column;\n margin-left: 50px;\n \n\n b {\n text-align: start;\n font-size: 18px;\n }\n\n p {\n font-size: ${props => props.theme.fonts.caption}px;\n line-height: 20px;\n text-align: start;\n\n span{\n font-weight: bold;\n }\n }\n\n em {\n font-size: 10px;\n text-align: start;\n }\n\n @media(max-width: 607px){\n b {\n font-size: 16px;\n }\n p {\n line-height: 20px;\n text-align: start;\n }\n }\n\n @media(max-width: 586px){\n b {\n margin-top: 10px;\n font-size: 16px;\n }\n\n p > b{\n font-size: 16px;\n }\n }\n\n @media(max-width: 563px){\n\n b {\n margin-left: 10px;\n font-size: 16px;\n }\n\n p { \n margin-left: 10px;\n }\n\n p > b{\n font-size: 16px;\n }\n\n em {\n margin-left: 10px;\n margin-bottom: 10px;\n }\n }\n\n @media(max-width: 508px){\n max-width: 508px;\n b {\n font-size: 16px;\n margin-bottom: 10px;\n }\n p {\n font-size: 16px;\n }\n\n p > b{\n font-size: 18px;\n }\n }\n\n @media(max-width: 445px){\n b {\n font-size: 16px;\n margin-bottom: 10px;\n }\n p{\n font-size: 14px;\n }\n\n p > b{\n font-size:14px;\n }\n }\n\n @media(max-width: 338px){\n b {\n font-size: 18px;\n margin-bottom: 10px;\n }\n p {\n font-size: 14px;\n }\n\n p > b {\n font-size: 14px;\n }\n }\n`;\n\n","export default __webpack_public_path__ + \"static/media/orangebanner.8593319b.png\";","import ScreenSection from '../Shared/ScreenSection/ScreenSection'\nimport { Div, H2, Text, ContentDiv, ContentSection, Title, Description, Link, ImageBanner, BannerDivImage, InfoCard, CardBannerDiv } from './styles'\nimport Banner from '../../../images/orangebanner.png'\nimport Gift from '../../../images/icons/Icon metro-gifts.png'\nimport {Fade, Zoom, Slide } from 'react-awesome-reveal'\n\nconst ScreenFour = () => {\n return (\n \n

Fácil e inovador, como tudo no Consumer

\n
Foque no que é mais importante: o seu negócio. E deixa que a publicidade no Google a gente cuida. São 3 passos para criar seu anúncio, e nada mais.
\n \n {/* \"\"/ */}\n
\n \n \n
\n <span>#1</span> Crie seu cardápio\n Primeiro você publica seu cardápio no MenuDino. Caso já tenha feito isso, então tá tudo certo!\n window.open('https://ajuda.programaconsumer.com.br/como-receber-pedidos-do-menudino-no-consumer-desktop/')}>Saiba mais\n
\n
\n \n
\n <span>#2</span> Aprove o Anúncio\n Com base nos dados do seu restaurante, o Consumer irá criar uma campanha no Google Ads. Você apenas confere se está tudo ok.\n
\n
\n \n
\n <span>#3</span> Escolha um plano\n Você define um orçamento inicial de publicidade. Fique tranquilo, você pode acompanhar o desempenho da sua campanha em tempo real.\n
\n
\n
\n \n \n \n \n \"\"\n \n Um Presente Especial para Você\n

Crie sua campanha agora e ganhe até R$ 225,00 de crédito* para usar no segundo mês!

\n
\n * O seu cupom replicará o valor gasto no primeiro mês da campanha e o oferecerá como crédito para o seu segundo mês, sendo o valor máximo oferecido de R$ 225,00.\n
\n
\n
\n
\n
\n

\n
\n )\n}\n\nexport default ScreenFour\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAA8CAYAAAAkNenBAAAABmJLR0QA/wD/AP+gvaeTAAADf0lEQVRoge2Zy2sUWRTGv6sRZSYRo44Q4wvB8bFyEDcuXAyjmFHEty4GGVAQH3Eh4lbBbBQFHVBEVBD/AAefKIIIPvEFigwzPoMBUaMiIppJ9OeiK1I5XVV9u+3QZVMfBHLrfOc756u+99btaqlK4CrdQBSAfpLGSKqX1O6ce1TZjooAUA80A5eALnqiFdgI9P+WAn2AucBB4DxwFjgALAPqymCgL7AGaKcwrgJDSykyFriRIPwK2AD0LdHEj8BxDwNhHAf8lwTQCDzzFD9JkZ8OMBC4lqDZBtwFPkbEZhdT6IT/TQJy085rDgMDAr7FO2AzMCrEHQ5cNLyjviYmAJ9N8mlgPjAH2A68iWjkkKf+vojcG8CIGP4Uw23zNbLaJN7BrAOggej1s7iA9qKInCskTE2gzvC78FknwFaTuC2GNwx4bLitwICEhtoM/z4wpEA/P5uc55bTJya304wjG3POvZA0X1JX6PIoSc0xulskNYbGHZKWOOdexfC7McuM7xXg5wAsMXfgIQlbLLDT8F8DgwxnEtBpeC0evfQDHpi8Tb5GBpO/7W1I4NeR/0BrNpwjJv4E+MGjly0mrwMY7mUkEDhsBLqAVQn8FsO/FYqNBv438cRNIchbDHwyeQe9TQQijcBb8rEHqI3gNwR3K4xfgtguc/0fIG59duutJ//M9RL4qSgjgdjvEWIAT4GlthnglOG1AP3JrZkwVibUrAX2R9TsBJqKNhESXgC8jxCG3Na5jmBhAytM/HqQH0Y7MScAYCb52znkbuafJZsIFZhKbnHGoYPceWuTuf4JuGCu7Y3RPxOj/QFYWKhHB9R7+qmV1CJpeZH3wWK2pCvB/9OVe+b8qugvec8k/SHpdiFRB/CNjaUCiTvH94SqMVJjxjclnSuD7m+SpsTEeqeG2SF2l6GAgL8Sdrhy1dgdFq2aqZUZSRsyI2mD3X7H4fE9wQPjkmK9UaNqjij2E7HYIam9BN25kqbFxC5LOlaC5lBJG2OjCQ8ugKQpkqRZ9gci+a+EeqBG0owQf56ktaUUqgD2SPq7e1DjnPt67gEmVqSl0vBfuPeq2X4zI2lDZiRtyIykDZmRtCEzkjZkRtKGzEjakBlJGzIjaUOh10FNwOQSdHvjBV1DUrCQkbL8lmHQFPyVFVUztarGSI/ftoGRksZXqJdi8a9z7mmlmyg7vgBz/WDULUZH0gAAAABJRU5ErkJggg==\"","import styled, { keyframes } from 'styled-components';\n\nconst imageAnimation = keyframes`\n from {\n margin-top: -20px;\n opacity: 0;\n } \n to {\n margin-top: 0;\n opacity: initial;\n }\n`; \n\nexport const H1 = styled.span`\n color: ${props => props.theme.color.blackColor};\n font-size: ${props => props.theme.fonts.bigBoldTextOnboard}px;\n font-weight: bold;\n\n @media(max-width: 530px){\n font-size: min(35px, 8vh);\n }\n`; \n\nexport const H2 = styled.h2`\n margin-bottom: 20px;\n white-space: nowrap;\n font-size: 32px;\n @media(max-width: 530px){\n font-size: min(20px, 6vh);\n }\n`;\n\nexport const Line = styled.div`\n height: 5px;\n min-width: min(90%, 300px);\n margin: 20px auto;\n background-color: ${props => props.theme.color.buttonColor};\n`;\n\nexport const Div = styled.div`\n height: 100%;\n margin-bottom: -188px;\n\n @media(max-width: 800px){\n margin-bottom: -138px;\n }\n @media(max-width: 400px){\n margin-bottom: -98px;\n }\n`;\n\nexport const Image = styled.img`\n max-height: 100%;\n max-width: 400px;\n text-align: center;\n animation: ${imageAnimation} 1s forwards;\n object-fit: cover;\n object-position: top;\n margin-left: 25px;\n\n @media(max-width: 800px){\n max-width: 300px;\n }\n\n @media(max-width: 400px){\n max-width: 200px;\n }\n\n @media(max-width: 272px){\n max-width: 150px;\n }\n`;\n\nexport const Card = styled.div`\n animation: ${imageAnimation} 1s forwards;\n position: relative;\n height: 182px;\n width: 310px;\n background: white;\n margin: 0 auto;\n bottom: 250px;\n left: 10px;\n right: 300px;\n box-shadow: 1px 1px 5px rgba(0,0,0,.1);\n font-size: 12px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n padding: 10px 20px;\n text-align: start;\n\n div > svg {\n color: gray;\n margin-right: 5px;\n }\n\n div{\n display: flex;\n align-items: center;\n width: 110px;\n margin-top: 5px;\n justify-content: start;\n }\n\n span {\n color: #004FAC;\n font-weight: bold;\n }\n\n @media(max-width: 800px){\n bottom: 190px;\n left: 0px;\n width: 230px;\n height: 130px;\n font-size: 10px;\n }\n\n @media(max-width: 400px){\n bottom: 130px;\n left: 8px;\n width: 160px;\n height: 90px;\n font-size: 7px;\n\n p {\n font-size: 6px;\n margin-bottom: 5px;\n }\n\n span{\n margin-bottom: 5px;\n }\n }\n\n @media(max-width: 272px){\n bottom: 100px;\n left: 8px;\n width: 120px;\n height: 90px;\n font-size: 7px;\n background: white;\n p {\n font-size: 6px;\n margin-bottom: 2px;\n }\n\n span{\n margin-bottom: 2px;\n font-size: 5px;\n }\n div > svg {\n height: 10px;\n width: 10px;\n margin-right: 5px;\n }\n }\n`;\n ","export default __webpack_public_path__ + \"static/media/mobile.a3f4c64a.png\";","import {useState, useEffect} from 'react'\nimport { Line, Image, H1, H2, Div, Card } from './styles'\nimport Mobile from '../../../images/mobile.png'\nimport ScreenSection from '../Shared/ScreenSection/ScreenSection'\nimport { IoIosGlobe } from 'react-icons/io'\n\nconst ScreenOne = () => {\n const [uf, setUf] = useState('');\n\n useEffect(() => {\n const abortCont = new AbortController()\n\n async function getAddress(){\n const state = window.localStorage.getItem('uf');\n let response;\n let json;\n\n if(state === null){\n try{\n response = await fetch('https://freegeoip.app/json/', {signal: abortCont.signal});\n json = await response.json();\n const estado = json.region_code;\n setUf(estado)\n window.localStorage.setItem('uf', estado);\n if(estado === ''){\n setUf('SP');\n window.localStorage.setItem('uf', 'SP');\n }\n } catch(e){\n setUf('SP');\n window.localStorage.setItem('uf', 'SP');\n }\n } else {\n setUf(state);\n }\n }\n getAddress();\n\n return () => abortCont.abort();\n }, [])\n\n return (\n \n

Consumer Ads

\n \n

Gostaria de fazer o seu cardápio
vender mais no Google?

\n
\n \"Visualização \n \n

Anúncio - menudino.com/seucardapio

\n Melhor Burger delivery de {uf}\n

Peça já o melhor e mais saboroso burger artesanal de {uf}

\n
Visite o Site
\n
\n
\n
\n )\n}\n\nexport default ScreenOne\n","import styled from 'styled-components'\n\nexport const H2 = styled.h2`\n padding-top: 80px;\n font-weight: bold;\n font-size:${props => props.theme.fonts.largeTitleBold}px;\n\n @media(max-width: 530px){\n font-size: min(30px, 8vh);\n }\n`;\n\nexport const Text = styled.p`\n font-size: ${props => props.theme.fonts.normalTextBold}px;\n margin: 20px 0;\n @media(max-width: 530px){\n font-size: min(20px, 4vh);\n }\n`;\n\nexport const Div = styled.div`\n max-width: 700px;\n margin: 0 auto;\n padding: 20px 0;\n`;\n\nexport const ImageDiv = styled.div`\n max-width: 100%;\n`;\n\nexport const Image = styled.img`\n margin: 30px 0;\n max-height: 300px;\n width: 100%;\n`;\n\nexport const Small = styled.small`\n margin-bottom: 10px;\n\n @media(max-width: 530px){\n font-size: 12px;\n }\n`;\n","export default __webpack_public_path__ + \"static/media/relatorio.e3d0240f.png\";","import ScreenSection from '../Shared/ScreenSection/ScreenSection'\nimport { H2, Div, Text, Image, ImageDiv, Small } from './styles'\nimport Relatorio from '../../../images/relatorio.png'\nimport { Zoom } from \"react-awesome-reveal\";\n\nconst ScreenTree = () => {\n return (\n \n

Relatórios precisos que não te deixam na mão

\n
Acompanhe de perto o desempenho da sua campanha. Descubra quantas vezes seu anúncio apareceu, quantas pessoas entraram no seu cardápio e, por fim, quantos pedidos foram realizados.
\n \n \n \n (*) Os números acima foram extraídos dos relatórios de um cliente real.\n
\n )\n}\n\nexport default ScreenTree\n","import styled from 'styled-components'\n\nexport const H2 = styled.h2`\n padding-top: 80px;\n font-weight: bold;\n position: relative;\n font-size:${props => props.theme.fonts.largeTitleBold}px;\n\n @media(max-width: 530px){\n font-size: min(30px, 8vh);\n }\n`;\n\n\nexport const Text = styled.p`\n font-size: ${props => props.theme.fonts.normalTextBold}px;\n`;\n\nexport const Div = styled.div`\n max-width: 600px;\n margin: 0 auto;\n padding: 20px 0;\n margin: 20px 0;\n`;\n\nexport const Image = styled.img`\n position: relative;\n padding: 30px 0;\n margin: 20px auto;\n max-height: 800px;\n width: 100%;\n\n @media(max-width: 300px){\n display: none;\n }\n`;\n\nexport const Card = styled.div`\n position: absolute;\n top: 15%;\n right: 10px;\n background: rgba(255,255,255,0.6);\n border: 1px solid white;\n height: 285px;\n width: 450px;\n\n @media(max-width: 766px){\n top: 15%;\n right: 5px;\n }\n\n @media(max-width: 682px){\n height: 250px;\n }\n\n @media(max-width: 620px){\n height: 250px;\n }\n\n @media(max-width: 500px){\n height: 235px;\n width: 300px;\n }\n\n @media(max-width: 478px){\n height: 185px;\n top: 20%;\n }\n\n @media(max-width: 395px){\n height: 150px;\n width: 270px;\n }\n @media(max-width: 300px){\n position: relative;\n background: rgba(0,0,0,0.8);\n margin: 0 auto;\n }\n`;\n\nexport const ChildOne = styled.div`\n position: absolute;\n height: 50px;\n width: 250px;\n left: 20px;\n top: 30px;\n background: white;\n display: flex;\n justify-content: space-around;\n align-items: center;\n box-shadow: 1px 3px 12px rgba(0,0,0,.4);\n\n @media(max-width: 682px){\n top: 10px;\n }\n\n @media(max-width: 500px){\n position: relative;\n left: 40px;\n }\n @media(max-width: 478px){\n height: 35px;\n img{\n height: 20px;\n }\n }\n\n @media(max-width: 395px){\n font-size: 12px;\n height: 30px;\n left: 10px;\n img{\n height: 18px;\n }\n }\n\n @media(max-width: 300px){\n position: relative;\n }\n`;\n\nexport const ChildTwo = styled.div`\n position: absolute;\n height: 150px;\n width: 350px;\n right: 20px;\n top: 110px;\n background: white;\n display: flex;\n justify-content: space-around;\n align-items: flex-start;\n padding: 10px 30px;\n font-size: 14px;\n text-align: start;\n box-shadow: 1px 3px 12px rgba(0,0,0,.4);\n flex-direction: column;\n\n span{\n color: #004FAC;\n font-weight: bold;\n }\n\n @media(max-width: 682px){\n top: 70px;\n }\n\n @media(max-width: 500px){\n top: 25px;\n left: 40px;\n position: relative;\n width: 250px;\n padding: 10px 20px;\n }\n\n @media(max-width: 478px){\n height: 120px;\n padding: 10px 10px;\n }\n\n @media(max-width: 395px){\n font-size: 11px;\n height: 80px;\n padding: 10px 10px;\n left: 10px;\n justify-content: space-between;\n }\n\n @media(max-width: 300px){\n position: relative;\n }\n`; \n","export default __webpack_public_path__ + \"static/media/womanreading.2741e188.png\";","import { useEffect, useState } from 'react'\nimport RedButton from '../RedButton/RedButton'\nimport ScreenSection from '../Shared/ScreenSection/ScreenSection'\nimport { Div, H2, Text, Image, Card, ChildOne, ChildTwo } from './styles'\nimport WomanReading from '../../../images/womanreading.png'\nimport Mic from '../../../images/icons/micgoogle.png'\nimport { Zoom } from \"react-awesome-reveal\";\n\nconst ScreenTwo = () => {\n const [uf, setUf] = useState('');\n\n useEffect(() => {\n const abortCont = new AbortController()\n\n async function getAddress(){\n const state = window.localStorage.getItem('uf');\n let response;\n let json;\n\n if(state === null){\n try{\n response = await fetch('https://freegeoip.app/json/', {signal: abortCont.signal});\n json = await response.json();\n const estado = json.region_code;\n setUf(estado)\n window.localStorage.setItem('uf', estado);\n if(estado === ''){\n setUf('SP');\n window.localStorage.setItem('uf', 'SP');\n }\n } catch(e){\n setUf('SP');\n window.localStorage.setItem('uf', 'SP');\n }\n } else {\n setUf(state);\n }\n }\n getAddress();\n\n return () => abortCont.abort();\n }, [])\n\n return (\n \n

Todo mundo pesquisa no Google

\n \n
Alcance seu público no momento exato em que as pessoas estão procurando pelo seu restaurante.
\n \n
\n \"\"\n \n \n Cafeteria delivery\n \"\"\n \n \n

Anúncio - menudino.com/seucardapio

\n Melhor cafeteria em {uf}\n

Peça já o melhor e mais saboroso café artesanal de {uf}

\n
\n
\n
\n
\n )\n}\n\nexport default ScreenTwo\n","export default \"data:image/png;base64,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\"","import styled from 'styled-components'\n\nexport const Section = styled.div`\ndisplay: flex;\nalign-items: center;\njustify-content: center;\ntext-align: center;\nflex-direction: column;\npadding-top: 140px;\npadding-bottom: 0;\n`;","import { FC, useEffect } from 'react'\nimport Footer from './components/Footer/Footer';\nimport Header from './components/Header/Header';\nimport ScreenFive from './components/ScreenFive/ScreenFive';\nimport ScreenFour from './components/ScreenFour/ScreenFour';\nimport ScreenOne from './components/ScreenOne/ScreenOne';\nimport ScreenTree from './components/ScreenTree/ScreenTree';\nimport ScreenTwo from './components/ScreenTwo/ScreenTwo';\nimport Modal from './components/Shared/Modal/Modal';\nimport { Section } from './styles';\n\nconst OnBoardPage:FC = () => {\n\n useEffect(() => {\n window.open('https://www.consumer.com.br/consumerads', '_self');\n\n // const abortCont = new AbortController();\n\n // async function getAddress(){\n // const state = window.localStorage.getItem('uf');\n // let response;\n // let json;\n\n // if(state === null){\n // try{\n // response = await fetch('https://freegeoip.app/json/', {signal: abortCont.signal});\n // json = await response.json();\n // const estado = json.region_code;\n // window.localStorage.setItem('uf', estado);\n // if(estado === ''){\n // window.localStorage.setItem('uf', 'SP');\n // }\n // } catch(e){\n // window.localStorage.setItem('uf', 'SP');\n // }\n // }\n // }\n // getAddress();\n\n // return () => abortCont.abort();\n }, [])\n\n return (\n <>\n
\n
\n \n \n \n \n \n
\n \n
\n \n )\n}\n\nexport default OnBoardPage","import { createGlobalStyle } from 'styled-components';\nimport './font.css'\n\nexport default createGlobalStyle`\n *{\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n font-family: 'Montserrat', sans-serif;\n }\n\n body, html{\n width: 100%;\n height: 100%;\n }\n\n body{\n overflow-x: hidden;\n }\n`;","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n color: {\n redColor: '#AD4335',\n redAccentColor: '#D15e5E',\n buttonColor: '#EA4335',\n blackColor: '#171829',\n iceWhite: '#D4D4DB',\n tinWhite: '#F4F4F7',\n whiteColor: '#FFFFFF',\n blueColor: '#004FAC',\n greenColor: '#34A852'\n },\n fonts: {\n biggestBoldTextOnboard: 75,\n bigBoldTextOnboard: 48,\n mediumTextBold: 28,\n normalTextBold: 20,\n largeTitleBold: 34,\n title1Bold: 28,\n title2BottomBold: 22,\n headLineBold: 17,\n body: 17,\n footNote: 15,\n caption: 13\n }\n}","import styled, { keyframes } from 'styled-components';\n\nexport const Header = styled.header`\n height: 60px;\n background: ${props => props.theme.color.blackColor};\n width: 100%;\n z-index: 1000;\n position: fixed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: white;\n padding: 0 30px;\n\n .bars {\n \n @media(min-width: 500px){\n display: none;\n }\n }\n\n @media(max-width: 500px){\n padding: 0 15px;\n font-size: .8rem;\n }\n`;\n\nexport const DivLogo = styled.div`\n display: flex;\n align-items: center;\n cursor: pointer;\n\n img{\n margin-right: 10px;\n }\n\n p{\n font-weight: 200;\n }\n\n @media(max-width: 500px){\n p{\n font-size: .8rem;\n }\n\n img {\n height: 25px;\n width: 25px;\n }\n }\n`;\n\nexport const DivInfo = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n text-align: right;\n font-size: .8rem;\n font-weight: 200;\n flex-wrap: wrap;\n\n span{\n margin-right: 50px;\n overflow: hidden;\n }\n\n div{\n cursor: pointer;\n display: flex;\n align-items: center;\n \n p{\n margin-right: 8px;\n }\n } \n\n @media(max-width: 500px){\n /* span {\n margin-right: 20px;\n } */\n\n display: none;\n }\n\n /* @media(max-width: 380px){\n p, span{\n margin-right:0;\n }\n span{\n margin-bottom: 5px;\n font-weight: bold;\n }\n\n flex-direction: column;\n align-items: flex-end;\n } */\n`;\n\nconst showsMenu = keyframes`\n from {\n top: -150px;\n }\n to {\n top: 0;\n }\n`;\n\nconst hideMenu = keyframes`\n from {\n top: 0;\n }\n to {\n top: -130px;\n }\n`\n\ninterface MenuMobileProps {\n action: any\n}\n\nexport const MenuMobile = styled.menu`\n display: none;\n\n @media(max-width: 500px){\n display: ${props => props.action === \"hide\" ? 'none' : 'flex'};\n align-items: center;\n justify-content: center;\n flex-direction: column;\n height: 130px;\n width: 100%;\n padding: 30px;\n background: rgba(23, 24, 41, .98);\n position: absolute;\n top: -150px;\n left: 0;\n box-shadow: 10px 5px 8px 4px rgba(0,0,0,0.5);\n animation: ${props => props.action === true.toString() ? showsMenu : hideMenu} .5s ease-out forwards;\n\n .icon {\n position: absolute;\n right: 15px;\n top: 25px;\n }\n\n span {\n font-weight: bold;\n letter-spacing: 0.05rem;\n font-size: .9rem;\n }\n\n div {\n display: flex;\n align-items: center;\n margin-top: 15px;\n\n \n\n p {\n margin-right: 5px;\n }\n }\n }\n`;","export default \"data:image/png;base64,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\"","import React, { useState } from 'react'\nimport { DivInfo, DivLogo, Header, MenuMobile } from './styles';\nimport Logo from '../../../images/icons/whitelogo.png';\nimport { IoMdExit} from 'react-icons/io'\nimport { useNavigate } from 'react-router-dom';\nimport { FaBars, FaTimes } from 'react-icons/fa';\n\nconst Index = () => {\n type MenuStatus = true | false | \"hide\";\n const navigate = useNavigate();\n const [user, setUser] = React.useState(null);\n const [menu, showMenu] = useState(\"hide\");\n\n function exit(){\n window.localStorage.removeItem('token');\n window.localStorage.removeItem('user');\n navigate('/login')\n }\n\n React.useEffect(() => {\n const username = window.localStorage.getItem('user') === null ? '' : window.localStorage.getItem('user');\n setUser(username)\n },[])\n\n return (\n
\n navigate('/')} className='removeSelection'>\n \"Logo\n

Consumer Ads

\n
\n\n
showMenu(true)} />
\n\n \n Olá! {user}\n
exit()} className='removeSelection'>\n

Sair

\n \n
\n
\n\n {menu !== \"hide\" ? \n \n Olá! {user}\n
exit()} className='removeSelection'>\n

Sair

\n \n
\n {\n showMenu(false)\n setTimeout(() => {\n showMenu(\"hide\")\n }, 500)\n }} />\n
\n : null }\n
\n )\n}\n\nexport default Index\n","import styled, { css, keyframes } from 'styled-components';\n\nexport const Initial = styled.div`\n top: 70px;\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nexport const Items = styled.div`\n display: flex;\n padding: 5px 30px 10px 30px;\n align-items: flex-start;\n justify-content: center;\n box-shadow: 2px 5px 8px rgba(0,0,0,.2);\n max-width: 100%;\n \n div{\n max-width: 200px;\n cursor: pointer;\n margin: 0 auto;\n display: flex;\n font-size: min(.75rem, 3vw);\n flex-wrap: wrap;\n text-align: center;\n align-items: center;\n padding: 0;\n justify-content: center;\n\n p {\n font-weight: bold;\n padding: 0;\n margin-right: 10px;\n }\n }\n\n @media(max-width: 553px){\n padding: 10px;\n }\n`;\n\ninterface SliderProps {\n animationTo: Number\n}\n\nconst fill1 = keyframes`\n to {\n width: calc(100vw - 86.7vw);\n }\n`\n\nconst fill2 = keyframes`\n from {\n width: calc(100vw - 86.7vw);\n }\n\n to {\n width: calc(100vw - 53.3vw);\n }\n`\n\nconst fill3 = keyframes`\n from {\n width: calc(100vw - 53.3vw);\n }\n to {\n width: calc(100vw - 21vw);\n }\n`\n\nconst fill4 = keyframes`\n from {\n width: calc(100vw - 21vw);\n }\n to {\n width: 100vw;\n }\n`\n\nexport const Slider = styled.div`\n width: 0vw;\n background: ${props => props.theme.color.buttonColor};\n height: 5px;\n animation: ${props => props.animationTo === 1 ? \n css`${fill1} .5s forwards` : props.animationTo === 2 ? \n css`${fill2} .5s forwards` : props.animationTo === 3 ? \n css`${fill3} .5s forwards` : css`${fill4} .5s forwards`};\n`;\n\ninterface CircleProps {\n step: Number;\n}\n\nexport const Circle1 = styled.span`\n height: 35px;\n width: 35px;\n border-radius: 50%;\n padding: 10px;\n text-align: center;\n line-height: 18px;\n background: ${props => props.step >= 1 ? props.theme.color.buttonColor : '#D4D4DB' };\n margin-right: 10px;\n color: white;\n font-weight: bold;\n transition: .5s;\n`;\n\nexport const Circle2 = styled.span`\n height: 35px;\n width: 35px;\n border-radius: 50%;\n padding: 10px;\n text-align: center;\n line-height: 18px;\n background: ${props => props.step >= 2 ? props.theme.color.buttonColor : '#D4D4DB' };\n margin-right: 10px;\n color: white;\n font-weight: bold;\n transition: .5s;\n`;\n\nexport const Circle3 = styled.span`\n height: 35px;\n width: 35px;\n border-radius: 50%;\n padding: 10px;\n text-align: center;\n line-height: 18px;\n background: ${props => props.step >= 3 ? props.theme.color.buttonColor : '#D4D4DB' };\n margin-right: 10px;\n color: white;\n font-weight: bold;\n transition: .5s;\n`;\n\nexport const Footer = styled.footer`\n height: 70px;\n width: 100%;\n background: ${props => props.theme.color.blackColor};\n display: flex;\n justify-content: space-between;\n padding: 0 40px;\n align-items: center;\n position: fixed;\n left: 0;\n bottom: 0;\n right: 0;\n color: white;\n\n div{\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: start;\n transition: .3s;\n\n p{\n font-size: .9rem;\n font-weight: bold;\n padding: 15px 10px;\n }\n\n button {\n display: flex;\n align-items: center;\n cursor: pointer;\n background: ${props => props.theme.color.buttonColor};\n outline: none;\n border: 1px solid transparent;\n padding: 10px 20px;\n letter-spacing: .05rem;\n font-size: .9rem;\n color: white;\n font-weight: 700;\n border-radius: 3px;\n transition: .3s;\n\n svg {\n margin-left: 8px;\n }\n\n &:hover{\n filter: hue-rotate(9deg);\n }\n }\n }\n\n @media(max-width: 400px){\n padding: 0 10px;\n }\n`;\n\ninterface DivBackProps {\n step: any\n}\n\nexport const DivBack = styled.div`\n opacity: ${props => props.step === 1 ? '0' : '1'};\n\n &:hover{\n filter: brightness(.9);\n }\n`;\n\nexport const Button = styled.div`\n background: ${props => props.theme.color.buttonColor};\n color: white;\n font-weight: bold;\n margin: 10px auto;\n padding: 10px 20px;\n border-radius: 5px;\n font-size: min(.9rem, 4vw);\n cursor: pointer;\n border: 1px solid transparent;\n transition: .5s;\n\n &:hover{\n border-color: ${props => props.theme.color.buttonColor};\n color: ${props => props.theme.color.buttonColor};\n background: white;\n }\n`;\n\nexport const ButtonProvisorio = styled.div`\n background: #5cb85c;\n color: white;\n font-weight: bold;\n margin: 10px auto;\n padding: 10px 20px;\n border-radius: 5px;\n font-size: min(.9rem, 4vw);\n cursor: pointer;\n border: 1px solid transparent;\n transition: .5s;\n\n &:hover{\n border-color: #5cb85c;\n color: #5cb85c;\n background: white;\n }\n`;","import styled from 'styled-components';\n\nexport const Group = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n`;","export default __webpack_public_path__ + \"static/media/md.ab10ac0d.png\";","export default __webpack_public_path__ + \"static/media/map.d3b74335.png\";","import styled from 'styled-components';\n\nexport const Container = styled.div`\n max-width: 1200px;\n min-height: 74vh;\n padding: 3rem 60px 8rem 60px;\n margin: 0 auto;\n\n div{\n display: grid;\n grid-gap: 10px;\n grid-template-columns: 200px .7fr 230px;\n grid-template-rows: 50px 230px 230px 30px;\n }\n\n @media(max-width: 1146px){\n div {\n grid-template-columns: 200px auto;\n grid-template-rows: 50px 230px 230px 230px 30px;\n }\n margin-bottom: 200px;\n }\n\n @media(max-width: 1036px){\n margin-bottom: 0px;\n div{\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n padding: 20px 10px 90px 10px;\n }\n\n @media(max-width: 546px){\n padding: 0 0 100px 0;\n margin: 0;\n }\n`;\n\nexport const GridImage = styled.div`\n position: relative;\n \n img{\n grid-row: 0/3;\n grid-column: 0/1;\n width: 110%;\n box-shadow: 1px 2px 8px rgba(0,0,0,0.5);\n }\n\n \n\n @media(max-width: 1036px){\n display: none !important;\n img{\n display: none !important;\n }\n }\n\n @media(max-width: 1146px){ \n grid-row: 0/3;\n grid-column: 0/1;\n width: 140%;\n }\n`;\n\nexport const MenuDinoCard = styled.div`\n width: 200px;\n height: 170px;\n position: absolute;\n top: 29px;\n margin: 0 auto;\n\n div {\n position: relative;\n top: 25px;\n left: 5px;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n\n /* @media(max-width: 1146px){\n top: 26px;\n width: 57.8%;\n height: 300%;\n } */\n\n @media(max-width: 1036px){\n display: none !important;\n }\n`;\n\nexport const Cover = styled.img`\n width: 200px;\n height: 100%;\n position: absolute;\n object-fit: cover;\n margin: 0;\n filter: brightness(.85);\n\n @media(max-width: 1036px){\n display: none !important;\n }\n`;\n\nexport const Logo = styled.div`\n z-index: 3;\n /* position: absolute; */\n background: white;\n\n img {\n width: 60px;\n }\n\n @media(max-width: 1036px){\n display: none !important;\n\n img {\n display: none !important;\n }\n }\n`;\n\nexport const MdTitle = styled.div`\n /* position: absolute; */\n z-index: 3;\n width: 180px;\n height: 12px;\n\n p{\n white-space: nowrap;\n color: white;\n font-size: 14px;\n font-weight: bold;\n }\n\n @media(max-width: 1036px){\n display: none !important;\n p {\n display: none !important;\n }\n }\n`;\n\nexport const OpenNow = styled.div`\n width: 80px;\n height: 20px;\n font-size: 10px;\n z-index: 3;\n background: white;\n border-radius: 5px;\n display: flex;\n justify-content: center;\n align-items: center;\n \n b {\n white-space: nowrap;\n color: #008b00;\n line-height: 20px;\n }\n\n @media(max-width: 1036px){\n display: none !important;\n b {\n display: none !important;\n }\n }\n`;\n\nexport const GridTitle = styled.div`\n grid-column: 2/4;\n grid-row: 0/1;\n margin-left: 35px;\n border-bottom: 1px solid #DEDEDE;\n\n div {\n display: flex;\n margin-bottom: 30px; \n\n span{\n cursor: pointer;\n letter-spacing: .05rem;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n font-size: 24px;\n \n svg {\n margin-right: 10px;\n color: ${props => props.theme.color.buttonColor};\n }\n\n b{\n white-space: nowrap;\n overflow: hidden;\n color: ${props => props.theme.color.buttonColor};\n }\n }\n }\n\n @media(max-width: 1146px){\n grid-column: 2/2;\n }\n\n @media(max-width: 1036px){\n margin-left: 0px;\n }\n\n @media(max-width: 546px){\n div{\n span{\n margin-top: 20px;\n font-size: min(18px, 4vw);\n }\n }\n }\n`;\n\nexport const GridCenter = styled.div`\n grid-row: 2/3;\n grid-column: 2/4;\n padding: 0px 40px;\n \n > div {\n display: flex;\n flex-direction: column;\n width: 450px;\n\n em {\n margin-top: -5px;\n font-size: .7rem;\n margin-left: 43px;\n margin-bottom: 10px;\n }\n\n div {\n width: 100%;\n display: flex;\n height: 30px;\n align-items: center;\n\n b{\n display: flex;\n align-items: center;\n font-size: 20px;\n\n svg {\n height: 22px;\n width: 22px;\n margin-right: 20px;\n }\n }\n }\n }\n\n @media(max-width: 1036px){\n > div {\n width: 300px;\n\n div {\n flex-direction: row;\n }\n }\n }\n\n @media(max-width: 390px){\n margin: 0 auto;\n padding: 0;\n }\n\n @media(max-width: 340px){\n > div {\n div {\n \n margin: 0 auto;\n padding: 0;\n text-align: center;\n\n b {\n font-size: 16px;\n }\n }\n }\n em {\n font-size: .6rem;\n margin-right: 15px;\n padding-left: -10px;\n }\n }\n`;\n\nexport const GridCenter1 = styled.div`\n grid-row: 2/4;\n grid-column: 2/4;\n padding: 90px 40px;\n \n div {\n display: flex;\n flex-direction: column;\n\n span {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n svg {\n width: 22px;\n height: 22px;\n margin-right: 20px;\n }\n\n b{\n font-size: 20px;\n }\n }\n\n ul {\n padding: 10px 20px;\n margin-left: 23px;\n width: max(70%, 300px);\n }\n\n ul > li {\n list-style: none;\n margin-bottom: 10px;\n display: flex;\n\n p{\n position: relative;\n margin-left: 5px;\n }\n\n /* p[title]:hover:after{\n content:attr(title);\n background-color: ${props => props.theme.color.blackColor};\n position: absolute;\n padding: 5px;\n padding-bottom: 5px;\n margin: 10px;\n color:#ffffff;\n display: flex;\n width: 200px;\n font-size: .7rem;\n border-radius: 5px;\n box-shadow: 1px 1px 5px 2px rgba(0,0,0,.5);\n } */\n }\n }\n\n @media(max-width: 1036px){\n padding-top: 0px;\n }\n`;\n\nexport const GridCenter2 = styled.div`\n grid-row: 3/4;\n grid-column: 2/3;\n padding: 0px 40px;\n\n div {\n display: flex;\n flex-direction: column;\n min-height: 180px;\n\n span {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n svg {\n width: 22px;\n height: 22px;\n margin-right: 20px;\n }\n\n b{\n font-size: 20px;\n }\n }\n\n ul {\n padding: 10px 20px;\n max-width: 450px;\n height: 190px; \n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n font-size: 14px;\n }\n\n ul li {\n list-style: none;\n margin-bottom: 20px;\n display: flex;\n width: 180px;\n justify-content: space-between;\n align-items: flex-start;\n \n b {\n margin-left: 23px;\n }\n }\n }\n\n @media(max-width: 1036px){\n margin-top: -70px;\n padding: 0px;\n\n div {\n width: 100%;\n\n ul{\n margin-right: 200px;\n justify-content: start;\n align-items: flex-start;\n }\n\n ul li {\n justify-content: start;\n b {\n margin-right: 20px;\n }\n }\n }\n }\n\n @media(max-width: 546px){\n div {\n ul {\n flex-wrap: nowrap;\n height: 300px;\n align-items: center;\n margin-top: 20px;\n margin-right: 0px;\n }\n ul li {\n justify-content: start;\n b {\n margin-right: 20px;\n }\n }\n }\n }\n`;\n\nexport const GridAside = styled.aside`\n grid-row: 2/4;\n grid-column: 3/5;\n width: 100%;\n margin-left: -40px;\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: start;\n justify-content: flex-end;\n text-align: right;\n flex-wrap: wrap;\n padding: 10px 40px;\n\n > p{\n text-align: start;\n margin-bottom: 0px;\n font-size: 13px;\n max-width: 300px;\n }\n\n span {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n svg {\n width: 22px;\n height: 22px;\n margin-right: 20px;\n }\n\n b{\n font-size: 20px;\n }\n }\n\n img {\n height: 280px;\n width: 280px;\n filter: blur(2px);\n margin-top: 5px;\n box-shadow: 1px 2px 8px rgba(0,0,0,0.5);\n }\n }\n\n @media(max-width: 1146px){\n grid-row: 4/5;\n grid-column: 2/3;\n margin-left: 0px;\n padding-top: 10px;\n\n > div {\n p{\n text-align: start;\n margin-left: 40px;\n }\n\n img {\n margin-left: 40px;\n }\n } \n }\n\n @media(max-width: 1036px){\n div {\n margin-top: -30px;\n\n img {\n margin-left: 10px;\n }\n }\n }\n\n @media(max-width: 546px){\n margin-top: 0px; \n > div {\n img {\n width: 180px;\n height: 180px;\n }\n } \n }\n\n @media(max-width: 364px){\n margin-top: 0px; \n > div {\n padding: 0 0 20px 0;\n img {\n width: 130px;\n height: 130px;\n }\n\n p {\n font-size: 12px;\n max-width: 150px;\n }\n } \n }\n`;\n\nexport const GridFooter = styled.footer`\n grid-column: 1/5;\n grid-row: 4/5; \n display: flex;\n justify-content:center;\n align-items: center;\n padding-top: 40px;\n\n p {\n margin: 0;\n padding: 0;\n color: black;\n font-weight: 500;\n cursor: pointer;\n transition: .3s;\n\n span{\n color: ${props => props.theme.color.buttonColor};\n transition: .3s;\n }\n\n &:hover{\n color: ${props => props.theme.color.buttonColor};\n }\n }\n\n @media(max-width: 1146px){\n grid-row: 4/5;\n grid-column: 2/3;\n margin-left: -150px;\n margin-top: 430px; \n padding-bottom: 50px;\n }\n\n @media(max-width: 1036px){\n margin-left: 20px;\n margin-top: 50px; \n }\n\n @media(max-width: 846px){\n margin-left: 0;\n margin-top: 10px;\n }\n\n @media(max-width: 364px){\n p {\n font-size: 12px;\n }\n }\n`;\n\nexport const TextCenter = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100vw;\n height: 70vh;\n`;","import styled, { keyframes } from 'styled-components';\n\n\nconst anime = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nexport const LoadScreen = styled.section`\n width: 100%;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n\n p {\n margin-top: 20px;\n }\n`;\n\nexport const Spin = styled.div`\n border: 5px solid rgba(0,0,0, .1); \n border-left-color: ${props => props.theme.color.blackColor}; \n width: 50px;\n height: 50px;\n border-radius: 50%;\n animation: ${anime} 1s linear infinite;\n`;","import { FC } from 'react'\nimport { LoadScreen, Spin } from './styles'\n\ninterface LoadProps {\n message: string\n}\n\nconst index:FC = (props) => {\n return (\n \n \n {props &&

{props.message}

}\n
\n \n )\n}\n\nexport default index\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react'\nimport Md from '../../../images/md.png';\nimport Maps from '../../../images/map.png';\nimport { GridImage, GridTitle, GridCenter1, GridCenter2, GridAside, GridFooter, TextCenter, OpenNow, MenuDinoCard, Cover, Logo, MdTitle, GridCenter } from './styles'\nimport { FaPlay, FaMapMarkerAlt, FaRegClock, FaChevronCircleRight, FaStore } from 'react-icons/fa'\nimport { Container } from './styles';\nimport LoadScreen from '../../Shared/Load/index';\nimport { CURRENT_CREATION_STATUS, MENU_INFO } from '../../../api';\nimport useFetch from '../../../Hooks/useFetch';\nimport { useNavigate } from 'react-router-dom';\n\nconst Index = () => {\n const [getCampaign, setGetCampaign] = useState(true);\n const [errorMessage, setErrorMessage] = useState(\"\")\n const { loading, error, request, data } = useFetch();\n const navigate = useNavigate();\n\n useEffect(() => {\n const abortCont = new AbortController();\n const abortContGet = new AbortController();\n\n window.scroll({top: 0, behavior: 'smooth'});\n window.localStorage.removeItem('url')\n\n async function verifyCampaign(){\n try {\n const response = await fetch(CURRENT_CREATION_STATUS, {\n signal: abortContGet.signal,\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n let js = await response.json();\n\n if(response?.status === 401 || response?.status === 403 ){\n navigate('/login')\n } else if(js[\"content\"] !== 0) {\n const { response, json } = await request(MENU_INFO, {\n method: 'GET',\n signal: abortCont.signal,\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n },\n })\n \n if(json.error_message !== null) {\n setGetCampaign(false)\n setErrorMessage(json.error_message);\n } else if(response?.status !== 200){\n setGetCampaign(false)\n } else {\n setGetCampaign(false)\n }\n } else {\n setGetCampaign(false)\n navigate('/dashboard')\n }\n } catch(e: any){\n setGetCampaign(false)\n setErrorMessage(e.message)\n }\n }\n\n if(window.localStorage.getItem(\"currentStep\") === undefined){\n window.localStorage.setItem(\"currentStep\", \"1\")\n }\n\n verifyCampaign()\n\n return () => {\n abortCont.abort();\n abortContGet.abort();\n };\n \n },[])\n\n \n if(getCampaign === true) return \n \n if(loading) return \n \n if(errorMessage !== \"\") \n return

{errorMessage === \"User Menu not found\" ? \"MenuDino não publicado! Realize a publicação e após criado retorne aqui para prosseguir.\" : errorMessage}

\n \n if(error) return

Ocorreu um erro ao carregar, tente novamente.

\n \n if(data === null) return

Nenhum dado encontrado.

\n\n return (\n \n
\n \n \"MenuDino\"\n \n \n
\n \n \"Url\n \n \n

{data.content.details.name.toUpperCase()}

\n
\n \n Aberto agora\n \n
\n
\n
\n \n \n
\n window.open(`https://${window.localStorage.getItem('menudino')}.menudino.com`)}> {window.localStorage.getItem('menudino')}.menudino.com\n
\n
\n \n
\n
\n Segmento: \n {data.content.details.segment}\n
\n Esse é o segmento principal cadastrado para seu negócio, confira todas\n informações abaixo antes de continuar.\n {/*
\n Telefone: \n {data.content.details.telephone}\n
\n Este é o telefone para seus clientes entraram em contato quando\n visualizarem seu anúncio. */}\n
\n
\n \n
\n \n \n Endereço\n \n
    \n
  • {data.content.details.address}, {data.content.details.number}
  • \n
  • {data.content.details.city} - {data.content.details.uf}
  • \n
  • {data.content.details.zipCode} -

    {data.content.details.telephone}

  • \n
\n
\n
\n \n
\n \n \n Horários\n \n
    \n {data.content.details.businessHours.map((hours: any, index: any) => (\n index >= 7 ? null : \n
  • {hours.extendedWeekDay}\n {hours.scheduleStart.slice(0,5)} às {hours.scheduleEnd.slice(0,5)}
  • \n ))}\n
\n
\n
\n \n
\n \n \n Público-alvo\n \n

Vamos segmentar seu anúncio para sua cidade, região e horário de funcionamento.

\n \"mapa\"\n
\n
\n \n

window.open('https://ajuda.programaconsumer.com.br/como-alterar-os-dados-de-minha-assinatura-do-consumer/')}>Precisa corrigir algo? Saiba como.

\n
\n
\n
\n )\n}\n\nexport default Index\n","import styled, { keyframes } from 'styled-components';\n\nconst animeLeft = keyframes`\n from {\n opacity: 0;\n left: -50px;\n }\n to {\n opacity: 1;\n left: 0;\n }\n`\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n max-width: 800px;\n margin: 0 auto;\n position: relative;\n flex-wrap: wrap;\n flex: 1 1 1 300px;\n animation: ${animeLeft} .5s forwards;\n padding: 10px;\n`;\n\nexport const Title = styled.div`\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n padding: 20px;\n text-align: center;\n font-size: 20px;\n`;\n\nexport const Content = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n /* padding: 10px; */\n margin: 0 auto;\n \n @media(max-width: 900px){\n flex-direction: column; \n }\n`;\n\nexport const Card = styled.div`\n max-width: 350px;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n padding: 15px 35px;\n box-shadow: 0 0 10px rgba(0,0,0,.2);\n border-radius: 5px;\n margin: 20px;\n\n img{\n position: absolute;\n top: -10px;\n left: -15px;\n height: 25px;\n width: 25px;\n }\n\n @media(max-width: 500px){\n max-width: 300px;\n /* margin-right: 30px; */\n }\n`;\n\nexport const CardHead = styled.div`\n font-size: .7rem;\n`;\n\nexport const CardTitle = styled.div`\n font-size: .7rem;\n margin-top: 20px;\n\n span {\n cursor: pointer;\n }\n`;\n\nexport const CardSubtitle = styled.div`\n font-size: .7rem;\n color: ${props => props.theme.color.blueColor};\n font-weight: bold;\n letter-spacing: .03rem;\n margin: 10px 0;\n`;\n\nexport const CardContent = styled.div`\n font-size: .8rem;\n color: gray;\n line-height: 22px;\n`;\n\nexport const Foot = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 20px;\n max-width: 100%;\n margin-bottom: 50px;\n\n\n svg {\n position: absolute;\n top: 35px;\n left: 15px;\n }\n`;\n\nexport const FootTitle = styled.div`\n display: flex;\n flex-direction: column;\n margin-bottom: 10px;\n padding: 10px 20px;\n\n b{\n font-size: min(4vw, 1rem);\n }\n\n span{\n margin-top: 10px;\n font-size: .7rem;\n }\n`;\n\ninterface FootContentProps {\n lines: boolean\n}\n\nexport const FootContent = styled.div`\n display: flex;\n margin-top: 10px;\n flex: 1 1 100px;\n flex-wrap: wrap;\n background: #F4F4F7;\n padding: 10px 30px 20px 30px;\n justify-self: center;\n justify-content: space-evenly;\n align-items: center;\n font-size: .85rem;\n \n &:last-child() {\n color: red;\n }\n\n p{\n margin: 5px;\n }\n\n b {\n margin-top: ${props => props.lines === true ? '20px' : '0px'};\n color: #a2a2a2;\n cursor: pointer;\n padding: 5px;\n }\n`;\n\nconst animationKey = keyframes`\n from {\n transform: rotate(-360deg);\n }\n`\n\nexport const LoadKey = styled.div`\n height: 20px;\n width: 20px;\n border: 3px solid rgba(0,0,0,0.5);\n border-left-color: ${props => props.theme.color.blackColor};\n border-radius: 50%;\n animation: ${animationKey} 1s linear infinite;\n`","export default __webpack_public_path__ + \"static/media/ads.41f36947.png\";","import styled, { keyframes } from 'styled-components';\n\nconst animeLeft = keyframes`\n from {\n opacity: 0;\n left: -50px;\n }\n to {\n opacity: 1;\n left: 0;\n }\n`\n\nexport const Container = styled.div`\n animation: ${animeLeft} .5s forwards;\n max-width: 1200px;\n display: flex;\n margin: 0 auto;\n flex-direction: column;\n position: relative;\n padding-bottom: 50px;\n`\n\nexport const Title = styled.div`\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n margin-top: 20px;\n\n b {\n font-size: 1.3rem;\n }\n span {\n font-size: .7rem;\n margin-top: 10px;\n }\n`\n\nexport const Content = styled.div`\n background: #f4f4f7;\n display: flex;\n flex: 1 1 200px;\n padding: 80px 30px 0 30px;\n flex-wrap: wrap;\n margin: 20px auto;\n justify-content: space-evenly;\n border-radius: 10px;\n /* margin-bottom: 70px; */\n @media(max-width: 539px){\n padding: 0 30px;\n }\n`;\n\nexport const ErrorSection = styled.div`\n height: 70vh;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n text-align: center;\n\n > span{\n cursor: pointer;\n margin-top: 20px;\n font-weight: bold;\n background: ${props => props.theme.color.buttonColor};\n color: white;\n padding: 10px 20px;\n border-radius: 5px;\n box-shadow: 1px 1px 10px rgba(0,0,0,.5);\n transition: .3s;\n\n &:hover{\n filter: brightness(110%);\n }\n }\n`;\n\nexport const Footer = styled.div`\n font-size: .8rem;\n text-align: start;\n max-width: 500px;\n display: flex;\n align-items: center;\n justify-content: start;\n margin: 0px auto;\n padding: 0 10px 50px 10px;\n\n svg {\n margin-right: 20px;\n }\n\n > div {\n p {\n margin-bottom: 10px;\n text-align: center;\n }\n\n em {\n font-size: 10px;\n \n }\n }\n\n @media(max-width: 500px){\n margin: 10px;\n justify-content: center;\n align-items: center;\n\n svg {\n margin-left: 20px;\n height: 90px;\n width: 90px;\n }\n }\n`\n\nexport const ErroDescription = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: min(700px,90%);\n padding: 20px;\n\n > p {\n font-weight: 600;\n margin-bottom: 10px;\n }\n\n > p:nth-child(2n) {\n font-weight: normal;\n }\n\n > div > pre {\n max-width: 100%;\n min-height: 100px;\n margin: 10px 0;\n text-align: start !important;\n font-size: .9rem;\n background: #FBFBFB;\n padding: 5px;\n /* word-wrap: break-word; */\n\n @media(max-width: 400px){\n overflow-y: auto;\n }\n }\n\n > span {\n cursor: pointer;\n margin-top: 20px;\n margin-bottom: 30px;\n font-style: italic;\n transition: .5s;\n text-align: right;\n\n &:hover{\n color: rgba(0,0,0,.6)\n }\n }\n\n > a {\n text-decoration: none;\n color: ${props => props.theme.color.redColor};\n cursor: pointer;\n }\n`\n\n\n\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\nimport { Card, CardContent, CardHead, CardSubtitle, CardTitle, Container, Content, Foot, FootContent, FootTitle, LoadKey, Title } from './styles';\nimport Ads from '../../../images/icons/ads.png';\nimport { FaSearch } from 'react-icons/fa';\nimport useFetch from '../../../Hooks/useFetch';\nimport LoadScreen from '../../Shared/Load';\nimport { MENU_AD_PREVIEW } from '../../../api';\nimport { ErrorSection } from '../Investment/styles';\n\nconst Index = () => {\n const { loading, error, request, data } = useFetch();\n const [loadingKey, setLoadingKey] = useState(true);\n const [errorResp, setErrorResp] = useState(false);\n\n useEffect(() => {\n const abortCont = new AbortController();\n\n window.scroll({top: 0, behavior: 'smooth'});\n async function getAdPreview(){\n try {\n const { response } = await request(MENU_AD_PREVIEW, {\n method: 'GET',\n signal: abortCont.signal,\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n if(response?.ok){\n setLoadingKey(false)\n }\n } catch(e){\n setErrorResp(true);\n }\n }\n getAdPreview();\n window.localStorage.setItem(\"currentStep\", \"2\")\n \n return () => abortCont.abort();\n },[])\n\n if(loading) return \n\n if(error) return Ocorreu um erro ao executar esta operação.\n\n if(errorResp) return Ocorreu um erro ao executar esta operação.\n\n if(data === null) return Nenhum dado encontrado.\n\n return (\n \n <b>Nossa recomendação de anúncio para você</b>\n \n {data.content.map((item: any, index: any) => (\n \n \"\"\n Versão {index + 1}\n window.open(item.url)}>Anúncio - {item.url}\n

{item.title}

\n {item.description}\n
\n ))}\n \n
\n \n \n \n Palavras-chave Selecionadas\n É o que as pessoas vão digitar na pesquisa do Google para que seu anúncio apareça.\n \n \n {\n loadingKey === true ? : \n data.content[0].keywords !== null ?\n data.content[0].keywords.slice(0, 15).map((item: any, index: any) => (\n

{item}

)) :

nenhuma palavra-chave encontrada.

\n }\n
\n {/* setLines(!lines)}>{lines === false ? 'Ver mais +' : 'Ver menos -'} */}\n
\n
\n
\n )\n}\n\nexport default Index\n","import styled, { keyframes } from 'styled-components';\n\ninterface CardProps {\n scale: any\n}\n\nexport const Card = styled.div`\n width: 200px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n border-radius: 10px;\n height: 300px;\n margin: 20px 20px 50px 20px;\n position: relative;\n box-shadow: 1px 3px 12px rgba(0,0,0,0.3);\n transition: transform .5s; \n \n &:nth-child(3){\n transform: ${props => props.scale === 'true' ? 'scale(1.1)' : ''};\n } \n\n @media(max-width: 779px){\n &:nth-child(2){\n transform: scale(1);\n } \n }\n\n @media(max-width: 539px){\n \n :nth-child(1){\n margin-bottom: 70px;\n }\n\n :nth-child(3){\n margin-bottom: 30px;\n }\n }\n\n &:hover{ \n transform: scale(1.1);\n }\n`\n\nexport const CardTitle = styled.div`\n background: ${props => props.theme.color.blackColor};\n color: white;\n text-align: center;\n width: 100%;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n line-height: 35px;\n font-size: .8rem;\n`\n\nconst tooltipAnimation = keyframes`\n from {\n opacity: 0;\n } \n to {\n opacity: 1;\n }\n`\n\nexport const CardContent = styled.div`\n display: flex;\n flex-direction:column;\n align-items: center;\n justify-content: space-evenly;\n text-align: center;\n height: 300px;\n background: white;\n width: 100%;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n\n button {\n cursor: pointer;\n background: ${props => props.theme.color.blackColor};\n border-radius: 20px;\n color: white;\n width: 120px;\n font-size: .7rem;\n padding: 5px 10px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n letter-spacing: .05rem;\n outline: none;\n border: 1px solid transparent;\n box-shadow: 1px 3px 5px rgba(0,0,0,0.3);\n transition: .5s;\n\n &:hover{\n background: white;\n border: 1px solid ${props => props.theme.color.blackColor};\n color: ${props => props.theme.color.blackColor};\n }\n }\n\n p > b {\n font-size: 2rem;\n }\n\n small {\n font-size: .7rem;\n }\n\n > div {\n display: flex;\n flex-direction: column;\n position: relative;\n\n > small {\n margin-top: 5px;\n }\n\n > b {\n font-size: .7rem;\n }\n\n .info {\n cursor: pointer;\n color: ${props => props.theme.color.blueColor};\n }\n\n .tooltip-info {\n animation: ${tooltipAnimation} .4s linear forwards;\n position: absolute;\n margin-top: 5px;\n padding: 5px;\n border-radius: 5px;\n border: 2px solid black;\n background: ${props => props.theme.color.blackColor};\n box-shadow: 1px 1px 5px rgba(0,0,0,0.6);\n color: white;\n z-index: 10;\n width: 130%;\n top: 10px;\n right: -15px;\n\n p {\n line-height: 15px;\n font-size: 10px;\n }\n }\n }\n`\n\nexport const Star = styled.div`\n position: absolute;\n top: -57px;\n text-align: center;\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n align-items: center;\n\n span{\n padding: 5px 20px;\n border: .05rem solid black;\n border-radius: 30px;\n font-size: .7rem;\n background: white;\n }\n`\n\nexport const DivFee = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: start;\n position: relative;\n\n small {\n margin-top: 10px;\n font-size: 9px;\n }\n\n .info {\n cursor: pointer;\n color: ${props => props.theme.color.blueColor};\n }\n\n .tooltip-info {\n animation: ${tooltipAnimation} .4s linear forwards;\n position: absolute;\n margin-top: 5px;\n padding: 5px;\n border-radius: 5px;\n border: 2px solid black;\n background: ${props => props.theme.color.blackColor};\n box-shadow: 1px 1px 5px rgba(0,0,0,0.6);\n color: white;\n\n p {\n line-height: 15px;\n }\n }\n`","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgIconmaterialStar(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 76.525,\n height: 73.599,\n viewBox: \"0 0 76.525 73.599\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#faca00;}.b{filter:url(#a);}\"), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"a\",\n x: 0,\n y: 0,\n width: 76.525,\n height: 73.599,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 3,\n input: \"SourceAlpha\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"b\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"b\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"matrix(1, 0, 0, 1, 0, 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"a\",\n d: \"M32.263,47.684,50.347,58.6l-4.8-20.572L61.525,24.186,40.486,22.4,32.263,3,24.04,22.4,3,24.186,18.977,38.027,14.178,58.6Z\",\n transform: \"translate(6 3)\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconmaterialStar);\nexport default __webpack_public_path__ + \"static/media/Icon material-star.b0300f3c.svg\";\nexport { ForwardRef as ReactComponent };","import { useState } from \"react\";\nimport { FaInfoCircle } from \"react-icons/fa\";\nimport { Card, Star, CardTitle, CardContent } from \"./styles\";\nimport { ReactComponent as StarSvg } from '../../../images/Icon material-star.svg'\n\ninterface CardPlansProps {\n isRecommended: boolean,\n create: (amount: number) => void,\n cardTitle: string,\n price: number,\n totalPrice: string,\n spendDay: number,\n fee: string\n}\n\nexport default function CardPlans(props: CardPlansProps) {\n\n const [tooltip, setTooltip] = useState(false)\n const [scale, setScale] = useState(true);\n\n return (\n setScale(false)} onMouseLeave={() => setScale(true)}>\n {props.isRecommended && \n Recomendado\n \n }\n {props.cardTitle}\n \n

{props.price},00

\n
\n Taxa operacional setTooltip(true)} onMouseLeave={() => setTooltip(false)} />\n 5% - R$ {props.fee}\n {tooltip &&

Será descontado 5% sobre o valor de cada recarga para custos operacionais.

}\n
\n
\n Crédito Ads\n R$ {props.totalPrice}\n
\n Aproximadamente
R$ {props.spendDay},00 por dia
\n \n
\n
\n )\n}","import { FC, useEffect, useState } from 'react'\nimport { Container, Content, Title, Footer, ErrorSection, ErroDescription } from './styles';\nimport useFetch from '../../../Hooks/useFetch';\nimport { CREATE, CURRENT_CREATION_STATUS } from '../../../api';\nimport LoadScreen from '../../Shared/Load';\nimport { useNavigate } from 'react-router';\nimport CardPlans from '../../Shared/CardPlans';\nimport { FaRedo } from 'react-icons/fa';\n\ninterface InvestmentProps {\n next: () => void\n}\n\nconst Index: FC = (props) => {\n\n enum Status {\n Done,\n Account,\n AccountConversion,\n BillingSetup,\n AccountBudget,\n Campaign,\n CampaignAdGroup,\n CampaignAds,\n CampaignKeywords,\n CampaignKeywordsNegative,\n CampaignProximity,\n CampaignBusinessHours,\n CampaignCallConversion\n }\n\n const { loading, request } = useFetch();\n const [errorCurrentState, setErrorCurrentState] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [errorJson, setErrorJson] = useState('');\n const [detailError, setDetailError] = useState(false);\n const navigate = useNavigate();\n\n const create = async (amount: any) => {\n\n const abortCreate = new AbortController();\n const abortCampaign = new AbortController();\n let js;\n\n try {\n const { response, json } = await request(CREATE, {\n method: 'POST',\n signal: abortCreate.signal,\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n js = json;\n\n if (response?.ok && json?.success === true) {\n localStorage.setItem(\"userAdsAccountId\", json.content.userAdsAccountId)\n localStorage.setItem(\"valorEscolhido\", amount);\n navigate(\"/checkout\");\n } else if (response?.status === 500 || json.success === false) {\n setErrorMessage(json?.error_message)\n setErrorJson(JSON.stringify(json, null, 2));\n checkCurrentStatus(json?.error_messsage)\n } else if (response?.status === 403 || response?.status === 401) {\n navigate('/login')\n } else {\n setErrorMessage(json.error_message)\n setErrorJson(JSON.stringify(json, null, 2));\n checkCurrentStatus(json?.error_messsage)\n }\n } catch (e: any) {\n setErrorMessage(js?.error_message)\n setErrorJson(JSON.stringify(js, null, 2));\n checkCurrentStatus(js?.error_message)\n if (e.message === 'AbortError') {\n } else {\n abortCreate.abort();\n abortCampaign.abort();\n }\n }\n }\n\n async function checkCurrentStatus(errorMessage: string) {\n let response: any;\n let json: any;\n\n try {\n response = await fetch(CURRENT_CREATION_STATUS, {\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n if (response?.ok) {\n json = await response.json();\n let st: Status = Status[json[\"content\"] as keyof typeof Status]\n setErrorCurrentState(`Current State: ${json[\"content\"]} - ${st} / Error Json`)\n } else {\n setErrorMessage(errorMessage);\n setErrorCurrentState(json[\"content\"].toString())\n }\n } catch (e: any) {\n setErrorMessage(`${errorMessage} / ${e.message}`)\n setErrorCurrentState(e.message)\n }\n }\n\n useEffect(() => {\n window.localStorage.setItem(\"currentStep\", \"3\")\n window.addEventListener(\"beforeunload\", alertUser);\n\n return () => {\n window.removeEventListener(\"beforeunload\", alertUser);\n };\n }, []);\n\n const alertUser = (e: any) => {\n e.preventDefault();\n e.returnValue = \"\";\n };\n\n if (loading) return
\n \n
\n\n if (errorCurrentState || errorMessage) return (\n\n \n {errorCurrentState.includes('already') ? (\n <>\n

Você já possui uma campanha no Google!

\n

navigate('/dashboard')}>Clique aqui para gerenciar

\n \n\n ) :\n \n

Ops... Algo deu errado!

\n

{errorMessage}

\n {\n detailError &&\n
\n {errorCurrentState &&

{errorCurrentState}

}\n
{errorJson}
\n
\n }\n setDetailError(!detailError)}>{detailError ? 'Ocultar' : 'Exibir'} detalhes do erro\n

{\n window.localStorage.setItem(\"currentStep\", '3');\n window.location.reload();\n }}> Tentar novamente

\n
\n Entrar em contato com nosso suporte\n
\n }\n
\n )\n\n return (\n \n \n <b>Quanto gostaria de investir?</b>\n <span>Fique tranquilo, você não será cobrado mensalmente.</span>\n \n \n create(150)} fee=\"7,50\" price={150} spendDay={5} totalPrice={\"142,50\"} />\n create(300)} fee=\"15,00\" price={300} spendDay={10} totalPrice={\"285,00\"} />\n create(600)} fee=\"30,00\" price={600} spendDay={20} totalPrice={\"570,00\"} />\n create(1200)} fee=\"60,00\" price={1200} spendDay={30} totalPrice={\"1.140,00\"} />\n \n
\n
\n

Após selecionar o valor, você será redirecionado para tela de checkout com instruções para finalizar o pagamento.

\n

Todas opções representam aproximadamente 30 dias de campanha

\n
\n
\n
\n )\n}\n\nexport default Index","import styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 100%;\n height: 100%;\n display: flex;\n padding-bottom: 3rem;\n flex-direction: column;\n &:first-child(){\n margin: 0 auto;\n padding: 20px;\n background: red;\n }\n`;\n\nexport const Title = styled.div`\n max-width: 600px;\n margin: 40px auto;\n text-align: center;\n display: flex;\n flex-direction: column;\n height: 50%;\n\n b {\n font-size: 20px;\n }\n p{\n margin: 10px 0;\n text-align: center;\n }\n img {\n margin: 20px;\n max-height: 200px;\n }\n\n span {\n font-weight: bold;\n margin: 5px 0px;\n }\n\n @media(max-width: 450px){\n padding: 0;\n margin: 20px 20px;\n }\n`;\n\nexport const Card = styled.div`\n display: flex;\n flex-direction: column;\n background: #F4F4F7;\n align-items: flex-start;\n justify-content: center;\n text-align: start;\n width: 100vw;\n padding: 0 20px;\n min-height: 50%;\n\n div {\n max-width: 800px;\n margin: 10px auto;\n \n }\n`;\n\nexport const CardTitle = styled.div`\n font-size: .9rem;\n max-width: 800px;\n text-align: left;\n display: flex;\n align-items: flex-start;\n justify-content: start;\n margin-top: 20px;\n`\n\nexport const CardContent = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-evenly;\n border-top: 1px solid #b2b2b2;\n margin: 0 20px;\n flex-wrap: wrap;\n padding: 0 0 100px 0;\n\n\n div {\n flex: 1 1 200px;\n max-width: 250px;\n margin: 10px;\n\n b{\n font-size: .8rem;\n }\n\n p {\n margin-right: 10px;\n font-size: .7rem;\n line-height: 30px;\n }\n }\n @media(min-width: 480px){\n div { \n height: 40vh;\n }\n }\n`","export default __webpack_public_path__ + \"static/media/happy.1d17c809.png\";","import { useEffect } from 'react'\nimport { Container, Title } from './styles'\nimport Happy from '../../../images/happy.png'\nimport { Button } from '../../Shared/Steps/styles'\nimport { useNavigate } from 'react-router-dom'\n\nconst Index = () => {\n const navigate = useNavigate();\n\n useEffect(() => {\n window.scroll({top: 0, behavior: 'smooth'})\n },[])\n\n\n return (\n \n \n <b>Anúncios no Google criados com sucesso!</b> \n \n <img src={Happy} alt=\"Anúncio do Google criado!\"/>\n <span>E agora, quais são os próximos passos?</span>\n <p>Clique no botão abaixo e adicione créditos para ativar seus anúncios!</p>\n <Button onClick={() => navigate('/dashboard')}>Gerenciar campanha</Button> \n \n \n {/* \n
E agora, quais são os próximos passos?
\n \n
\n Gerencie sua campanha\n

Acompanhe o desempenho da sua campanha quantas vezes seu anúncio foi visualizado, clicado e convertido em vendas

\n
\n
\n Utilize seu crédito exclusivo\n

Não esqueça de utilizar seu crédito exclusivo de 225,00 e mantenha sua campanha ativa por mais 30 dias.

\n
\n
\n Faça novos investimentos\n

Consistência geram resultados. Defina um plano de marketing e continue fazendo novos investimentos. Bons negócios!

\n
\n
\n
*/}\n
\n )\n}\n\nexport default Index\n","import { FC } from 'react'\nimport { Group } from './styles'\nimport InfoCompany from '../InfoCompany'\nimport GoogleAds from '../GoogleAds'\nimport Investment from '../Investment'\nimport Finished from '../Finished'\n\ninterface GroupProps {\n step: Number,\n next: () => void\n}\n\nconst Index:FC = (props) => {\n\n if(props.step === 1) \n return (\n \n \n \n )\n\n if(props.step === 2) \n return (\n \n \n \n )\n\n if(props.step === 3)\n return (\n \n \n \n )\n\n return (\n \n \n \n )\n}\n\nexport default Index\n","import { useState, useCallback, useEffect } from 'react'\nimport { Circle1, Circle2, Circle3, Items, Initial, Slider, Footer, DivBack} from './styles';\nimport { FaCheck } from 'react-icons/fa';\nimport Group from '../../Screens/Group';\nimport { FaChevronLeft, FaChevronRight } from 'react-icons/fa'\n\nconst Index = () => {\n const [step, setStep] = useState(1);\n const [hasMenudino, setHasMenudino] = useState()\n const next = useCallback(() => {\n if(step === 4){\n return;\n } else {\n let temp = step + 1;\n setStep(temp);\n }\n },[step],\n ) \n\n const previous = useCallback(() => {\n if(step === 1){\n return;\n } else {\n let temp = step - 1;\n setStep(temp);\n }\n },[step],\n )\n\n useEffect(() => {\n let currentStep = window.localStorage.getItem(\"currentStep\");\n let hasMenudinoStorage = window.localStorage.getItem(\"temMenuDino\");\n setHasMenudino(hasMenudinoStorage!);\n if(hasMenudino === \"false\") {\n setStep(1)\n }\n \n if(currentStep !== null){\n setStep(Number(currentStep))\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n \n {hasMenudino === \"true\" && \n <>\n \n
{\n if(step === 4){\n return;\n } else {\n setStep(1)\n }\n }}>\n {step >= 2 ? : '1'}\n

Seu estabelecimento

\n
\n
{\n if(step === 4){\n return;\n } else {\n setStep(2)\n }\n }}>\n {step >= 3 ? : '2'}\n

Anúncio no Google

\n
\n
{\n if(step === 4){\n return;\n } else {\n setStep(3)\n }\n }}>\n {step >= 4 ? : '3'}\n

Investimento

\n
\n
\n \n \n }\n\n \n \n\n { hasMenudino === \"true\" &&\n
\n {step === 4 ? null : \n <>\n previous()}>\n \n

Voltar

\n
\n\n {step >= 3 ? null :\n
next()}>\n \n
\n }\n \n }\n
\n }\n
\n )\n}\n\nexport default Index\n","import styled from 'styled-components';\n\nexport const Section = styled.section`\n \n`;","import { useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport Header from './Shared/Header'\nimport Initial from './Shared/Steps'\nimport { Section } from './styles'\n\nconst Index = () => {\n const [hasToken, setHasToken] = useState(false)\n const navigate = useNavigate();\n\n useEffect(() => {\n if(window.localStorage.getItem('token') === null){\n navigate('/login')\n } else {\n setHasToken(true)\n }\n }, [navigate])\n\n if(!hasToken) return null;\n \n return (\n
\n
\n \n
\n )\n}\n\nexport default Index\n","import styled, { keyframes } from 'styled-components';\n\nexport const ContentGrid = styled.div`\n display: grid;\n grid-template-columns: min(20vw, 220px) 40% 40%;\n grid-template-rows: 50px 155px 155px 100px;\n grid-gap: 20px;\n padding: 0 30px;\n margin: 0 auto;\n position: relative;\n\n @media(min-width: 704px){\n margin: 0 80px 0 30px;\n }\n\n @media(max-width: 703px){\n display: flex;\n flex-direction: column;\n }\n\n @media(max-width: 429px){\n padding: 0;\n }\n`;\n\nexport const Title = styled.section`\n grid-column: 1/4;\n grid-row: 1/1;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n\n > div {\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n }\n @media(max-width: 703px){\n display: flex;\n flex-direction: row;\n justify-content: start;\n align-items: center;\n }\n\n @media(max-width: 672px){\n display: none;\n }\n\n`\n\nconst campaign = keyframes`\n to {\n opacity: 1;\n top: 38px;\n }\n`;\n\nexport const ItemTitle1 = styled.div`\n /* cursor: pointer; */\n height: 40px;\n width: min(20vw, 220px);\n background: white;\n border-radius: 5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 10px;\n font-size: .6rem;\n position: relative;\n z-index: 500;\n overflow: hidden;\n\n b {\n -webkit-box-orient: vertical;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: normal;\n }\n \n svg {\n height: 20px;\n width: 20px;\n }\n\n > ul {\n opacity: 0;\n animation: ${campaign} .2s linear forwards;\n transition: .5s;\n top: 0px;\n left: 0px;\n position: absolute;\n background: white;\n padding: 10px;\n width: 200px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n box-shadow: 3px 3px 5px rgba(0,0,0,.5);\n\n li {\n list-style: none;\n margin-bottom: 5px;\n transition: .3s;\n\n &:hover{\n font-weight: bold;\n background: #F9F9F9;\n }\n }\n }\n\n @media(max-width: 703px){\n flex: 1 1 100px;\n }\n`;\nexport const ItemTitle2 = styled.div`\n position: relative;\n height: 40px;\n width: 150px;\n background: white;\n border-radius: 5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 10px;\n font-size: .8rem;\n margin-left: 20px;\n margin-right: 10px;\n\n > p {\n padding: 15px 0;\n cursor: pointer;\n }\n \n svg {\n height: 18px;\n cursor: pointer;\n width: 18px;\n }\n\n @media(max-width: 788px){\n /* display: none; */\n font-size: .7rem;\n width: 130px;\n }\n`;\n\ninterface SelectProps {\n show: boolean\n}\n\nconst showSelect = keyframes`\n from { \n opacity: 0;\n top: 20px;\n } \n to {\n opacity: 1;\n top: 30px;\n }\n`\n\nexport const Select = styled.div`\n display: ${props => props.show === true ? 'flex' : 'none'};\n animation: ${props => props.show === true ? showSelect : ''} .3s ease-out forwards;\n position: absolute;\n flex-direction: column;\n align-items: center;\n justify-content: space-evenly;\n height: 100px;\n border-bottom-left-radius: 10px;\n border-bottom-right-radius: 10px;\n box-shadow: 2px 3px 5px rgba(0,0,0,.5);\n z-index: 10;\n width: 100%;\n background: white;\n top: 30px;\n left: 0;\n cursor: pointer;\n margin-top: 10px;\n\n p {\n width: 100%;\n margin: 0 10px;\n text-align: center;\n &:hover{\n font-weight: bold;\n background: ${props => props.theme.color.tinWhite};\n } \n }\n`\n\nconst showDateCustom = keyframes`\n from {\n width: 0px;\n height: 0px;\n opacity: 0;\n } \n\n to {\n opacity: 1;\n }\n`\n\nexport const DateCustom = styled.div`\n position: absolute;\n margin-top: 10px; \n overflow: hidden;\n z-index: 50;\n top: 35px;\n width: 300px;\n height: 250px;\n left: 0;\n background: white;\n box-shadow: 3px 2px 5px rgba(0,0,0,0.5);\n animation: ${showDateCustom} .5s ease-in forwards;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n flex-direction: column;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n\n > div {\n display: flex;\n flex-direction: column;\n\n input {\n margin-top: 10px;\n width: 200px;\n height: 30px;\n padding: 0 10px;\n }\n }\n\n > span {\n position: absolute;\n top: 10px;\n right: 10px;\n }\n\n > button {\n width: 100px;\n height: 30px;\n font-weight: bold;\n background: ${props => props.theme.color.blackColor};\n outline: none;\n color: white;\n border: 1px solid transparent;\n border-radius: 5px;\n cursor: pointer;\n }\n\n\n @media(max-width: 845px){\n\n > button {\n margin: 0 auto;\n }\n }\n`\n\nexport const ItemTitle3 = styled.div`\n height: 40px;\n width: 300px;\n background: white;\n border-radius: 5px;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 5px;\n font-size: .8rem;\n flex: 1 1 130px;\n\n a{\n text-decoration: none;\n color: black;\n\n span {\n color: ${props => props.theme.color.buttonColor};\n font-weight: bold;\n }\n }\n\n @media(max-width: 853px){\n width: 250px;\n }\n\n @media(max-width: 782px){\n width: 230px;\n font-size: min(4vw, .8rem);\n margin-left: 5px;\n }\n\n @media(max-width: 760px){\n /* display: none; */\n font-size: .7rem;\n }\n`;\n\ninterface ItemProps {\n status: boolean\n}\n\nexport const ItemTitle4 = styled.div`\n height: 35px;\n border: 2px solid ${props => props.status === true ? props.theme.color.greenColor : props.theme.color.buttonColor};\n background: white;\n color: ${props => props.status === true ? props.theme.color.greenColor : props.theme.color.buttonColor};\n font-weight: bold;\n width: 80px;\n font-size: .8rem;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n border-radius: 50px;\n margin-left: 10px;\n \n \n span{\n padding: 0;\n margin: 0;\n font-size: 40px;\n text-align: center;\n transform: translateY(-3px)\n }\n\n @media(max-width: 760px){\n /* display: none; */\n font-size: .7rem;\n width: 60px;\n }\n`;\n\nexport const Graph = styled.section`\n grid-column: 2/4;\n grid-row: 2/4;\n display: flex;\n flex-direction: column;\n padding: 20px 10px;\n background: white;\n border-radius: 5px;\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n margin: 0 0 0 0;\n\n div{\n display: flex;\n justify-content: space-around;\n align-items: center;\n \n\n input {\n margin: 0 10px;\n border: 1px solid black;\n }\n \n input[type=radio] {\n width: 18px;\n height: 18px;\n border-radius: 15px;\n position: relative;\n border: 1px solid black;\n }\n \n input[type=radio]:checked:after {\n width: 10px;\n height: 10px;\n border-radius: 15px;\n top: 2px;\n left: 1.30px;\n position: relative;\n background-color: ${props => props.theme.color.buttonColor};\n content: '';\n display: inline-block;\n visibility: visible;\n border: 2px solid white;\n }\n\n div{\n div > svg {\n width: 600px;\n height: 600px;\n \n }\n }\n\n @media(max-width: 450px){\n input[type=radio]:checked:after {\n width: 10px;\n height: 10px;\n border-radius: 15px;\n top: 2px;\n left: 1.68px;\n position: relative;\n background-color: ${props => props.theme.color.buttonColor};\n content: '';\n display: inline-block;\n visibility: visible;\n border: 2px solid white;\n }\n } \n }\n\n @media(max-width: 570px){\n /* margin: 0 -20px; */\n padding: 10px 10px 0 -10px; \n\n div > div {\n font-size: .6rem;\n }\n }\n\n @media(max-width: 420px){\n div > div {\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n flex-direction: column;\n /* min-width: 330px; */\n margin: 0;\n }\n }\n\n @media(max-width: 672px){\n margin-top: 50px;\n }\n`\n\nexport const Aside = styled.aside`\n grid-column: 1/1;\n grid-row: 2/5;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n @media(max-width: 703px){\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n }\n`\n\nexport const AsideItem1 = styled.div`\n grid-row: 1/2;\n grid-column: 1/1;\n background: white;\n border-radius: 5px;\n padding: 10px 20px;\n background: transparent linear-gradient(180deg, #EA4335 0%, #3E1F93 100%) 0% 0% no-repeat padding-box;\n box-shadow: 0px 3px 40px #7777817E;\n color: white;\n\n b{\n font-size: .6rem;\n color: white;\n }\n\n div {\n display: flex;\n align-items: center;\n text-align: center;\n margin-left: 10px;\n margin-top: 5px;\n color: white;\n\n svg{\n background: transparent;\n height: 30px;\n width: 30px;\n padding: 5px;\n border-radius: 4px;\n margin-left: -8px;\n }\n\n p {\n color: white;\n font-size: 1.4rem;\n font-weight: bold;\n margin-left: 13px;\n }\n }\n small {\n display: flex;\n color: white;\n font-size: .7rem;\n text-align: center;\n margin-top: 5px;\n }\n\n @media(min-width: 703px) and (max-width: 775px){\n margin-bottom: 5px;\n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px 10px 5px 0;\n }\n\n @media(max-width: 599px){\n margin: 10px 10px 10px 0px;\n }\n\n @media(max-width: 429px){\n margin: 10px;\n }\n\n @media(max-width: 410px){\n margin: 10px 0;\n min-width: 100%;\n }\n`\n\nexport const AsideItem2 = styled.div`\n grid-row: 2/3;\n grid-column: 1/1;\n background: white;\n border-radius: 5px;\n padding: 8px;\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n margin-left: 30px;\n position: relative;\n\n b{\n font-size: .6rem;\n }\n\n div {\n display: flex;\n align-items: center;\n text-align: center;\n margin-left: 10px;\n margin-top: 5px;\n\n svg{\n background: red;\n height: 25px;\n width: 25px;\n padding: 5px;\n fill: white;\n border-radius: 4px;\n margin-left: -8px;\n }\n\n p {\n color: red;\n font-size: 1.2rem;\n font-weight: bold;\n margin-left: 13px;\n }\n }\n small {\n display: flex;\n color: gray;\n font-size: .7rem;\n text-align: center;\n margin-top: 5px;\n }\n\n @media(min-width: 703px) and (max-width: 775px){\n margin-bottom: 5px;\n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 10px;\n padding: 12px;\n }\n\n @media(max-width: 599px){\n margin: 10px 10px 10px 0px;\n }\n\n @media(max-width: 589px){\n margin: 10px 0px 10px 10px;\n }\n\n @media(max-width: 429px){\n margin: 10px;\n }\n\n @media(max-width: 410px){\n margin: 10px 0;\n min-width: 100%;\n }\n`\n\nexport const AsideItem3 = styled.div`\n grid-row: 3/4;\n grid-column: 1/1;\n background: white;\n border-radius: 5px;\n padding: 8px;\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n margin-left: 30px;\n position: relative;\n\n b{\n font-size: .6rem;\n }\n\n div {\n display: flex;\n align-items: center;\n text-align: center;\n margin-left: 10px;\n margin-top: 5px;\n\n svg{\n background: red;\n height: 25px;\n width: 25px;\n padding: 5px;\n fill: white;\n border-radius: 4px;\n margin-left: -8px;\n }\n\n p {\n color: red;\n font-size: 1.2rem;\n font-weight: bold;\n margin-left: 13px;\n }\n }\n small {\n display: flex;\n color: gray;\n font-size: .7rem;\n text-align: center;\n margin-top: 5px;\n }\n\n @media(min-width: 703px) and (max-width: 775px){\n margin-bottom: 5px;\n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px 0px 5px 10px;\n padding: 12px;\n\n small{\n font-size: min(.6rem, 3vw);\n }\n }\n\n @media(max-width: 599px){\n margin: 10px 0px 10px 10px;\n }\n\n @media(max-width: 589px){\n margin: 10px 10px 10px 0px;\n }\n\n @media(max-width: 429px){\n margin: 10px;\n }\n\n @media(max-width: 410px){\n margin: 10px 0;\n min-width: 100%;\n }\n`\n\nexport const AsideItem4 = styled.div`\n grid-row: 4/5;\n grid-column: 1/1;\n background: white;\n border-radius: 5px;\n padding: 10px;\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n margin-left: 30px;\n position: relative;\n\n b{\n font-size: .6rem;\n }\n\n div {\n display: flex;\n align-items: center;\n text-align: center;\n margin-left: 10px;\n margin-top: 5px;\n\n svg{\n background: red;\n height: 25px;\n width: 25px;\n padding: 5px;\n fill: white;\n border-radius: 4px;\n margin-left: -8px;\n }\n\n p {\n color: red;\n font-size: 1.2rem;\n font-weight: bold;\n margin-left: 13px;\n }\n }\n small {\n display: flex;\n color: gray;\n font-size: .7rem;\n text-align: center;\n margin-top: 5px;\n }\n\n @media(min-width: 703px) and (max-width: 775px){\n b {\n font-size: .5rem;\n }\n\n div p {\n font-size: 1rem;\n }\n\n small{\n font-size: .5rem;\n }\n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px 0px;\n }\n\n @media(max-width: 599px){\n margin: 10px 0 10px 10px;\n }\n\n @media(max-width: 429px){\n margin: 10px;\n }\n\n @media(max-width: 410px){\n margin: 10px 0;\n min-width: 100%;\n }\n`\n\nexport const LineVertical = styled.span`\n width: 6px;\n grid-row: 2/5;\n grid-column: 1/1;\n background: black;\n margin-left: 10px;\n\n @media(max-width: 703px){\n display: none;\n }\n`\n\nexport const LineHorizontal = styled.span`\n position: absolute;\n top: 8px;\n left: -20px;\n height: 3px;\n width: 20px;\n background: black;\n\n @media(max-width: 704px){\n display: none;\n }\n`\n\nexport const CircleLine = styled.span`\n width: 7px;\n height: 7px;\n border-radius: 100%;\n border: 1px solid #000;\n background: white;\n position: absolute;\n left: -2px;\n top: 6px;\n\n @media(max-width: 704px){\n display: none;\n }\n`\n\nexport const Footer = styled.div`\n grid-column: 2/4;\n grid-row: 4/5;\n\n div{\n /* padding: 0 10px; */\n display: flex;\n flex-wrap: wrap;\n justify-content: space-evenly;\n border-radius: 5px;\n flex: 1 1 20%;\n\n div {\n min-height: 100px;\n padding: 5px 10px;\n text-align: center;\n box-shadow: 0 2px 5px rgba(0,0,0,.2);\n }\n }\n\n @media(max-width: 703px){\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n @media(max-width: 410px){\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n`\n\nexport const FooterItem1 = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n background: white;\n max-width: 33%;\n margin-right: 5px;\n\n b {\n font-size: .8rem;\n font-weight: bold;\n }\n\n p{\n color: ${props => props.theme.color.buttonColor};\n font-size: 40px;\n }\n\n @media(max-width: 844px){\n width: 30%;\n }\n\n @media(max-width: 855px){\n p{\n font-size: min(3vw, 40px);\n margin-bottom: 10px;\n } \n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px;\n p{\n margin-bottom: 0px;\n }\n }\n\n @media(max-width: 589px){\n flex: 1 1 100px;\n p{\n font-size: 1.6rem;\n }\n }\n\n @media(max-width: 439px){\n flex: 1 1 50px; \n }\n\n @media(max-width: 410px){\n min-width: 100%;\n margin: 0 10px;\n }\n`\nexport const FooterItem2 = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n background: white;\n max-width: 33%;\n margin-right: 5px;\n margin-left: 5px;\n\n b {\n font-size: .8rem;\n font-weight: bold;\n }\n\n p{\n color: ${props => props.theme.color.buttonColor};\n font-size: 40px;\n }\n\n @media(max-width: 855px){\n p{\n font-size: min(3vw, 25px);\n margin-bottom: 10px;\n } \n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px;\n p{\n margin-bottom: 0px;\n }\n\n b {\n font-size: .7rem;\n font-weight: bold;\n }\n }\n\n @media(max-width: 589px){\n p {\n font-size: 1.4rem;\n }\n /* flex: 1 1 100px; */\n }\n\n @media(max-width: 459px){\n font-size: 1.2rem;\n }\n\n @media(max-width: 410px){\n min-width: 100%;\n margin: 10px 10px;\n font-size: 1.6rem;\n }\n`\nexport const FooterItem3 = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n background: white;\n margin-left: 5px;\n\n b {\n font-size: .8rem;\n font-weight: bold;\n }\n\n p{\n color: ${props => props.theme.color.buttonColor};\n font-size: 40px;\n }\n @media(max-width: 855px){\n p{\n font-size: min(3vw, 40px);\n margin-bottom: 10px;\n } \n }\n\n @media(max-width: 703px){\n flex: 1 1 150px;\n margin: 5px;\n height: 80px;\n p{\n margin-bottom: 0px;\n }\n }\n\n @media(max-width: 589px){\n flex: 1 1 100px;\n p{\n font-size: 1.6rem;\n }\n }\n\n @media(max-width: 439px){\n flex: 1 1 50px;\n }\n\n @media(max-width: 410px){\n min-width: 100%;\n margin: 0 10px;\n }\n`\n\nexport const MobileMenu = styled.div`\n display: flex;\n align-items: flex-end;\n justify-content: end;\n max-width: 92%;\n background: pink;\n text-align: right;\n position: relative;\n`\n\nexport const Menu = styled.menu`\n display: none;\n\n @media(max-width: 672px){\n display: flex;\n position: absolute;\n right: -60px;\n top: 0px;\n border-radius: 50%;\n background: ${props => props.theme.color.buttonColor};\n color: white;\n height: 40px;\n width: 40px;\n box-shadow: 0 3px 5px rgba(0,0,0,.3);\n text-align: center;\n justify-content: center;\n align-items: center;\n }\n\n @media(max-width: 429px){\n right: -35px;\n }\n`\n\nconst showsMenu = keyframes`\n from {\n opacity: 0;\n right: -50px;\n }\n to {\n opacity: 1;\n right: -20px;\n }\n`;\n\n\nexport const ContentMenu = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 300;\n width: 300px;\n height: 200px;\n top: 30px;\n background: white;\n box-shadow: 0 3px 5px rgba(0,0,0,.5);\n animation: ${showsMenu} .4s ease-in forwards;\n padding: 20px;\n border-radius: 5px;\n\n span {\n width: 100%;\n background: #f3f4ed;\n height: 30px;\n display: flex;\n align-items: center;\n justify-content: start;\n text-align: start;\n border-radius: 4px;\n padding: 5px 5px;\n\n b {\n -webkit-box-orient: vertical;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: normal;\n font-size: .7rem;\n }\n }\n\n select {\n width: 100%;\n height: 30px;\n margin: 15px 0;\n border: 1px solid transparent;\n outline: none;\n }\n\n a {\n width: 100%;\n height: 30px;\n font-size: .8rem;\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n color: black;\n border: 1px solid ${props => props.theme.color.buttonColor};\n border-radius: 4px;\n margin-bottom: 15px;\n\n p {\n color: ${props => props.theme.color.buttonColor};\n font-weight: bold;\n }\n }\n\n > div {\n display: flex;\n width: 100%;\n justify-content: center;\n align-items: center;\n height: 30px;\n text-align: center;\n line-height: 30px;\n border: 1px solid ${props => props.status === true ? props.theme.color.greenColor : props.theme.color.buttonColor};\n color: ${props => props.status === true ? props.theme.color.greenColor : props.theme.color.buttonColor};\n border-radius: 4px;\n\n b {\n font-size: .7rem;\n margin: 0;\n padding: 0;\n text-align: center;\n }\n }\n\n @media(max-width: 400px){\n position: absolute;\n left: 0px;\n top: 40px;\n animation: ${showsMenu} .4s ease-in forwards;\n }\n`;\n\nexport const DateCustomMobile = styled.div`\n position: absolute;\n z-index: 20;\n top: 100px;\n /* right: 100%; */\n width: 100% !important;\n height: 200px !important;\n background: white;\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n color: ${props => props.theme.color.blackColor} !important;\n border: 1px solid ${props => props.theme.color.blackColor} !important;\n\n button {\n background: ${props => props.theme.color.blackColor};\n color: white;\n width: 70px;\n height: 25px;\n margin: 10px 0;\n outline: none;\n border: none;\n }\n\n > svg {\n color: ${props => props.theme.color.blackColor};\n position: absolute;\n top: 5px;\n right: 5px;\n }\n`;\n\ninterface TooltipProps {\n isImp: boolean\n}\n\nexport const TooltipDiv = styled.div`\n border-radius: .25rem;\n background: ${props => props.isImp ? '#EA4335' : '#004FAC'};\n color: #fff;\n padding: 1rem;\n box-shadow: 8px 20px 40px 5px rgba(0,0,0,.5);\n display: flex;\n flex-direction: column;\n align-items: flex-start !important;\n justify-content: start !important;\n text-align: start !important;\n`\n\nexport const ErrorSection = styled.section`\n min-height: 300px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n text-align: center;\n\n > p {\n margin-bottom: 20px;\n\n > span {\n font-style: italic;\n }\n }\n`","import styled, {keyframes} from \"styled-components\";\n\nconst isPassing = keyframes`\n from {\n transform: translateX(-100%); \n \n }\n`\n\nexport const PlaceholderMetrics = styled.div`\n min-height: 500px;\n width: 90%;\n margin: 0 auto;\n background: white;\n padding: 10px;\n\n @media(min-width: 450px){\n height: 500px;\n }\n \n`;\n\nexport const GridDiv = styled.div`\n display: grid;\n width: 100%;\n height: 100%;\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: 80px repeat(3, 1fr);\n grid-gap: 10px;\n overflow: hidden;\n\n @media(max-width: 450px){\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n flex-direction: column;\n overflow: hidden;\n height: 100%;\n }\n`\n\nexport const PlaceholderGraph = styled.div`\n grid-row: 2/4;\n grid-column: 2/5;\n background: #DCDCDC;\n overflow: hidden;\n position: relative;\n border-radius: 10px;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center; \n\n > span {\n margin: 8px 10px;\n height: 10px;\n background: #c5c5c5;\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n }\n\n &::before{\n animation: ${isPassing} 1s ease-in infinite;\n background:\n linear-gradient(\n -45deg,\n #E8E8E8 80%,\n #E8E8E8 10%,\n #F8F8F8\n );\n content: '';\n display: block;\n height: 100vh;\n position: absolute;\n width: 80vw;\n }\n\n @media(max-width: 450px)\n {\n height: 200px;\n }\n`;\n\nexport const PlaceholderItem = styled.div`\n background: #DCDCDC;\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: relative;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n \n\n > span {\n margin: 8px 10px;\n height: 10px;\n background: #c5c5c5;\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n }\n\n &::before {\n animation: ${isPassing} 1s ease-in infinite;\n background:\n linear-gradient(\n -45deg,\n #E8E8E8 80%,\n #E8E8E8 10%,\n #F8F8F8\n );\n content: '';\n display: block;\n height: 100vh;\n position: absolute;\n width: 50vw;\n }\n\n @media(max-width: 450px)\n {\n height: 100px;\n }\n`;\n","import { GridDiv, PlaceholderItem, PlaceholderGraph, PlaceholderMetrics } from './styles'\n\nconst index = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default index\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useState, useCallback, useEffect, FC, useMemo } from 'react'\nimport { Aside, AsideItem1, AsideItem2, AsideItem3, AsideItem4, TooltipDiv, ContentGrid, Footer, FooterItem1, FooterItem2, FooterItem3, Graph, ItemTitle1, ItemTitle2, ItemTitle3, ItemTitle4, Title, Menu, MobileMenu, ContentMenu, LineVertical, LineHorizontal, CircleLine, Select, DateCustom, DateCustomMobile, ErrorSection } from './styles'\nimport { FaCaretDown, FaCaretUp, FaCalendarAlt, FaEye, FaMousePointer, FaExchangeAlt, FaDollarSign, FaTimes, FaBars } from 'react-icons/fa'\nimport { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';\nimport { DATA_CAMPAIGN, GET_CAMPAIGN } from '../../../api';\nimport { useNavigate } from 'react-router-dom';\nimport { formatRelative, subDays } from 'date-fns';\nimport { format } from \"date-fns-tz\";\nimport PlaceholderMetrics from '../Shared/PlaceholderMetrics';\n\nconst Index: FC = () => {\n const [index, setIndex] = useState(0);\n const [showAds, setShowAds] = useState(false);\n const [inputImp, setinputImp] = useState(false);\n const [inputClick, setinputClick] = useState(false);\n const [menuOpen, setMenuOpen] = useState(false);\n const [status, setStatus] = useState(true);\n const [hideMenu, setHideMenu] = useState(null);\n const [dataGraph, setDataGraph] = useState(true);\n const [arrData, setArrData] = useState([]);\n const [showDates, setShowDates] = useState(false);\n const [dateCustom, showDateCustom] = useState(false);\n const [dateCustomMobile, showDateCustomMobile] = useState(false);\n const [campaignData, setCampaignData] = useState(null)\n const [loading, setLoading] = useState(false)\n const [dateStart, setDateStart] = useState(null);\n const [dateEnd, setDateEnd] = useState(null);\n const [error, setError] = useState(null)\n const navigate = useNavigate();\n\n let arr: any[] = useMemo(() => { return [] }, []);\n\n // chamada da API para obter os dados da campanha\n async function getCampaignData(dateStart: string, dateEnd: string) {\n let response;\n let json;\n try {\n // esta chamada é para verificar se o usuário tem uma campanha, caso não tenha, será redirecionado para a tela de criar\n response = await fetch(`${DATA_CAMPAIGN}/${dateStart}/${dateEnd}`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n\n if (response.status === 401 || response.status === 403) {\n navigate('/login');\n return;\n }\n\n json = await response.json()\n\n if (response.status === 500) {\n setError(\"Esta conta está desativada. Entre em contato com o suporte para prosseguir.\")\n }\n\n if (json.success === false && json.error_message.includes(\"haven't an account\")) {\n setLoading(false)\n setShowDates(false)\n navigate('/criar')\n } else if (json.success === false) {\n setLoading(false)\n setError(json.error_message)\n }\n\n // se não teve nenhuma métrica, esta chamada é feita para obter os dados necessários e depois realizamos o seed da campanha com dados zerados\n else if (json.content.length < 1) {\n let response = await fetch(GET_CAMPAIGN, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n\n let body = await response.json()\n\n seedCampaign(body);\n setLoading(false)\n } else {\n setCampaignData(json)\n setShowDates(false)\n setMenuOpen(false)\n setLoading(false)\n window.localStorage.setItem('userAdsAccountId', json.content[0].userAdsAccountId)\n }\n\n } catch (e: any) {\n setLoading(false)\n if (e.message === 'AbortError') {\n } else {\n setError(e.message)\n }\n }\n }\n\n // inserindo dados zerados na campanha quando a campanha não teve nenhuma metrica\n function seedCampaign(body: any) {\n let content = body['content'];\n window.localStorage.setItem('userAdsAccountId', content[\"userAdsAccountId\"]);\n\n let dataCampaign = {\n success: true,\n error_message: \"\",\n content: [\n {\n userAdsAccountId: content[\"userAdsAccountId\"],\n creditAvaiable: 0,\n googleCampaingId: content[\"campaignId\"],\n campaingName: content[\"adGroup\"][\"name\"],\n impressions: 0,\n clicks: 0,\n conversions: 0,\n costPerConversion: 0,\n conversionRate: 0,\n invoice: 0,\n averageTicket: 0,\n keywords: [\n \"\"\n ],\n ads: [\n {\n url: content[\"ads\"][0][\"finalUrls\"],\n title: `${content[\"ads\"][0][\"headlinePart1\"]} ${content[\"ads\"][0][\"headlinePart2\"]} ${content[\"ads\"][0][\"headlinePart3\"]}`,\n description: `${content[\"ads\"][0][\"description\"]} ${content[\"ads\"][0][\"description2\"]}`\n },\n {\n url: content[\"ads\"][1][\"finalUrls\"],\n title: `${content[\"ads\"][1][\"headlinePart1\"]} ${content[\"ads\"][1][\"headlinePart2\"]} ${content[\"ads\"][1][\"headlinePart3\"]}`,\n description: `${content[\"ads\"][1][\"description\"]} ${content[\"ads\"][1][\"description2\"]}`\n }\n ],\n metrics: [\n {\n impressions: 0,\n clicks: 0,\n conversions: 0,\n costPerConversion: 0,\n cost: 0,\n date: `${new Date()}`\n }\n ]\n }\n ]\n }\n setCampaignData(dataCampaign)\n setShowDates(false)\n setMenuOpen(false);\n setLoading(false)\n }\n\n\n // definindo a data para chamar a função e obter as métricas\n async function defineDate(days: any) {\n setLoading(true)\n let date = Date.now();\n const lastDate = format(date, 'yyyy-MM-dd');\n const initialDate = formatRelative(subDays(date, days), new Date())\n const dateStarted = format(Date.parse(initialDate), 'yyyy-MM-dd')\n window.localStorage.setItem(\"searchedDays\", days);\n\n getCampaignData(dateStarted, lastDate);\n }\n\n // inserindo valor no input do gráfico\n const handleClick = useCallback(() => {\n setinputImp(!inputImp);\n setinputClick(!inputClick);\n\n }, [inputImp, inputClick],\n )\n\n // adicionando o 0 quando o dia for menor de 10\n function setDay(date: string) {\n\n let d = new Date(date);\n let day = d.getDate();\n let month = d.getMonth() + 1;\n if (day < 10) {\n if (month < 10)\n return `0${day}/0${month}`;\n return `0${day}/${month}`;\n\n } else {\n if (month < 10)\n return `${day}/0${month}`;\n return `${day}/${month}`;\n }\n }\n\n // inserindo os dados no gráfico\n const seedDataGraph = useCallback(() => {\n arr = [];\n if (campaignData !== null && campaignData.content !== null) {\n campaignData.content[index].metrics.map((item: any) => (\n arr.push({ impressoes: item.impressions, cliques: item.clicks, day: setDay(item.date) })\n ))\n if (arr.length > 0) {\n setArrData(arr)\n setDataGraph(false)\n }\n }\n }, [arr, index, campaignData])\n\n // modificando o tooltip do gráfico\n function CustomToolTip({ active, payload, label }: any) {\n if (active) {\n return (\n \n

Dia: {label}

\n

{inputClick ? 'Cliques: ' : 'Impressões: '}{payload[0].value}

\n
\n )\n }\n\n return null;\n }\n\n // essa função será chamada quando alterar a dataEnd para chamar a API\n function customPeriod() {\n if (dateEnd !== null && dateStart !== null) {\n showDateCustom(false)\n showDateCustomMobile(false)\n setShowDates(false)\n setLoading(true)\n var currentDateStart = Date.parse(`${dateStart} 03:00:00`);\n var currentDateEnd = Date.parse(`${dateEnd} 23:59:59`);\n window.localStorage.setItem(\"searchedDays\", `De ${new Date(currentDateStart).toLocaleDateString()} até ${new Date(currentDateEnd).toLocaleDateString()}`);\n getCampaignData(dateStart, dateEnd);\n }\n }\n\n // esse useEffect será chamado quando tiver dados na campanha\n useEffect(() => {\n if (campaignData != null)\n seedDataGraph()\n }, [campaignData])\n\n // esse useEffect será chamado quando o index mudar\n useEffect(() => {\n window.scroll({ top: 0, behavior: 'smooth' })\n }, [index])\n\n // esse useEffect será chamado sempre que a tela carregar\n useEffect(() => {\n setinputImp(true);\n setStatus(true);\n defineDate(30);\n setShowDates(false);\n setMenuOpen(false);\n window.localStorage.removeItem('url');\n window.scroll({ top: 0, behavior: 'smooth' });\n }, [])\n\n useEffect(() => {\n if (error !== null)\n setLoading(false)\n }, [error])\n\n if (loading) return \n\n if (error) return

Ocorreu um erro ao buscar as informações: {error}

Se o erro persistir, entre em contato com nosso time.

\n\n if (campaignData === null) return

Nenhum dado encontrado! CamapignData igual a null

\n\n if (campaignData.content === null) return

Nenhum dado encontrado!

\n\n return (\n
\n \n \n <ItemTitle1 className={\"removeSelection\"} title={`Campanha ID: ${campaignData.content[index].googleCampaingId}`}>\n <b>{campaignData.content[index].campaingName}</b>\n {showAds && <ul>\n {campaignData.content.map((item: any, index: any) => (\n <li key={item.googleCampaingId} onClick={() => {\n setIndex(index)\n setShowAds(false)\n }}>{item.campaingName}</li>\n ))}\n </ul>\n }\n {campaignData.content.length === 1 ? null :\n showAds ? <FaCaretUp /> : <FaCaretDown />\n }\n </ItemTitle1>\n\n <ItemTitle2 className={\"removeSelection\"}>\n <p onClick={() => {\n if (dateCustom) {\n showDateCustom(false)\n }\n setShowDates(!showDates);\n\n }}>{window.localStorage.getItem(\"searchedDays\")?.includes('De') ? window.localStorage.getItem(\"searchedDays\") : `Últimos ${window.localStorage.getItem(\"searchedDays\")} dias`}</p>\n <FaCalendarAlt onClick={() => {\n if (dateCustom) {\n showDateCustom(false)\n }\n setShowDates(!showDates);\n\n }} />\n <Select show={showDates}>\n <p onClick={() => {\n defineDate(7)\n }}>7 dias</p>\n <p onClick={() => {\n defineDate(15)\n }}>15 dias</p>\n <p onClick={() => {\n defineDate(30)\n }}>30 dias</p>\n <p onClick={() => {\n defineDate(60)\n }}>60 dias</p>\n <p onClick={() => {\n showDateCustom(true)\n setShowDates(false)\n }}>Personalizado</p>\n </Select>\n {dateCustom &&\n <DateCustom>\n <div>\n <label htmlFor=\"dateStart\">Data de início:</label>\n <input type=\"date\" data-date-inline-picker=\"true\" name=\"dateStart\" onChange={({ target }) => setDateStart(target.value)} />\n </div>\n <div>\n <label htmlFor=\"dateEnd\">Data de término:</label>\n <input type=\"date\" data-date-inline-picker=\"true\" name=\"dateEnd\" onChange={({ target }) => setDateEnd(target.value)} />\n </div>\n <button onClick={customPeriod}>Filtrar</button>\n\n <span onClick={() => showDateCustom(false)}><FaTimes /></span>\n </DateCustom>}\n </ItemTitle2>\n <ItemTitle3><a href={`http://${window.localStorage.getItem('menudino')}.menudino.com`} target=\"_blank\" rel=\"noreferrer\"><span>{window.localStorage.getItem('menudino')}</span>.menudino.com</a></ItemTitle3>\n <ItemTitle4 className={\"removeSelection\"} status={status}><span>•</span> {status ? 'Ativa' : 'Expirada'}</ItemTitle4>\n\n \n \n {\n setMenuOpen(!menuOpen);\n if (menuOpen === true) {\n setHideMenu(null);\n } else {\n setHideMenu(true);\n }\n }}>\n {menuOpen ?\n : \n }\n \n {menuOpen ?\n \n \n {campaignData.content[index].campaingName}\n \n \n {dateCustomMobile &&\n \n \n setDateStart(target.value)} />\n\n \n setDateEnd(target.value)} />\n \n showDateCustomMobile(false)} />\n \n }\n app.menudino.com/

{window.localStorage.getItem('menudino')}

\n
\n {status ? 'Campanha Ativa' : 'Campanha expirada'}\n
\n
: null\n }\n
\n\n {dataGraph ?

Carregando...

:\n \n
\n Evolução no período\n
\n Impressões
\n Cliques
\n
\n
\n \n \n \n \n \n \n } />\n {inputImp && }\n {inputClick && }\n \n \n \n
}\n \n \n
\n
\n \n Investimento\n

R$ {campaignData.content[index].invoice.toFixed(2).toString().replace('.', ',')}

\n
\n \n Por Pedido\n

R$ {campaignData.content[index].costPerConversion.toFixed(2).toString().replace('.', ',')}

\n
\n \n Por Clique\n

R$ {campaignData.content[index].averageTicket.toFixed(2).toString().replace('.', ',')}

\n
\n
\n
\n\n
\n\n
\n )\n}\n\nexport default Index","import styled from 'styled-components';\n\nexport const Container = styled.section`\n max-width: 1200px;\n margin: 0 auto;\n padding: 0 20px;\n padding-top: 5rem;\n height: 100%;\n`;","import styled, { keyframes } from 'styled-components';\n\nexport const ContentFlex = styled.div`\n max-width: 1200px;\n border-top: 2px solid white;\n position: relative;\n\n @media(min-width: 731px){ \n margin: 20px;\n }\n`\n\nexport const H1 = styled.h1`\n padding-left: 50px;\n margin-top: 40px;\n width: 100%;\n margin-bottom: 20px;\n`\n\nexport const Items = styled.section`\n max-width: 1200px;\n margin: 0 auto;\n overflow: hidden;\n @media(min-width: 731px){\n margin: 0 10px 0 30px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @media(max-width: 769px){\n margin: 0 10px;\n }\n\n @media(max-width: 730px){\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 0 30px;\n }\n\n @media(max-width: 429px){\n margin: 0;\n }\n`\n\nexport const Item1 = styled.div`\n display: flex;\n flex-direction: column;\n background: white;\n max-width: 380px;\n min-width: 310px;\n min-height: 270px;\n flex: 1 1 350px;\n margin: 10px;\n border-radius: 5px;\n justify-content: flex-start;\n flex-wrap: wrap;\n overflow: hidden;\n font-size: .8rem;\n\n @media(min-width: 900px){\n max-width: 500px;\n }\n\n @media(max-width: 879px){\n min-width: 300px;\n flex: 1 1 300px;\n }\n\n @media(max-width: 730px){\n width: 100%;\n flex: 1;\n }\n`\nexport const Div1 = styled.div`\n display: flex;\n overflow: hidden;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 20px;\n border-bottom: .1rem solid #D4D4DB33;\n font-size: 1.2rem;\n > div {\n display: flex;\n align-items: center;\n }\n`\n\nexport const Div2 = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 20px;\n /* margin-top: 30px; */\n flex-wrap: wrap;\n\n .div1 {\n display: flex;\n flex-direction: column;\n width: 50%;\n margin-top: 20px;\n width: 50%;\n\n b {\n font-size: 18px;\n }\n\n span {\n color: ${props => props.theme.color.buttonColor};\n font-weight: bold;\n font-size: 30px;\n }\n\n @media(max-width: 821px) and (min-width: 731px) {\n span {\n font-size: 26px;\n }\n }\n\n @media(max-width: 365px) {\n span {\n font-size: 26px;\n }\n }\n } \n\n > button {\n margin-top: 30px;\n cursor: pointer;\n max-width: 200px;\n background: black;\n color: white;\n height: 40px;\n border-radius: 20px;\n transition: .3s;\n outline: none;\n padding: 0 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n\n &:hover{\n filter: brightness(150%);\n }\n }\n\n > p a {\n text-decoration: none;\n color: black;\n }\n\n @media(max-width: 1008px){\n align-items: center;\n justify-content: center;\n\n div{\n width: 100%;\n }\n }\n\n .div2 {\n width: 50%;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: space-between;\n text-align: end;\n\n p {\n font-size: 12px;\n margin: 0\n }\n\n span{\n font-weight: bold; \n }\n }\n`\n\ninterface AutoRechargeProps {\n isLoading: boolean\n}\n\nexport const AutoRecharge = styled.div`\n padding: 20px;\n display: flex;\n align-items: ${props => props.isLoading ? \"center\" : \"flex-start\"}; \n justify-content: ${props => props.isLoading ? \"center\" : \"pace-between\"};\n flex-direction: column;\n flex-wrap: wrap; \n border-top: 1px solid rgba(200, 200, 200, .6);\n margin-top: 20px;\n\n > div:not(.changeValue) {\n //flex: 1 1 1 100px; \n\n > p {\n cursor: pointer;\n border: 1px solid transparent;\n padding: 5px 5px;\n border-radius: 5px;\n color: #f4f4f4;\n background-color: ${props => props.theme.color.redColor}; \n }\n\n > span {\n font-weight: 700;\n margin-bottom: 10px;\n }\n\n > span > b {\n margin-bottom: 10px;\n color: ${props => props.theme.color.blueColor};\n\n &:not(.activate) {\n color: ${props => props.theme.color.redColor};\n }\n }\n\n @media(max-width: 1100px){\n }\n\n @media(max-width: 730px){\n display: flex;\n flex-direction: column;\n }\n }\n`;\n\nexport const ChangeValue = styled.div`\n height: 30px;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n margin-top: 15px;\n color: ${props => props.theme.color.blackColor};\n cursor: pointer; \n transition: .3s;\n position: relative;\n\n &:hover {\n color: ${props => props.theme.color.blueColor}\n }\n\n > select {\n position: absolute;\n top: 23px;\n width: 100%;\n border: none;\n }\n\n > p:has(span) {\n background-color: ${props => props.theme.color.blueColor};\n color: #f4f4f4;\n padding: 5px 3px;\n border-radius: 5px;\n text-align: center;\n font-size: .7rem;\n font-weight: 600;\n }\n`;\n\nexport const Div3 = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 20px;\n border-bottom: .1rem solid #D4D4DB33;\n\n > div {\n display: flex;\n flex-direction: column;\n\n span {\n color: ${props => props.theme.color.buttonColor};\n font-size: 24px;\n }\n\n @media(max-width: 400px){\n span {\n font-size: 20px;\n }\n }\n }\n`\n\nexport const Item2 = styled.div`\n display: flex;\n flex-direction: column;\n max-width: 380px;\n min-width: 310px;\n background: white;\n margin: 10px;\n padding: 20px 30px 20px 20px;\n align-items: flex-start;\n justify-content: flex-start;\n min-height: 240px;\n border-radius: 5px;\n flex: 1 1 350px; \n\n div {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: auto;\n\n svg {\n height: 30px;\n width: 30px;\n cursor: pointer;\n }\n\n svg:last-of-type{\n margin-left: -10px;\n }\n\n article{\n margin: 20px;\n font-size: .8rem;\n b > span{\n font-weight: normal;\n color: black;\n margin-bottom: 10px;\n cursor: pointer;\n }\n\n span {\n color: ${props => props.theme.color.blueColor};\n font-weight: bold;\n }\n\n p{\n color: #303030;\n }\n }\n }\n\n @media(min-width: 900px){\n max-width: 500px;\n }\n\n @media(max-width: 879px){\n flex: 1 1 300px;\n }\n\n @media(max-width: 730px){\n width: 100%;\n }\n`\n\nexport const Item3 = styled.div`\n display: flex;\n background: white;\n max-width: 380px;\n min-width: 310px;\n min-height: 240px;\n flex: 1 1 400px;\n border-radius: 5px;\n flex-direction: column;\n flex-wrap: wrap;\n margin: 10px;\n padding: 10px;\n font-size: .7rem; \n\n b {\n margin-top: 10px;\n margin-bottom: 20px;\n }\n\n div{\n display: flex;\n flex: 1 1 100px;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-evenly;\n /* width: 100%; */\n p{\n color: #171B29;\n margin: 8px;\n }\n }\n\n @media(min-width: 900px){\n max-width: 500px;\n min-height: 280px;\n }\n\n @media(max-width: 879px){\n flex: 1 1 300px;\n }\n\n @media(max-width: 730px){\n width: 100%;\n }\n\n @media(max-width: 361px){\n font-size: .6rem;\n }\n`\n\nexport const Item4 = styled.div`\n display: flex;\n background: white;\n max-width: 380px;\n min-width: 310px;\n min-height: 280px;\n flex: 1 1 400px;\n flex-direction: column;\n font-size: .7rem;\n padding: 20px;\n margin: 10px;\n \n b{\n margin-bottom: 20px;\n }\n\n img{\n /* max-width: 380px; */\n filter: blur(2px)\n }\n\n @media(min-width: 900px){\n max-width: 500px;\n }\n\n @media(max-width: 879px){\n min-width: 300px;\n flex: 1 1 350px;\n }\n \n @media(max-width: 730px){\n width: 100%;\n }\n`\n\nexport const Toggle = styled.div`\n width: 35px;\n height: 20px;\n border-radius: 40px;\n border: 1px solid black;\n position: relative;\n margin-left: 20px;\n`;\n\nexport const CircleToogle = styled.div`\n border-radius: 50%;\n background: ${props => props.theme.color.buttonColor};\n width: 14px;\n height: 14px;\n position: absolute;\n right: 1.8px;\n bottom: 1.3px;\n`;\n\ninterface ModalProps {\n modal: any\n}\n\nconst modalShow = keyframes`\n from{\n top: 500px;\n opacity: .5;\n } to {\n opacity: 1;\n top: 0px;\n }\n`;\n\nconst modalOut = keyframes`\n from{\n top: 0px;\n opacity: 1;\n } to {\n top: 800px;\n opacity: .5;\n }\n`;\n\nexport const Modal = styled.section`\n position: fixed; \n left: 0;\n width: 100vw;\n height: 100%;\n background: #171B29CC;\n z-index: 1000;\n margin: 0 auto;\n display: ${props => props.modal === 'hide' ? 'none' : 'flex'};\n align-items: center;\n justify-content: center;\n \n animation: ${props => props.modal === true ? modalShow : modalOut} .3s ease-out forwards ;\n`;\n\n\nexport const ModalContent = styled.div`\n position: relative;\n width: max(320px, 80%);\n background: white;\n border-radius: 10px;\n height: min(80%, 700px);\n overflow-y: none;\n padding-bottom: 30px;\n\n > div > div:hover:not(.content) {\n transition: .3s;\n\n &:hover{\n transform: scale(1.2) !important;\n }\n }\n\n .title {\n margin-top: 30px;\n margin-left: 50px;\n\n b {\n font-size: 1.2rem;\n }\n\n p {\n margin-top: 10px;\n }\n\n .content {\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n @media (max-width: 460px) {\n padding: 20px;\n span { \n margin-bottom: 20px;\n }\n }\n }\n\n .content:has(span, p) {\n margin-top: 150px;\n\n @media (max-width: 760px) {\n margin-top: 30px;\n }\n }\n\n .content span {\n height: 50px;\n width: 100px;\n background-color: #f4f4f4;\n border: 1px solid ${props => props.theme.color.blackColor};\n border-radius: 5px;\n line-height: 50px;\n margin-right: 30px;\n cursor: pointer;\n box-shadow: 2px 2px 5px rgba(0,0,0,0.4);\n }\n\n .content p {\n height: 50px;\n width: 200px;\n background-color: ${props => props.theme.color.redColor};\n border: 1px solid ${props => props.theme.color.redColor};\n border-radius: 5px;\n margin-top: 0;\n line-height: 50px;\n color: #ffffff;\n cursor: pointer;\n box-shadow: 2px 2px 5px rgba(0,0,0,0.4);\n }\n\n @media(max-width: 570px){\n margin-right: 0px;\n margin-top: 20px;\n width: 80%;\n height: 180px;\n } \n }\n\n .footer {\n margin-top: 100px;\n font-size: medium;\n }\n\n .content{\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 70px;\n\n @media(max-width: 900px){\n flex-wrap: wrap;\n }\n }\n\n @media(max-width: 900px){\n overflow-y: scroll;\n }\n`;\n\nexport const Close = styled.div`\n position: absolute;\n right: 20px;\n top: 15px;\n background: black;\n font-weight: bold;\n color: white;\n width: 30px;\n height: 30px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: .5s;\n\n :hover{\n filter: brightness(150%);\n }\n`;\n\ninterface MessageProps {\n success: boolean,\n status: any\n}\n\nconst animeIn = keyframes`\n from {\n right: -150px;\n } to {\n right: 30px;\n }\n`\n\nconst animeOut = keyframes`\n from {\n right: 30px;\n } to {\n right: -300px;\n }\n`\n\nexport const Message = styled.div`\n display: ${props => props.status === false ? 'none' : 'flex'};\n position: fixed;\n animation: ${props => props.status === 'hide' ? animeOut : animeIn} 1s ease-out forwards;\n top: 80px;\n right: 50px;\n width: 300px;\n align-items: center;\n justify-content: start;\n padding: 0 10px;\n border-radius: 5px;\n border: 1px solid ${props => props.success === false ? '#772e25' : \"#10451d\"};\n background: ${props => props.success === false ? '#c44536' : \"#1a7431\"};\n height: 80px;\n color: white;\n box-shadow: 2px 3px 8px rgba(0,0,0,0.6);\n`\n\nconst anime = keyframes`\n to {\n transform: rotate(360deg);\n }\n`\n\nexport const Spin = styled.div`\n border: 5px solid rgba(0,0,0, .1); \n border-left-color: ${props => props.theme.color.blackColor}; \n width: 50px;\n height: 50px;\n border-radius: 50%;\n animation: ${anime} 1s linear infinite;\n`;","import styled, {keyframes} from \"styled-components\";\n\nconst isPassing = keyframes`\n from {\n transform: translateX(-100%); \n }\n`\n\nexport const PlaceholderAd = styled.div`\n display: flex;\n width: 100%;\n height: 60%;\n margin-top: 20px;\n align-items: start !important;\n justify-content: space-between;\n flex-direction: column;\n padding: 0 20px;\n overflow: hidden;\n text-align: start;\n\n > span{\n background: #c5c5c5;\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n text-align: start;\n\n &::before{\n animation: ${isPassing} .8s ease-in infinite;\n background:\n linear-gradient(\n to right,\n transparent,\n #fff 10%,\n transparent\n );\n content: '';\n display: block;\n height: 100vh;\n position: absolute;\n width: 100vw;\n }\n }\n`","import { PlaceholderAd } from './styles'\n\n\nconst index = () => {\n return (\n \n \n \n
\n \n \n \n\n
\n )\n}\n\nexport default index\n","import styled, { keyframes } from \"styled-components\";\n\nconst isPassing = keyframes`\n from {\n transform: translateX(-100%); \n }\n`\n\nexport const PlaceholderCredit = styled.div`\n display: flex;\n width: 100%;\n height: 50%;\n margin-top: 20px;\n align-items: center;\n justify-content: space-between;\n padding: 0 20px;\n overflow: hidden;\n\n > span{\n height: 30px;\n background: #c5c5c5;\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n\n &::before{\n animation: ${isPassing} .8s ease-in infinite;\n background:\n linear-gradient(\n to right,\n transparent,\n #fff 10%,\n transparent\n );\n content: '';\n display: block;\n height: 100vh;\n position: absolute;\n width: 100vw;\n }\n }\n`\n\nexport const Placeholder = styled.div`\n height: 50px;\n border-radius: 5px;\n position: relative;\n overflow: hidden;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n \n\n > span{\n height: 20px;\n background: #c5c5c5;\n border-radius: 5px;\n overflow: hidden;\n position: relative;\n\n &::before{\n animation: ${isPassing} .8s ease-in infinite;\n background:\n linear-gradient(\n to right,\n transparent,\n #fff 50%,\n transparent\n );\n content: '';\n display: block;\n height: 100vh;\n position: absolute;\n width: 100vw;\n }\n }\n`;","import { PlaceholderCredit, Placeholder } from './styles'\n\nconst index = () => {\n return (\n \n \n \n \n \n \n \n )\n}\n\nexport default index\n","import styled from \"styled-components\";\n\nexport const PlaceholderComponentCreditAd = styled.div`\n max-width: 1200px;\n border-top: 2px solid white;\n position: relative;\n\n @media(min-width: 731px){ \n margin: 20px;\n }\n`","import { Div1, H1, Item1, Item2, Items } from '../../SectionTwo/styles'\nimport PlaceholderAd from '../PlaceholderAd'\nimport PlaceholderCredit from '../PlaceholderCredit'\nimport { PlaceholderComponentCreditAd } from './styles'\n\nconst index = () => {\n return (\n \n

Informações da Campanha

\n \n \n \n Orçamento\n \n \n \n \n Meus anúncios\n \n \n \n
\n )\n}\n\nexport default index\n","export class GetUserData {\n success: boolean;\n errorMessage: string;\n content: Content\n\n constructor(success: boolean, errorMessage: string, content: Content) {\n this.success = success\n this.errorMessage = errorMessage\n this.content = content\n }\n\n static fromJson(json: any): GetUserData {\n return new GetUserData(json[\"success\"], json[\"error_message\"], json[\"content\"])\n }\n}\n\nexport class Content {\n userId: string\n username: string\n name: string\n consumerId: string\n menuId: string\n menuUrl: string\n menuTitle: string\n adsCreationCurrentStep: Number\n autoRechargeConfig: RechargeConfig\n\n constructor(userId: string, username: string, name: string, consumerId: string, menuId: string, menuUrl: string, menuTitle: string, adsCreationCurrentStep: Number, autoRechargeConfig: RechargeConfig) {\n this.userId = userId\n this.username = username\n this.name = name\n this.consumerId = consumerId\n this.menuId = menuId\n this.menuUrl = menuUrl\n this.menuTitle = menuTitle\n this.adsCreationCurrentStep = adsCreationCurrentStep\n this.autoRechargeConfig = RechargeConfig.fromJson(autoRechargeConfig)\n }\n\n static fromJson(json: any): Content {\n\n return new Content(json.userId, json.username, json.name, json.consumerId, json.menuId, json.menuUrl, json.menuTitle, json.adsCreationCurrentStep, json.autoRechargeConfig)\n }\n}\n\nclass RechargeConfig {\n createdAt: Date\n amount: Number\n creditCard: CreditCard\n\n constructor(createdAt: Date, amount: Number, creditCard: CreditCard) {\n this.createdAt = createdAt\n this.amount = amount\n this.creditCard = CreditCard.fromJson(creditCard)\n }\n\n static fromJson(json: any): RechargeConfig {\n return new RechargeConfig(json[\"createdAt\"], json[\"amount\"], json[\"creditCard\"])\n }\n}\n\nexport class CreditCard {\n externalId: string\n maskedNumber: string\n expiration: string\n brand: string\n holderName: string\n\n constructor(externalId: string, maskedNumber: string, expiration: string, brand: string, holderName: string) {\n this.externalId = externalId\n this.maskedNumber = maskedNumber\n this.expiration = expiration\n this.brand = brand\n this.holderName = holderName\n }\n\n static fromJson(json: any): CreditCard {\n return new CreditCard(json[\"externalId\"], json[\"maskedNumber\"], json[\"expiration\"], json[\"brand\"], json[\"holderName\"])\n }\n}","/* eslint-disable react-hooks/exhaustive-deps */\nimport { FC, useState, useEffect, useCallback } from 'react'\nimport { ContentFlex, H1, Item1, Div1, Div2, Item2, Items, Modal, ModalContent, Close, AutoRecharge, ChangeValue, Spin } from './styles'\nimport { FaCaretLeft, FaCaretRight } from 'react-icons/fa'\nimport { GET_INFOS, GET_USER_DATA, REMOVE_AUTO_RECHARGE, UPDATE_AUTO_RECHARGE_AMOUNT } from '../../../api';\nimport { useNavigate } from 'react-router-dom';\nimport ContentPlaceholder from '../Shared/PlaceholderComponentCreditAd';\nimport CardPlans from '../../../Campaing/Shared/CardPlans';\nimport { GetUserData } from '../../../Models/Responses/GetUserData';\n\nconst Index: FC = () => {\n\n const [ads, setAds] = useState(1);\n const [modal, showModal] = useState(\"hide\")\n const [modalDisableAutoRecharge, setModalDisableAutoRecharge] = useState()\n const [data, setData] = useState(null)\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [selectedPriceUpdate, setSelectedPriceUpdate] = useState()\n const [changeValue, setChangeValue] = useState(false)\n const [userDataAutoRecharge, setUserDataAutoRecharge] = useState()\n const [loadingRecharge, setLoadingRecharge] = useState(false)\n const navigate = useNavigate();\n\n async function getUserData() {\n let resp, json;\n\n try {\n resp = await fetch(GET_USER_DATA, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n });\n\n if (resp.ok || resp.status === 200) {\n json = await resp.json()\n setUserDataAutoRecharge(GetUserData.fromJson(json))\n } else {\n setError(`${resp.status}`)\n }\n } catch (e: any) {\n setError(e.message)\n } finally {\n setLoading(false)\n }\n }\n\n async function getInfos() {\n let response;\n let json;\n\n try {\n setLoading(true);\n response = await fetch(GET_INFOS, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n });\n\n json = await response.json();\n if (response?.status === 401 || response?.status === 403) {\n navigate('/login');\n } else if (response?.status === 404) {\n setError(\"Não há informações para esta conta!\")\n setLoading(false);\n } else if (response?.status === 500) {\n setError(\"Esta conta está desativada. Entre em contato com o suporte para prosseguir.\");\n setLoading(false);\n } else if (response.ok) {\n setData(json);\n setLoading(false);\n } else {\n setError(json[\"error_message\"])\n setData(null);\n setLoading(false);\n }\n } catch (e: any) {\n if (response?.status === 404) {\n setError(\"Não há informações para esta conta!\")\n setLoading(false);\n } else if (response?.status === 401 || response?.status === 403) {\n navigate('/login')\n } else {\n setError(e.message)\n setLoading(false);\n }\n } finally {\n getUserData();\n }\n }\n\n async function desactivateAutoRecharge() {\n let response;\n setLoadingRecharge(true)\n try {\n response = await fetch(REMOVE_AUTO_RECHARGE, {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n });\n\n if (response.status === 401 || response.status === 403) {\n navigate(\"/login\")\n } else if (response.ok || response.status === 204) {\n window.location.reload();\n } else {\n setError(\"Ocorreu um erro ao desativar a recarga automática, tente novamente.\")\n }\n } catch (e: any) {\n setError(\"Ocorreu um erro ao desativar a recarga automática: \" + e.message)\n } finally {\n setLoadingRecharge(false)\n }\n }\n\n async function updateAutoRecharge(amount: number) {\n let response;\n\n setLoadingRecharge(true)\n\n try {\n response = await fetch(`${UPDATE_AUTO_RECHARGE_AMOUNT}?amount=${amount}`, {\n method: 'PUT',\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`,\n 'Content-Type': 'application/json'\n }\n });\n\n if (response.status === 401 || response.status === 403) {\n navigate(\"/login\")\n } else if (response.ok || response.status === 204) {\n window.location.reload();\n } else {\n setError(\"Ocorreu um erro ao desativar a recarga automática, tente novamente.\")\n }\n } catch (e: any) {\n setError(e.message)\n } finally {\n setLoadingRecharge(false)\n }\n }\n\n\n async function click(amount: Number) {\n\n localStorage.setItem(\"valorEscolhido\", `${amount}`);\n document.body.style.overflowY = 'scroll';\n\n navigate(\"/checkout\");\n }\n\n useEffect(() => {\n getInfos();\n }, [])\n\n useEffect(() => {\n if (modal === true) {\n document.body.style.overflowY = 'hidden';\n } else {\n document.body.style.overflowY = 'scroll';\n }\n return () => {\n\n }\n }, [modal])\n\n const handleClick = useCallback((e) => {\n if (e.currentTarget === e.target) {\n document.body.style.overflowY = 'scroll';\n showModal(false);\n setModalDisableAutoRecharge(false)\n setTimeout(() => {\n showModal('hide');\n }, 200);\n }\n }, [])\n\n useEffect(() => {\n if (error !== null)\n setLoading(false)\n }, [error])\n\n if (error) return \n

Informações da Campanha

\n \n \n \n Orçamento\n :\n \n

{error}

\n
\n
\n \n Meus anúncios (0 de 0)\n
\n

{error}

\n
\n
\n
\n
\n\n if (loading) return \n\n if (data === null) return \n\n if (data.content === null) return

Nenhum dado encontrado!

\n\n return (\n \n {/* \n {statusRecharge !== 'hide' && statusRecharge !== false &&

{statusRecharge}

}\n
*/}\n handleClick(e)}>\n \n {\n showModal(false);\n setTimeout(() => {\n showModal('hide');\n }, 200);\n }\n }>X\n
\n Adicionar crédito para minha campanha\n
\n\n {\n // paymentLoading ?
\n // \n //

Processando dados para pagamento, aguarde!

\n // :\n
\n click(150)} fee=\"7,50\" price={150} spendDay={5} totalPrice={\"142,50\"} />\n click(300)} fee=\"15,00\" price={300} spendDay={10} totalPrice={\"285,00\"} />\n click(600)} fee=\"30,00\" price={600} spendDay={20} totalPrice={\"570,00\"} />\n click(1200)} fee=\"60,00\" price={1200} spendDay={30} totalPrice={\"1.140,00\"} />\n
\n }\n
\n

Todas opções representam aproximadamente 30 dias de campanha

\n
\n
\n
\n\n {modalDisableAutoRecharge &&\n handleClick(e)}>\n \n {\n setModalDisableAutoRecharge(false);\n }\n }>X\n
\n Deseja desativar a recarga automática de sua campanha?\n
\n Voltar\n

desactivateAutoRecharge()}>Sim, desativar

\n
\n
\n
\n

Para reativar a recarga automática, você precisará realizar um novo pagamento marcando a opção de recarga automática.

\n
\n
\n
\n }\n\n

Informações da Campanha

\n\n \n {\n // rechargeError !== '' ?\n // \n // \n // Orçamento\n // :\n // \n // {/*

{rechargeError}

*/}\n //
\n //
:\n\n \n \n Orçamento\n \n \n\n
\n Saldo atual\n R$ {data.content.creditAvaiable.toFixed(2).toString().replace('.', ',')}\n
\n \n
\n
\n {/* {success &&

O link de pagamento foi aberto em nova guia, se não estiver visualiando, clique aqui!

} */}\n
\n {loadingRecharge ? :\n userDataAutoRecharge && (\n \n {\n userDataAutoRecharge.content.autoRechargeConfig ?\n
Recarga automática: ATIVADA (R$ {userDataAutoRecharge.content.autoRechargeConfig.amount},00)
\n :
Recarga automática: DESATIVADA
\n }\n
\n {\n userDataAutoRecharge.content.autoRechargeConfig ?\n
setModalDisableAutoRecharge(true)}>

Desativar recarga automática

\n :
Para ativar a recarga automática, faça uma recarga marcando a opção recarga automática.
\n }\n\n {\n userDataAutoRecharge.content.autoRechargeConfig &&\n \n

setChangeValue(true)}>Alterar valor da recarga automática

\n {\n changeValue &&\n \n }\n {\n selectedPriceUpdate &&

updateAutoRecharge(selectedPriceUpdate)}>Valor: R$ {selectedPriceUpdate},00 Clique para atualizar a recarga automática.

\n }\n
\n }\n
\n )}\n
\n }\n {data.content.ads !== null ?\n \n {\n data.content.ads.length === 0 ? Menus anúncios : Meus anúncios ({ads} de {data.content.ads.length})\n }\n
\n {data.content.ads.length > 1 && setAds(1)} />}\n {data.content.ads.length === 0 ?

Anúncios não encontrados.

:\n ads === 1 ?\n
\n Anúncio - window.open(data.content.ads[0].url)}>{data.content.ads[0].url}

\n {data.content.ads[0].title}\n

\n

{data.content.ads[0].description}

\n
:\n
\n Anúncio - data.content.ads[0].url}>{data.content.ads[1].url}

\n {data.content.ads[1].title}\n

\n

{data.content.ads[1].description}

\n
}\n {/*

{JSON.stringify(data.content)}

*/}\n {data.content.ads.length > 1 && { if (ads === 1) setAds(2) }} />}\n\n
\n
: <>}\n
\n
\n )\n}\n\nexport default Index\n","import { FC } from 'react'\nimport ContentGrid from './SectionOne'\nimport { Container } from './styles'\nimport ContentFlex from './SectionTwo'\n\nconst Index:FC = () => {\n\n return (\n \n \n \n \n )\n}\n\nexport default Index\n","import styled from 'styled-components';\n\nexport const FooterDiv = styled.footer`\n height: 50px;\n width: 100%;\n background: ${props => props.theme.color.blackColor};\n margin-top: 8.1rem;\n`;","import React from 'react'\nimport { FooterDiv } from './styles'\n\nconst Footer = () => {\n return (\n \n )\n}\n\nexport default Footer\n","import styled, { keyframes } from 'styled-components'\n\nexport const Content = styled.section`\n width: 100%;\n height: 100%;\n background: #F4F4F7;\n padding-bottom: 30px;\n margin: 0 auto;\n padding: 0;\n /* padding-right: 3px; */\n`\n\nexport const InfoScreen = styled.div`\n height: calc(100vh - 50px - 80px);\n display: flex;\n align-items: center;\n justify-content: center;\n padding-top: 80px;\n\n p {\n padding: 20px;\n text-align: center;\n font-weight: bold;\n }\n`;\n\nconst spin = keyframes`\n to {\n transform: rotate(360deg)\n }\n`\n\nexport const Spin = styled.div`\n width: 60px;\n height: 60px;\n border: 5px solid gray;\n border-left-color: ${props => props.theme.color.blackColor};\n animation: ${spin} 1s linear infinite;\n border-radius: 50%;\n`;","import { useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { CURRENT_CREATION_STATUS } from '../api'\nimport Header from '../Campaing/Shared/Header'\nimport useFetch from '../Hooks/useFetch'\nimport Container from './components'\nimport Footer from './components/Footer'\nimport { Content } from './styles'\n\nconst Index = () => {\n const [hasToken, setHasToken] = useState(false)\n const { request } = useFetch();\n const navigate = useNavigate();\n\n async function verifyCampaign(){\n const { response, json } = await request(CURRENT_CREATION_STATUS, {\n headers: {\n Authorization: `Bearer ${window.localStorage.getItem('token')}`\n }\n })\n \n if(json === null || response?.status === 400 || response?.status === 404 \n || response?.status === 401 || response?.status === 403){\n navigate('/login') \n } else if(json[\"content\"] !== 0 ) {\n navigate('/criar')\n } else {\n setHasToken(true)\n }\n }\n\n useEffect(() => {\n if(window.localStorage.getItem('token') === null){\n navigate('/login')\n } else {\n verifyCampaign()\n } \n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [navigate])\n\n if(!hasToken) return null;\n\n return (\n \n
\n \n