{"version":3,"sources":["i18n/index.js","theme/index.js","components/Icon/Burger/index.js","components/Icon/Logo/index.js","components/Icon/Close/index.js","components/Header/styles.js","components/Header/index.js","components/Layout/styles.js","components/Layout/index.js","components/Footer/styles.js","assets/copy/index.js","components/Icon/Social/index.js","components/Footer/index.js","components/Page/index.js","components/Accordion/styles.js","components/Icon/Plus/index.js","components/Accordion/index.js","components/HeroCarousel/styles.js","components/HeroCarousel/index.js","routes/pages/QandA/styles.js","prismic-configuration.js","components/Title/index.js","routes/pages/NotFound/styles.js","routes/pages/NotFound/index.js","routes/pages/QandA/index.js","routes/pages/GjafabrefAccepted/styles.js","components/HeroText/index.js","routes/pages/GjafabrefAccepted/index.js","routes/pages/About/styles.js","routes/pages/About/index.js","routes/pages/Fyrirtaekjagjafir/styles.js","routes/pages/Fyrirtaekjagjafir/index.js","components/HeroImage/styles.js","components/HeroImage/index.js","components/Icon/ListIcons/index.js","components/HeroBullets/styles.js","components/HeroBullets/index.js","routes/pages/Landing/styles.js","components/AppLinks/styles.js","components/AppLinks/index.js","routes/pages/Landing/index.js","routes/pages/Gjafabref/styles.js","components/GjafabrefUpload/styles.js","components/GjafabrefUpload/index.js","routes/pages/Gjafabref/index.js","routes/pages/GjafabrefSubmit/styles.js","components/GjafabrefSubmitForm/styles.js","components/GjafabrefSubmitForm/index.js","routes/pages/GjafabrefSubmit/index.js","routes/pages/Privacy/styles.js","routes/pages/Privacy/index.js","routes/pages/Suppliers/styles.js","components/Card/styles.js","components/Card/index.js","routes/pages/Suppliers/index.js","routes/pages/Terms/styles.js","routes/pages/Terms/index.js","routes/pages/GjafabrefReglur/styles.js","routes/pages/GjafabrefReglur/index.js","routes/pages/Ferdagjof/styles.js","routes/pages/Ferdagjof/index.js","routes/pages/FerdagjofTerms/styles.js","routes/pages/FerdagjofTerms/index.js","routes/pages/FerdagjofPrivacy/styles.js","routes/pages/FerdagjofPrivacy/index.js","routes/pages/Workplace/styles.js","routes/pages/Workplace/index.js","services/history.js","routes/index.js","components/CustomerChat/index.js","theme/GlobalStyles.js","App.js","index.js","assets/images/list-ellipse.svg","assets/images/carousel-phone.png","assets/images/background.svg","assets/images/item-bg.svg","assets/images/item-section-customize.png","assets/images/item-section-find.png","assets/images/item-section-yay-man.png","assets/images/item-phone-profile.png","assets/images/back.svg","assets/images/forward.svg","assets/images/exploding.gif","assets/images/badge-apple.svg","assets/images/badge-google-transparent.svg"],"names":["instance","i18n","use","initReactI18next","init","resources","eng","translations","Email","Home","About","BusinessServices","Suppliers","Contact","Download","Shop","Subscribe","Terms","Privacy","copyright","is","lng","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","languages","theme","Burger","hide","props","width","height","fill","d","x","y","rx","Logo","purple","size","viewBox","xmlns","id","Container","styled","header","Button","img","button","LogoText","h1","Nav","div","Dropdown","NavBurger","NavDrawer","open","NavExternalLink","a","NavLink","Link","SimpleLink","NavTitle","p","TopMobileNav","Header","withRouter","t","pathname","history","location","React","useState","initialized","setInitialized","language","localStorage","getItem","lang","setState","newLanguage","setItem","useLanguageState","setLang","setOpen","window","innerWidth","windowWidth","setWindowWidth","closeDrawer","openShop","openSellers","useEffect","console","log","addEventListener","Links","onClick","className","class","style","margin","to","href","display","changeLanguage","marginLeft","marginRight","Close","cursor","withTranslation","main","Background","bg","Layout","children","footer","RowContainer","OverLineContainer","OverLineContainerMobile","UnderLineContainer","UnderLineContainerMobile","ColumnContainer","year","Date","getFullYear","copy","intro","title","body","customize","image","customizeImage","bullet","text","find","findImage","resell","resellImage","cta","ctaImage","buttonText","icon","notfound","about","suppliers","contact","gift","download","privacy","section","terms","Social","color","fb","ig","transform","strokeWidth","fillRule","clipRule","alignItems","i18nKey","values","justifyContent","paddingRight","padding","fontWeight","Page","imgSize","WhitePage","WhiteRowPage","AccordionContainer","AccordionTitle","h2","AccordionContent","listcircle","active","Accordion","question","answer","clickHandler","content","useRef","Plus","minWidth","maxWidth","minHeight","maxHeight","ref","current","scrollHeight","paddingTop","ImageContainer","back","forward","HeroCarousel","carousel","showArrows","staticLoop","autoPlay","infiniteLoop","showThumbs","showStatus","map","element","index","key","toString","src","alt","Title","linkResolver","doc","type","client","Prismic","fetchSingleDocument","setPrismicData","toggleNotFound","langFix","query","Predicates","at","landing","results","warn","error","Image","Section","exploding","QandA","prismicData","notFound","useTranslation","useSuspense","setTimeout","currentActiveQuestion","setCurrentActiveQuestion","flexDirection","data","main_title","currQandA","i","RichText","asText","primary","render","handleChildClick","items","length","defaultPic","illustration","url","CopyContainer","center","SubTitle","Body","HeroText","subtitle","bottom","fontSize","marginBottom","GjafabrefAccepted","align","marginTop","HeroImage","source","Img1","Img2","Img3","Img4","Icon","BulletContainer","TextContainer","Text","HeroBullets","bullets","imgs","background","ButtonContainer","AppLinkContainer","AppLinks","target","rel","apple","google","Landing","backgroundColor","herocarousel","selling_image","main_entry_title","main_selling_text","get_the_app_text","background_color","text_color","el","axios","require","App","images","setImages","multiple","value","onChange","imageList","addUpdateIndex","document","getElementById","data_url","post","then","response","maxNumber","dataURLKey","onImageUpload","isDragging","dragProps","undefined","GjafabrefUpload","search","URLSearchParams","get","GjafabrefSubmitForm","state","ip","e","this","getIp","email","phone","checkbox","checked","checkboxR","catch","err","preventDefault","alert","novalidate","handleChangeEmail","bind","name","required","handleChangePhone","handleChangeCheckBox","handleChangeCheckBoxR","handleSubmit","Component","GjafabrefSubmit","imgQuery","Column","Row","Cards","CardContainer","Line","Card","partners_heading","body1","item","logo","Ferdagjof","FerdagjofTerms","FerdagjofPrivacy","Workplace","createBrowserHistory","Routes","indexOf","exact","path","component","Gjafabref","Fyrirtaekjagjafir","GjafabrefReglur","NotFound","attribution","page_id","theme_color","logged_in_greeting","logged_out_greeting","GlobalStyles","createGlobalStyle","ReactDOMServer","renderToStaticMarkup","ReactDOM","module","exports"],"mappings":"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","file":"static/js/main.683bd5d5.chunk.js","sourcesContent":["import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\n\r\nconst instance = i18n.use(initReactI18next)\r\n\r\ninstance.init({\r\n resources: {\r\n eng: {\r\n translations: {\r\n // Loose words\r\n Email: 'EMAIL',\r\n Home: 'Home',\r\n About: 'About YAY',\r\n BusinessServices: 'Business Services',\r\n Suppliers: 'Suppliers',\r\n Contact: 'Contact',\r\n Download: 'Get YAY',\r\n 'How does YAY work?': 'How does YAY work?',\r\n Shop: 'Buy a gift',\r\n 'Travel advice': 'Travel advice',\r\n 'Sign in': 'Sign in',\r\n // 404\r\n 'We are sorry the page you are looking for was not found.':\r\n 'We are sorry the page you are looking for was not found.',\r\n // Header\r\n 'Give the perfect gift': 'Give the perfect gift',\r\n \"Giving the perfect gift has never been this easy. If someone doesn't like it they can simply exchange it on the YAY re-sell market.\":\r\n \"Giving the perfect gift has never been this easy. If someone doesn't like it they can simply exchange it on the YAY re-sell market.\",\r\n 'Find and give the perfect giftcard':\r\n 'Find and give the perfect giftcard',\r\n \"Sell/Trade those you don't want\": \"Sell/Trade those you don't want\",\r\n 'Easy access to all your friends': 'Easy access to all your friends',\r\n 'Never expire!': 'Never expire!',\r\n Subscribe: 'Subscribe',\r\n // Customize\r\n 'Customize your Gift': 'Customize your Gift',\r\n \"The “boring” gift card doesn't have to be so boring. We like playing games so we have made the giftcard experience exciting, just like opening a real gift!\":\r\n \"The “boring” gift card doesn't have to be so boring. We like playing games so we have made the giftcard experience exciting, just like opening a real gift!\",\r\n 'Find gift': 'Find gift',\r\n 'Wrap it': 'Wrap it',\r\n 'Add greeting card': 'Add greeting card',\r\n 'Send. YAY!!!': 'Send. YAY!!!',\r\n // Find\r\n 'Find the right(ish) gift': 'Find the right(ish) gift',\r\n 'YAY offers hundreds of giftcard options at different stores in your area. Or better yet, in your friends area':\r\n 'YAY offers hundreds of giftcard options at different stores in your area. Or better yet, in your friends area',\r\n 'Search by category': 'Search by category',\r\n 'Search by brand': 'Search by brand',\r\n 'Browse the re-sell market': 'Browse the re-sell market',\r\n 'Easy as sprinkles on toast': 'Easy as sprinkles on toast',\r\n // Resell\r\n 'YAY re-sell market for your unwanted gifts':\r\n 'YAY re-sell market for your unwanted gifts',\r\n 'Can´t use the giftcard that you got? You can use the YAY re-sell market to sell or trade your giftcard. Then either purchase the one you want or cash out the value.':\r\n 'Can´t use the giftcard that you got? You can use the YAY re-sell market to sell or trade your giftcard. Then either purchase the one you want or cash out the value.',\r\n // CTA\r\n 'Giving has never been so easy! Keep in mind \"There is always room for more love and more YAY moments in the world.\"':\r\n 'Giving has never been so easy! Keep in mind: There is always room for more love and more YAY moments in the world.',\r\n // Footer\r\n 'Join YAY and start making people happy':\r\n 'Join YAY and start making people happy!',\r\n Terms: 'Terms',\r\n Privacy: 'Privacy',\r\n copyright: `Copyright ©{{year}} YAY ehf. All Rights Reserved.`,\r\n 'get in touch': 'Get in touch',\r\n 'FOLLOW US': 'Follow us',\r\n 'EMAIL US': 'Email us',\r\n // About\r\n 'Velkomin í YAY, við erum stafrænt gjafakortasmáforrit og við munum gjörbylta því hvernig fólk gefur, þiggur, kaupir, selur og skiptir gjöfum og kemst í samband við annað fólk. Veldu gjafakort frá mörghundruð fyrirtækjum og dreifðu ástinni, fagnaðu vináttu, sýndu stuðning, verðlaunaðu eða nýttu hvaða tækifæri sem er til að veita öðrum hamingju. Það er okkur mjög mikilvægt. Það er alltaf pláss fyrir meiri ást og fleiri YAY-augnablik í heiminum.': `Welcome to YAY, we are a digital gift card app and we will revolutionize how people give, accept, buy, sell and exchange gifts and connect with other people. Choose gift cards from hundreds of businesses and spread the love, celebrate friendships, show support, reward or take advantage of any opportunity to bring happiness to others. It is very important to us.\r\n \\n\\nThere is always room for more love and more YAY moments in the world.`,\r\n // Suppliers\r\n 'YAY brings you business': 'YAY brings you business',\r\n 'YAY welcomes your gift cards to the 21st. century and access to Iceland biggest gift card marketplace, where YAY users experience freedom and convenience. YAY is the only smart app in the universe that offers users to buy, use, resell unused gift cards, all within the same YAY smart app. 100% digital service. No printout and plastic because we love our environment No investment for partners No software leasing No administration No shipping cost No print and design cost Automatic settlement': `YAY welcomes your gift cards to the 21st century. YAY gives you access to Iceland’s biggest gift card marketplace, where YAY users experience more convenience and freedom. YAY is the only smart app in the universe that offers users to buy, use and resell unused gift cards, all within the same platform. \r\n \\n100% digital service. \\nNo printout and plastic because we love our environment \\nNo investment for partners \\nNo software leasing \\nNo administration \\nNo shipping cost \\nNo print and design cost \\n Automatic settlement`,\r\n // Download\r\n 'YAY is modernizing the way we gift':\r\n 'YAY is modernizing the way we gift',\r\n 'YAY is a gift card platform witch is changing the way we decide what to get for others and the way others decide what to do with it. All in an attempt to make it easier to appreciate. Letting you make the best out of your relationships.':\r\n 'YAY is a gift card platform witch is changing the way we decide what to get for others and the way others decide what to do with it. All in an attempt to make it easier to appreciate. Letting you make the best out of your relationships.',\r\n },\r\n },\r\n is: {\r\n translations: {\r\n // Loose words\r\n Email: 'NETFANG',\r\n Home: 'Heim',\r\n About: 'Um YAY',\r\n BusinessServices: 'Fyrirtækjaþjónusta',\r\n Suppliers: 'Samstarfsaðilar',\r\n Contact: 'Hafa samband',\r\n Download: 'Sækja YAY',\r\n 'How does YAY work?': 'Hvernig virkar YAY?',\r\n 'Travel gift': 'Ferðagjöf',\r\n Shop: 'Kaupa gjöf',\r\n 'Sign in': 'Innskráning',\r\n // 404\r\n 'We are sorry the page you are looking for was not found.':\r\n 'Því miður fundum við ekki síðuna sem þú leitaðir af.',\r\n // Header\r\n 'Give the perfect gift': 'Gjöf sem nýtist',\r\n \"Giving the perfect gift has never been this easy. If someone doesn't like it they can simply exchange it on the YAY re-sell market.\":\r\n 'Það hefur aldrei verið eins auðvelt að finna réttu gjöfina. Ef gjöfin hentar ekki þiggjandanum, þá er sára einfalt að selja gjafabréfið á YAY endusölumarkaðnum og kaupa nýtt sem hentar betur hverju sinni.',\r\n 'Find and give the perfect giftcard': '',\r\n \"Sell/Trade those you don't want\": '',\r\n 'Easy access to all your friends': '',\r\n 'Never expire!': '',\r\n Subscribe: 'Skrá á póstlista',\r\n // Customize\r\n 'Customize your Gift': 'Sérsniðin gjöf',\r\n \"The “boring” gift card doesn't have to be so boring. We like playing games so we have made the giftcard experience exciting, just like opening a real gift!\":\r\n '„Leiðinlega“ gjafakortið þarf ekki að vera svo leiðinlegt. Okkur finnst gaman að leika okkur þannig að við höfum gert gjafakortið að spennandi upplifun, alveg eins og að opna alvöru gjöf, ásamt því að geta sent lifandi myndbrots kveðju með gjöfinni.',\r\n 'Find gift': 'Finna gjöf',\r\n 'Wrap it': 'Pakka henni inn',\r\n 'Add greeting card': 'Bæta við kveðju',\r\n 'Send. YAY!!!': 'Senda. YAY!!!',\r\n // Find\r\n 'Find the right(ish) gift': 'Finndu réttu gjöfina',\r\n 'YAY offers hundreds of giftcard options at different stores in your area. Or better yet, in your friends area':\r\n 'YAY gerir þér kleift að velja gjafakort frá fjölda verslana, veitingastaða og annarra þjónustufyrirtækja nálægt þér. Eða það sem betra er, nálægt þeim sem þú vilt gleðja.',\r\n 'Search by category': 'Leita eftir flokki',\r\n 'Search by brand': 'Leita eftir vörumerki',\r\n 'Browse the re-sell market': 'Skoða endursölumarkaðinn',\r\n 'Easy as sprinkles on toast': '',\r\n // Resell\r\n 'YAY re-sell market for your unwanted gifts':\r\n 'YAY endursölumarkaðurinn fyrir gjafirnar sem nýtast þér ekki',\r\n 'Can´t use the giftcard that you got? You can use the YAY re-sell market to sell or trade your giftcard. Then either purchase the one you want or cash out the value.':\r\n 'Hefur þú ekki not fyrir gjafabréfið sem þú fékkst? Þá einfaldlega setur þú gjafabréfið þitt á YAY endursölumarkaðinn. Fyrir söluandvirðið getur þú svo keypt annað gjafabréf sem hentar þér betur eða fengið greitt inn á kreditkortið þitt.',\r\n // CTA\r\n 'Giving has never been so easy! Keep in mind \"There is always room for more love and more YAY moments in the world.\"':\r\n 'Að gefa hefur aldrei verið eins auðvelt! Vertu með og mundu: Það er alltaf pláss fyrir meiri ást og fleiri YAY-augnablik í heiminum.',\r\n // Footer\r\n 'Join YAY and start making people happy':\r\n 'Fylgstu með, það styttist í gleðina',\r\n Terms: 'Skilmálar',\r\n Privacy: 'Persónuupplýsingar',\r\n copyright: `Copyright ©{{year}} YAY ehf. 6712180940. Allur réttur áskilinn.`,\r\n 'get in touch': 'Hafa samband',\r\n 'FOLLOW US': 'Fylgdu okkur',\r\n 'EMAIL US': 'Sendu póst',\r\n // About\r\n 'Velkomin í YAY, við erum stafrænt gjafakortasmáforrit og við munum gjörbylta því hvernig fólk gefur, þiggur, kaupir, selur og skiptir gjöfum og kemst í samband við annað fólk. Veldu gjafakort frá mörghundruð fyrirtækjum og dreifðu ástinni, fagnaðu vináttu, sýndu stuðning, verðlaunaðu eða nýttu hvaða tækifæri sem er til að veita öðrum hamingju. Það er okkur mjög mikilvægt. Það er alltaf pláss fyrir meiri ást og fleiri YAY-augnablik í heiminum.':\r\n 'Velkomin í YAY, við erum stafrænt gjafakortasmáforrit og við munum gjörbylta því hvernig fólk gefur, þiggur, kaupir, selur og skiptir gjöfum og kemst í samband við annað fólk. Veldu gjafakort frá mörghundruð fyrirtækjum og dreifðu ástinni, fagnaðu vináttu, sýndu stuðning, verðlaunaðu eða nýttu hvaða tækifæri sem er til að veita öðrum hamingju. Það er okkur mjög mikilvægt. \\n\\n Það er alltaf pláss fyrir meiri ást og fleiri YAY-augnablik í heiminum.',\r\n // Suppliers\r\n 'YAY brings you business': 'YAY færir þér viðskiptavini',\r\n 'YAY welcomes your gift cards to the 21st. century and access to Iceland biggest gift card marketplace, where YAY users experience freedom and convenience. YAY is the only smart app in the universe that offers users to buy, use, resell unused gift cards, all within the same YAY smart app. 100% digital service. No printout and plastic because we love our environment No investment for partners No software leasing No administration No shipping cost No print and design cost Automatic settlement': `Með því að bjóða upp á gjafabréfin þín í YAY, ertu að koma gjafabréfunum þínum inn í 21. öldina. Í YAY munu notendur hafa aðgang að stærsta markaðstorgi gjafabréfa á Íslandi, þar sem viðskiptavinir velja frelsi, þægindi og öryggi umfram allt.\r\n \\nYAY er eina appið sinnar tegundar í heiminum þar sem hægt er að kaupa, senda, nota, og endurselja ónotuð gjafabréf í einu og sama appinu.\r\n \\nÞjónustan er 100% rafræn og því afar umhverfisvæn lausn.\\nEngin sendingarkostnaður, hönnun né prentkostnaður\\nEngin fjárfesting\\nEngin kerfisleiga\\nEngin umsýsla\\nSjálfvirkt uppgjör`,\r\n // Download\r\n 'YAY is modernizing the way we gift':\r\n 'YAY vill nútímavæða hvernig við gefum',\r\n 'YAY is a gift card platform witch is changing the way we decide what to get for others and the way others decide what to do with it. All in an attempt to make it easier to appreciate. Letting you make the best out of your relationships.':\r\n 'YAY er gjafbréfa app sem auðveldar þér að velja gjöf og gefa, en um leið tryggja að gjöfin nýtist þiggjandanum sem allra best.',\r\n },\r\n },\r\n },\r\n lng: 'is',\r\n fallbackLng: 'is',\r\n debug: false,\r\n\r\n ns: ['translations'],\r\n defaultNS: 'translations',\r\n keySeparator: false,\r\n\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n})\r\n\r\ninstance.languages = ['en', 'is']\r\n\r\nexport default instance\r\n","import { css } from 'styled-components'\r\n\r\nexport const baseSpacing = 16\r\n\r\nconst top = int =>\r\n int &&\r\n css`\r\n margin-top: ${int};\r\n `\r\n\r\nconst bottom = int =>\r\n int &&\r\n css`\r\n margin-bottom: ${int};\r\n `\r\n\r\nexport const theme = {\r\n primaryColor: '#613EEA',\r\n secondaryColor: '#54D3AD',\r\n neutralColor: '#ECECEC',\r\n bodyTypeColor: '#777777',\r\n headerTypeColor: '#424242',\r\n darkTypeColor: '#171D33',\r\n light: '#FFFFFF',\r\n dark: 'rgb(23,29,51)',\r\n fontFamily: 'Sarabun',\r\n baseSpacing,\r\n top,\r\n bottom,\r\n}\r\n","import React from 'react'\r\nimport { theme } from '~/theme'\r\n\r\nconst Burger = ({ hide = false, props }) => {\r\n return (\r\n <>\r\n {hide ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default Burger\r\n","import React from 'react'\r\nimport { theme } from '~/theme'\r\n\r\nconst Logo = props => {\r\n const { purple = false, size = 48 } = props\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Logo\r\n","import React from 'react'\r\nimport { theme } from '~/theme'\r\n\r\nconst Burger = props => {\r\n const { fill = theme.primaryColor } = props\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Burger\r\n","import styled from 'styled-components'\r\nimport { Link } from 'react-router-dom'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Container = styled.header`\r\n height: 100px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n align-self: center;\r\n width: 100vw;\r\n padding: 0 5vw;\r\n position: absolute;\r\n top: 0;\r\n z-index: 2;\r\n ::first-child {\r\n max-width: 60px;\r\n }\r\n background-color: ${({ purple }) => (purple ? theme.primaryColor : 'none')};\r\n color: white;\r\n\r\n button:nth-child(2) {\r\n background: red;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n height: 64px;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n height: 50px;\r\n margin: auto 20px;\r\n`\r\n\r\nexport const Button = styled.button`\r\n // justify-content: center;\r\n border: none;\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n background: transparent;\r\n margin: 0 10px;\r\n cursor: pointer;\r\n z-index: 3;\r\n font-family: 'Sarabun', sans-serif;\r\n font-size: 16px;\r\n line-height: 21px;\r\n font-weight: bold;\r\n`\r\n\r\nexport const LogoText = styled.h1`\r\n margin-left: 16px;\r\n font-family: Sarabun;\r\n font-size: 20px;\r\n font-height: 26px;\r\n color: ${({ purple }) => (purple ? theme.primaryColor : 'white')};\r\n`\r\n\r\nexport const Nav = styled.div`\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n height: 100%;\r\n @media only screen and (max-width: 768px) {\r\n display: none;\r\n }\r\n`\r\n\r\nexport const Dropdown = styled.div`\r\n .non-dropdown {\r\n display: none;\r\n }\r\n\r\n .dropbtn {\r\n color: white;\r\n padding: 16px;\r\n font-size: 16px;\r\n border: none;\r\n }\r\n\r\n .dropdown {\r\n position: relative;\r\n display: inline-block;\r\n }\r\n\r\n .dropdown-content {\r\n display: none;\r\n position: absolute;\r\n background-color: white;\r\n min-width: 160px;\r\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\r\n z-index: 1;\r\n }\r\n\r\n .dropdown-content a {\r\n color: black;\r\n padding: 12px 16px;\r\n text-decoration: none;\r\n display: block;\r\n }\r\n\r\n .dropdown-content a:hover {\r\n background-color: #ddd;\r\n }\r\n\r\n .dropdown:hover .dropdown-content {\r\n display: block;\r\n }\r\n\r\n .dropdown:hover .dropbtn {\r\n background-color: #3e8e41;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n .dropdown {\r\n display: none !important;\r\n margin-left: none;\r\n }\r\n .non-dropdown {\r\n display: block !important;\r\n margin-left: none;\r\n }\r\n }\r\n`\r\n\r\nexport const NavBurger = styled.div`\r\n display: none;\r\n\r\n @media only screen and (max-width: 768px) {\r\n display: flex;\r\n align-items: flex-end;\r\n justify-content: flex-end;\r\n flex: none;\r\n }\r\n`\r\n\r\nexport const NavDrawer = styled.div`\r\n align-content: center;\r\n justify-content: flex-start;\r\n /* position: absolute; */\r\n position: fixed;\r\n\r\n width: 100vw;\r\n height: 100vh;\r\n background: ${theme.primaryColor};\r\n top: 0;\r\n transform: ${({ open }) => (open ? 'translateY(0)' : 'translateY(-100%)')};\r\n transition: transform 0.3s ease-in-out;\r\n\r\n left: 0;\r\n z-index: 99999;\r\n\r\n p {\r\n text-align: center;\r\n margin: 15px;\r\n line-height: 26px;\r\n font-size: ;\r\n }\r\n @media only screen and (min-width: 768px) {\r\n display: none;\r\n }\r\n a {\r\n margin-left: 42px;\r\n }\r\n`\r\n\r\nexport const NavExternalLink = styled.a`\r\n // justify-content: center;\r\n border: none;\r\n background: transparent;\r\n font-family: inherit;\r\n margin: 0 10px;\r\n cursor: pointer;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-weight: 300;\r\n font-size: 20px;\r\n\r\n &.active {\r\n font-weight: bold;\r\n -webkit-animation-name: addbottomborder;\r\n -webkit-animation-duration: 0.4s;\r\n animation-name: addbottomborder;\r\n animation-duration: 0.4s;\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5px;\r\n @-webkit-keyframes addbottomborder {\r\n from {\r\n border-bottom: 0px solid ${theme.secondaryColor};\r\n padding-top: 0;\r\n }\r\n to {\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5;\r\n }\r\n }\r\n\r\n @keyframes addbottomborder {\r\n from {\r\n border-bottom: 0px solid ${theme.secondaryColor};\r\n padding-top: 0;\r\n }\r\n to {\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 768px) {\r\n &.active {\r\n border: none;\r\n -webkit-animation-duration: 0s;\r\n animation-duration: 0s;\r\n }\r\n }\r\n \r\n }\r\n`\r\n\r\nexport const NavLink = styled(Link)`\r\n // justify-content: center;\r\n border: none;\r\n background: transparent;\r\n font-family: inherit;\r\n margin: 0 10px;\r\n cursor: pointer;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-weight: 300;\r\n font-size: 20px;\r\n\r\n &.active {\r\n font-weight: bold;\r\n -webkit-animation-name: addbottomborder;\r\n -webkit-animation-duration: 0.4s;\r\n animation-name: addbottomborder;\r\n animation-duration: 0.4s;\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5px;\r\n @-webkit-keyframes addbottomborder {\r\n from {\r\n border-bottom: 0px solid ${theme.secondaryColor};\r\n padding-top: 0;\r\n }\r\n to {\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5;\r\n }\r\n }\r\n\r\n @keyframes addbottomborder {\r\n from {\r\n border-bottom: 0px solid ${theme.secondaryColor};\r\n padding-top: 0;\r\n }\r\n to {\r\n border-bottom: 5px solid ${theme.secondaryColor};\r\n padding-top: 5;\r\n }\r\n }\r\n }\r\n @media only screen and (max-width: 768px) {\r\n &.active {\r\n border: none;\r\n -webkit-animation-duration: 0s;\r\n animation-duration: 0s;\r\n }\r\n }\r\n \r\n }\r\n`\r\n\r\nexport const SimpleLink = styled.a`\r\n justify-content: center;\r\n border: none;\r\n background: transparent;\r\n font-family: inherit;\r\n margin: 0 20px;\r\n cursor: pointer;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 20px;\r\n\r\n @media only screen and (max-width: 768px) {\r\n margin: 0 auto;\r\n }\r\n`\r\n\r\nexport const NavTitle = styled.p`\r\n font-size: inherit;\r\n color: white;\r\n letter-spacing: 0.5px;\r\n`\r\n\r\nexport const TopMobileNav = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n max-height: 32px;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 32px 26px;\r\n margin-bottom: 30px;\r\n`\r\n","import React from 'react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { withRouter } from 'react-router-dom'\r\n\r\nimport instance from '~/i18n'\r\n\r\nimport Burger from '~/components/Icon/Burger'\r\nimport Logo from '~/components/Icon/Logo'\r\nimport Close from '~/components/Icon/Close'\r\nimport {\r\n Container,\r\n Button,\r\n LogoText,\r\n Nav,\r\n NavDrawer,\r\n NavBurger,\r\n NavLink,\r\n NavExternalLink,\r\n SimpleLink,\r\n NavTitle,\r\n TopMobileNav,\r\n Dropdown,\r\n} from './styles'\r\n\r\nfunction useLanguageState(language) {\r\n const [lang, setState] = React.useState(localStorage.getItem(language))\r\n\r\n function setLanguage(newLanguage) {\r\n localStorage.setItem(language, newLanguage)\r\n setState(newLanguage)\r\n }\r\n\r\n return [lang, setLanguage]\r\n}\r\n\r\nconst Header = withRouter(({ t, history }) => {\r\n const { pathname } = history.location\r\n const [initialized, setInitialized] = React.useState(true)\r\n const [lang, setLang] = useLanguageState('lang')\r\n const [open, setOpen] = React.useState(false)\r\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth)\r\n\r\n React.useEffect(() => {\r\n console.log('Hey changing lang?')\r\n if (lang && lang === 'eng') {\r\n setInitialized(false)\r\n }\r\n }, [lang])\r\n\r\n React.useEffect(() => {\r\n window.addEventListener('resize', () => setWindowWidth(window.innerWidth))\r\n }, [])\r\n\r\n function closeDrawer() {\r\n setOpen(false)\r\n }\r\n\r\n function openShop() {\r\n window.open('https://shop.yay.is/batchpurchase', '_self')\r\n }\r\n\r\n function openSellers() {\r\n window.open('https://shop.yay.is/batchpurchase#sellers', '_self')\r\n }\r\n\r\n function toggleLanguage() {\r\n closeDrawer()\r\n\r\n if (initialized) {\r\n setInitialized(false)\r\n setLang('eng')\r\n instance.changeLanguage('eng')\r\n } else {\r\n setInitialized(true)\r\n setLang('is')\r\n instance.changeLanguage('is')\r\n }\r\n console.log(lang)\r\n }\r\n\r\n function toggleMenu() {\r\n setOpen(!open)\r\n }\r\n\r\n const Links = () => (\r\n <>\r\n \r\n {t('Shop')}\r\n \r\n\r\n \r\n \r\n
\r\n \r\n {t('How does YAY work?')}\r\n \r\n
\r\n \r\n Fyrirtækjagjafir\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {t('How does YAY work?')}\r\n \r\n
\r\n\r\n
\r\n \r\n {t('Fyrirtækjagjafir')}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n {t('Suppliers')}\r\n \r\n \r\n {t('BusinessServices')}\r\n \r\n \r\n {t('Sign in')}\r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n \r\n 768}\r\n size={windowWidth < 768 ? 32 : 48}\r\n />\r\n 768}\r\n style={windowWidth < 768 ? { display: 'none' } : {}}\r\n >\r\n YAAAAAYYYYYY!!\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\nexport default withTranslation()(Header)\r\n","import styled from 'styled-components'\r\n\r\nimport bg from '~/assets/images/item-bg.svg'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Container = styled.main`\r\n width: 100%;\r\n height: 100%;\r\n flex-direction: column;\r\n overflow-x: hidden;\r\n position: fixed;\r\n \r\n /* background: ${theme.primaryColor}; */\r\n\r\n @media only screen and (min-width: 968px) {\r\n }\r\n`\r\nexport const Background = styled.div`\r\n background-image: url(${bg});\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n position: absolute;\r\n width: 100%;\r\n height: 100vw;\r\n z-index: -1;\r\n\r\n @media only screen and (min-width: 968px) {\r\n background-image: url(${bg});\r\n background-repeat: no-repeat;\r\n background-position: 25vw -25vw;\r\n background-size: cover;\r\n position: absolute;\r\n width: 100%;\r\n height: 100vw;\r\n z-index: -1;\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { Container, Background } from './styles'\r\n\r\nconst Layout = ({ children, main = false }) => (\r\n \r\n {children}\r\n {main && }\r\n \r\n)\r\n\r\nexport default Layout\r\n","import styled from 'styled-components'\r\n\r\nimport { theme } from '~/theme'\r\n\r\nexport const Container = styled.footer`\r\n background: ${theme.dark};\r\n flex-direction: column;\r\n color: white;\r\n padding: 50px 10vw;\r\n a {\r\n color: white;\r\n }\r\n @media only screen and (max-width: 768px) {\r\n padding: 40px 24px;\r\n }\r\n`\r\nexport const RowContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n`\r\n\r\nexport const OverLineContainer = styled(RowContainer)`\r\n border-bottom: 1px solid ${theme.primaryColor};\r\n color: ${theme.secondaryColor};\r\n // font-family: Lato;\r\n font-weight: 500;\r\n p {\r\n font-size: 24px;\r\n }\r\n line-height: 32px;\r\n width: 100%;\r\n padding-bottom: 10px;\r\n`\r\nexport const OverLineContainerMobile = styled(OverLineContainer)`\r\n justify-content: center;\r\n font-weight: 900;\r\n line-height: 29px;\r\n`\r\nexport const UnderLineContainer = styled(RowContainer)`\r\n width: 100%;\r\n align-items: flex-start;\r\n font-weight: 500;\r\n margin-top: 16px;\r\n font-size: 16px;\r\n line-height: 28px;\r\n`\r\nexport const UnderLineContainerMobile = styled(UnderLineContainer)`\r\n flex-direction: column;\r\n align-items: center;\r\n margin-bottom: 40px;\r\n`\r\n\r\nexport const ColumnContainer = styled.div`\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n`\r\n","import customizeImage from '../images/item-section-customize.png'\r\nimport findImage from '../images/item-section-find.png'\r\nimport resellImage from '../images/item-section-yay-man.png'\r\nimport ctaImage from '../images/item-phone-profile.png'\r\n\r\nconst year = new Date().getFullYear()\r\n// const space = () =>
alall
\r\n\r\nconst copy = {\r\n intro: {\r\n title: 'Give the perfect gift',\r\n body:\r\n \"Giving the perfect gift has never been this easy. If someone doesn't like it they can simply exchange it on the YAY re-sell market.\",\r\n },\r\n customize: {\r\n image: customizeImage,\r\n title: 'Customize your Gift',\r\n body:\r\n \"The “boring” gift card doesn't have to be so boring. We like playing games so we have made the giftcard experience exciting, just like opening a real gift!\",\r\n bullet: [\r\n { text: 'Find gift' },\r\n { text: 'Wrap it' },\r\n { text: 'Add greeting card' },\r\n { text: 'Send. YAY!!!' },\r\n ],\r\n },\r\n find: {\r\n image: findImage,\r\n title: 'Find the right(ish) gift',\r\n body:\r\n 'YAY offers hundreds of giftcard options at different stores in your area. Or better yet, in your friends area',\r\n bullet: [\r\n { text: 'Search by category' },\r\n { text: 'Search by brand' },\r\n { text: 'Browse the re-sell market' },\r\n { text: 'Easy as sprinkles on toast' },\r\n ],\r\n },\r\n resell: {\r\n image: resellImage,\r\n title: 'YAY re-sell market for your unwanted gifts',\r\n body:\r\n 'Can´t use the giftcard that you got? You can use the YAY re-sell market to sell or trade your giftcard. Then either purchase the one you want or cash out the value.',\r\n },\r\n cta: {\r\n image: ctaImage,\r\n title: `Giving has never been so easy! Keep in mind \"There is always room for more love and more YAY moments in the world.\"`,\r\n buttonText: 'Subscribe',\r\n },\r\n footer: {\r\n title: \"You'll always be able to extend your giftcards expiration\",\r\n body: 'Join YAY and start making people happy',\r\n icon: ['TW', 'FB', 'IG', 'IN'],\r\n copyright: `Copyright ©${year} YAY ehf. All Rights Reserved.`,\r\n },\r\n notfound: {\r\n text: 'We are sorry the page you are looking for was not found.',\r\n },\r\n about: {\r\n title: 'YAY!',\r\n body:\r\n 'Velkomin í YAY, við erum stafrænt gjafakortasmáforrit og við munum gjörbylta því hvernig fólk gefur, þiggur, kaupir, selur og skiptir gjöfum og kemst í samband við annað fólk. Veldu gjafakort frá mörghundruð fyrirtækjum og dreifðu ástinni, fagnaðu vináttu, sýndu stuðning, verðlaunaðu eða nýttu hvaða tækifæri sem er til að veita öðrum hamingju. Það er okkur mjög mikilvægt. Það er alltaf pláss fyrir meiri ást og fleiri YAY-augnablik í heiminum.',\r\n },\r\n suppliers: {\r\n title: 'YAY brings you business',\r\n body:\r\n 'YAY welcomes your gift cards to the 21st. century and access to Iceland biggest gift card marketplace, where YAY users experience freedom and convenience. YAY is the only smart app in the universe that offers users to buy, use, resell unused gift cards, all within the same YAY smart app. 100% digital service. No printout and plastic because we love our environment No investment for partners No software leasing No administration No shipping cost No print and design cost Automatic settlement',\r\n },\r\n contact: {\r\n title: 'Contact',\r\n },\r\n gift: {\r\n title: 'YAY! Þér var að berast gjöf',\r\n intro: `Það þýðir að einhver sem þekkir þig vill gleðja þig\r\n Til að opna gjöfina sækir þú YAY appið í App Store eða Google Play`,\r\n body: `YAY er stafrænt gjafakortasmáforrit sem hjálpar vinum og ættingjum að gleðja þá sem þeim þykir vænt um, fólki eins og þér. \r\n \r\n Í YAY getur þú keypt gjafabréf frá ýmsum þjónustuaðilum, gefið og sent með kveðju auk þess að endurselja lítið eða ónotuð gjafabréf sem þú hefur ekki not fyrir. Söluandvirðið getur þú svo nýtt til að kaupa hjá öðrum samstarfsaðila innan YAY sem hentar þér betur. Gjöf í YAY getur því orðið að hverju sem er. Hættu að gleyma gjafabréfinu í skúffunni eða týna og hafðu það alltaf með þér í YAY appinu.\r\n \r\n Dreifum ástinni, fögnum vináttu, sýnum stuðning, verðlaunum eða nýtum hvaða tækifæri sem er til að gleðja og sýna þakklæti. \r\n `,\r\n },\r\n download: {\r\n title: 'YAY is modernizing the way we gift',\r\n intro: `YAY is a gift card platform witch is changing the way we decide what to get for others and the way others decide what to do with it. All in an attempt to make it easier to appreciate. Letting you make the best out of your relationships.`,\r\n body: `By giving me the freedom to transform a gift I like into a gift I love. So, with YAY, a gift can become anything. Anything is our thing. Get the app end start to spread appreciation It´s never the wrong gift with YAY`,\r\n },\r\n privacy: {\r\n title: 'Persónuupplýsinga YAY ehf.',\r\n section: [\r\n {\r\n text:\r\n 'Yay er smáforrit (e. App) sem aðgengilegt á Google Play og í Apple App Store. Með YAY appinu geta viðskiptavinir keypt, gefið og selt rafræn gjafabréf.',\r\n },\r\n {\r\n title: 'Meðhöndlun persónuupplýsinga',\r\n text: `Við stofnun aðgangs í YAY appinu og notkun þess mun notandi þurfa að skrá upplýsingar um símanúmer sitt og skráir inn auðkenningarkóða sem YAY sendir viðkomandi með SMS. Notandi ber ábyrgð á réttleika þeirra upplýsinga sem hann skráir í Appið hverju sinni, einkum símanúmer sitt og eftir atvikum greiðslukortanúmer. Notkun á YAY appinu er unnið með persónugreinanlegar upplýsingar um notanda eins og nánar er kveðið á um í stefnu þessari. \\n\\nSkilmálar YAY ehf um meðhöndlun persónuupplýsinga útskýra hvernig YAY ehf í gegnum YAY appið safnar, notar, miðlar og verndar persónuupplýsingar viðskiptavina sinna. YAY ehf gætir ítrasta öryggis í meðferð persónupplýsinga. Markmið skilmála þessara er að tryggja að meðhöndlun YAY ehf á persónuupplýsingum sé í samræmi við grundvallarsjónarmið og reglur um persónuvernd og friðhelgi einkalífs sem finna má í Persónuverndarreglugerð Evrópusambandsins, GDPR, sem innleidd er í íslenskan rétt með lögum um persónuvernd og vinnslu persónuupplýsinga.`,\r\n },\r\n {\r\n title: 'Tegundir persónuupplýsinga',\r\n text: `YAY ehf vinnur einkum með almennar lýðupplýsingar og upplýsingar um notkun á YAY appinu. YAY nýtir þessar persónuupplýsingar á grundvelli samnings við viðskiptavin, ákvæði laga. Persónuupplýsingum sem safnað er í gegnum YAY appið eru nýttar til þess að geta veitt viðskiptavinum þjónustu skv. samningi hverju sinni. YAY appið aflar, skráir og vistar upplýsingarnar í þeim tilgangi að geta veitt notanda aðgang að YAY appinu, til að gera notanda kleift að nota YAY appið, til að geta haldið utan um notkunarsögu í YAY appinu, til að tryggja öryggi og veita réttum notanda upplýsingar um rétta notkun. Þá eru upplýsingarnar notaðar til að tryggja gæði og virkni YAY Appsins. Þá mun YAY ehf nota upplýsingarnar til að geta sett sig í samband við notanda í viðskiptalegum tilgangi, þ.á m. í þeim tilgangi að tilkynna notanda um breytingar á YAY appinu, svo sem á virkni þess eða stillingum.\r\n \\nPersónulegar upplýsingar um viðskiptavini eru notaðar í neðangreindum tilvikum:\\n\r\n 1. Til að veita eða afhenda þá þjónustu og/eða vöru sem viðskiptavinur nýtir hjá YAY ehf í gegnum Yay appið og veita viðskiptavini upplýsingar um stöðu á afhendingu vöru og framkvæmd þjónustu.\r\n 2. Til að upplýsa viðskiptavin um breytingar á þjónustu eða viðskiptaskilmálum.\r\n 3. Til að reikningsfæra viðskipti viðskiptavina, s.s. til að hægt að leggja inná reikninga eða kreditkort viðskiptavinar.\r\n 4. Til að svara fyrirspurnum viðskiptavinar.\r\n 5. Til að vinna gegn ólögmætri háttsemi og til að bæta tjón.\r\n 6. Til þess að veita opinberum aðilum upplýsingar, þó aðeins í þeim tilvikum þar sem skylda hvílir á YAY ehf hef að verða við slíkri beiðni lögum samkvæmt.\r\n \\nGögn um viðskiptavini YAY ehf eru geymd þar til YAY ehf hefur ekki þörf fyrir þau lengur til að uppfylla markmiðið við söfnun þeirra. Nema þegar lög og reglur kveða á lengri geymslutíma.\r\n `,\r\n },\r\n {\r\n title: 'Þín réttindi',\r\n text: `Þú átt rétt á að fá aðgang að fá að vita hvaða upplýsingar YAY ehf hefur safnað um þig og getur beðið um afrit af þeim gögnum. YAY ehf vill þó benda á að megnið af þeim upplýsingum sem unnið er með er að finna í YAY appinu, þar sem þú getur nálgast þær hvenær sem þér hentar.\r\n \\nÞú átt rétt á að fara fram á að YAY ehf leiðrétti upplýsingar um þig teljir þú að þær séu ekki réttar og einnig að fá upplýsingum um þig eytt. YAY ehf vill þó taka það fram að rétturinn til að fá upplýsingum eytt er takmarkaður og þannig getur YAY ehf ekki eytt upplýsingum sem ber skylda til að geyma skv. lögum.\r\n \\nÞú átt rétt á að krefjast þess að YAY ehf takmarki vinnslu á upplýsingum um þig. Sá réttur á þó aðeins við í vissum tilvikum.\r\n \\nÞú átt rétt á að fá eintak, á tölvulesanlegu formi, af þeim upplýsingum sem þú hefur látið YAY ehf hafa um þig. Ef þú óskar þess, og það er tæknilega framkvæmanlegt, getur þú óskað þess að upplýsingar séu sendar á annan aðila, t.d. annað fyrirtæki.\r\n \\nTil að nýta þér þessi réttindi þín getur þú sent tölvupóst á info@yay.is. Rétt er að benda á að það getur tekið 30 daga að fá svör við slíkri beiðni og allt að 3 mánuðum ef beiðnin er tæknilega flókin í framkvæmd. Við munum þó svara þér eins fljótt og auðið er, a.m.k. til að láta þig vita að beiðnin sé móttekin og að verið sé að afgreiða hana.`,\r\n },\r\n {\r\n title: 'Trúnaður og vernd upplýsinga',\r\n text: `Starfsmenn YAY ehf undirrita trúnaðaryfirlýsingar og eru bundnir trúnaði um allt sem þeir fá vitneskju um við störf sín. Trúnaðarskylda hvílir á starfsmönnum, þrátt fyrir að látið sé af starfi hjá YAY ehf. Brot á trúnaði varða brottrekstri og mögulega afskiptum lögreglu. YAY ehf er ábyrgt fyrir meðferð þinna persónuupplýsinga og einsetur sér að framfylgja reglum um vernd og öryggi upplýsinga.\r\n \\nVið heitum því að gæta fyllsta trúnaðar og virða rétt viðskiptavina okkar varðandi meðferð persónuupplýsinga. Okkur er umhugað um persónuvernd og við viljum að viðskiptavinir okkar viti hvernig við meðhöndlum persónuupplýsingar. Stefna þessi tekur til persónuupplýsinga sem safnað og varðveittar með rafrænum hætti.\r\n \\nHafir þú spurningar um meðferð persónuupplýsinga hjá YAY ehf getur þú haft samband við okkur með tölvupósti á info@yay.is\r\n \\nMeginreglurnar og markmið í persónuverndarstefnu YAY ehf:\\n\r\n 1. Sanngirnisreglan: að persónuupplýsingar séu unnar með lögmætum, sanngjörnum og gagnsæjum hætti gagnvart einstaklingnum\r\n 2. Tilgangsreglan: að persónuupplýsingar séu unnar í skýrum, lögmætum og málefnalegum tilgangi og ekki unnar frekar í öðrum og ósamrýmanlegum tilgangi.\r\n 3. Meðalhófsreglan: að persónuupplýsingar séu nægilegar, viðeigandi og ekki umfram það sem nauðsynlegt er miðað við tilganginn með vinnslu þeirra.\r\n 4. Áreiðanleikareglan: að persónuupplýsingar séu áreiðanlegar og uppfærðar eftir þörfum; persónuupplýsingum sem eru óáreiðanlegar eða ófullkomnar skal eyða eða þær leiðréttar án tafar.\r\n 5. Varðveislureglan: að persónuupplýsingar séu varðveittar í því formi að ekki sé unnt að bera kennsl á einstaklinga lengur en þörf krefur miðað við tilganginn með vinnslu þeirra. Heimilt er að geyma persónuupplýsingar lengur að því tilskildu að vinnsla þeirra þjóni eingöngu skjalavistun í þágu almannahagsmuna, rannsókna á svið ivísinda eða sagnfræði eða í tölfræðilegum tilgangi og að viðeigandi öryggis sé gætt.\r\n 6. Öryggisreglan: að persónuupplýsingar séu unnar með þeim hætti að viðeigandi öryggi þeirra sé tryggt.\r\n `,\r\n },\r\n ],\r\n },\r\n terms: {\r\n title: 'Skilmálar YAY ehf.',\r\n section: [\r\n {\r\n title: 'Almenn ákvæði',\r\n text:\r\n 'Skilmálar þessir gilda um kaup á vöru eða þjónustu í gegnum snjallforritið YAY. Eigandi YAY er YAY ehf., kt. 671218-0940, Lágmúla 5, 108 Reykjavík. Skilmálarnir skilgreina réttindi og skyldur YAY ehf. annars vegar og kaupanda vöru hins vegar. Hafi skilmálar þessir ekki verið samþykktir við nýskráningu inn á YAY teljast þeir samþykktir við fyrstu kaup á vöru eða þjónustu. Með því að samþykkja skilmálana lýsir kaupandi því yfir að hann hafi lesið, skilið og samþykkt skilmálana í heild sinni. „Söluaðili“ er fyrirtæki sem býður vöru eða þjónustu til sölu í YAY snjallforritinu. „Kaupandi“ (einnig „notandi“) er einstaklingur sem er aðili samnings en stundar ekki viðskipti eða aðra athafnastarfsemi, þ.e. einstaklingur sem kaupir vöru eða þjónustu í skilningi laga um neytendakaup. Kaupandi verður að vera a.m.k. 16 ára. „Kaupandi“ getur líka verið fyrirtæki en lög um um þjónustukaup nr. 42/2000 eiga þá við. YAY ehf. selja inneignir/gjafabréf vegna kaupa á vöru eða þjónustu, hér eftir nefnd gjafabréf sem veitir kaupanda rétt til að fá vöru eða þjónustu afhenta frá söluaðila. YAY ehf. ber ekki ábyrgð á gæðum vöru eða þjónustu sem söluaðili veitir. Þegar kaupandi framvísar gjafabréfi í gegnum YAY hjá söluaðila er hlutverki YAY ehf. lokið og gengur þá í gildi samningur milli kaupanda og söluaðila sem þar með yfirtekur skyldur YAY ehf. gagnvart kaupanda og skulu þá lög um þjónustukaup nr. 42/2000 og lög um neytendakaup nr. 48/2003 gilda um réttarstöðu samningsaðila þegar sérstökum ákvæðum þessara skilmála sleppir.',\r\n },\r\n {\r\n title: 'Skilyrði fyrir notkun YAY',\r\n text:\r\n 'Kaupandi ábyrgist að upplýsingar sem skráðar eru í YAY séu alltaf réttar og varði hann sjálfan og samþykkir að veita núverandi, heilar og nákvæmar upplýsingar fyrir öll kaup sem gerðar eru í snjallforritinu. þar á meðal netfang og kreditkortanúmer og gildistíma, svo að YAY ehf. geti lokið viðskiptum og haft samband eftir þörfum.. Það er því alfarið á ábyrgð notanda að uppfæra upplýsingar um sig í YAY þegar og ef þörf krefur. Sérstök athygli er vakin á því að notanda er einungis heimilt að tengja eigin greiðslukort við lausnina. Kaupandi lausnarinnar og korthafi viðkomandi greiðslukorts/a skal því ávallt vera sami aðili. Þrátt fyrir ofangreint getur annað átt við þegar um fyrirtækjakort er að ræða. Í þeim tilvikum getur kaupandi tengt greiðslukort lögaðila við lausnina. Það er hins vegar forsenda fyrir notkun á fyrirtækjakorti að forsvarsmaður lögaðila hafi sérstaklega samþykkt notkun á kortinu með virkjunarkóða. Hugtakið „kaupandi“ í skilmálum þessum skjal jafnframt eiga við um lögaðila þann sem er rétthafi fyrirtækjakortsins auk hins eiginlega notanda, eftir því sem við á. YAY ehf. áskilur sér allan rétt að hafna umsókn um notkun YAY snjallforritsins án þess að tilgreina ástæðu.',\r\n },\r\n {\r\n title: 'Fyrirvari',\r\n text:\r\n 'YAY ehf. áskilur sér rétt til verðbreytinga án fyrirvara. Allar upplýsingar og verð eru birt með fyrirvara um innsláttarvillu. YAY ehf. áskilur sér rétt til að hætta við pöntun komi í ljós að varan sé vitlaust verðmerkt eða uppseld.',\r\n },\r\n {\r\n title: 'Aðgangur notanda',\r\n text:\r\n 'Aðgangur notanda að YAY skal aðeins vera notaður af honum sjálfum og er notanda óheimilt að deila aðgangsupplýsingum með þriðja aðila eða á annan hátt veita þriðja aðila aðgang að persónulegum aðgangi sínum að YAY. Notandi skal tryggja leynd aðgangsupplýsinga sinna og ber ábyrgð á hvers kyns tjóni sem kann að hljótast af því að aðgangsupplýsingar rati til þriðja aðila, hvort sem það er með vitneskju notanda eður ei. Notandi sem auðkennir sig með réttu lykilorði er álitinn réttur eigandi viðkomandi notendaaðgangs að YAY og hefur einungis sá aðili heimild til að framkvæma aðgerðir á þeim notendaaðgangi í YAY. Notandi ber ávallt fulla ábyrgð á öllum aðgerðum sem staðfestar hafa verið með framangreindum hætti í YAY.',\r\n },\r\n {\r\n title: 'Óheimil notkun',\r\n text:\r\n 'Notanda er með öllu óheimilt að nota YAY snjallforritið: til að áreita aðra notendur YAY eða þriðju aðila; til að ná í fjármuni eða færa fjármuni með óheiðarlegum eða saknæmum hætti (eða aðstoða aðra við að gera slíkt); til að framkvæma aðgerðir sem brjóta gegn skilmálum þessum, lögum og/eða stjórnsýslufyrirmælum; til að eiga frumkvæði að, eða hafa milligöngu um, óumbeðin samskipti við einn eða fleiri notendur YAY (s.k. „spam“); til að falsa, brjóta, breyta, skemma, trufla eða á nokkurn annan hátt, að hafa áhrif á öryggi og öryggisþætti lausnarinnar í þeim tilgangi að skoða eða misnota upplýsingar sem eru notanda óviðkomandi. Verði notandi var við veikleika í öryggisþáttum ber honum að tilkynna YAY ehf. um það án tafar; og/eða til að brjóta gegn höfunda- eða hugverkarétti YAY ehf.; Verði YAY ehf. vart við ofangreinda notkun á lausninni áskilur YAY ehf. sér rétt til að læsa fyrirvaralaust aðgangi viðkomandi notanda að YAY og rifta um leið samningi þessum.',\r\n },\r\n {\r\n title: 'Riftun/Uppsögn',\r\n text:\r\n 'YAY ehf. áskilur sér rétt til að loka fyrir aðgang notanda að YAY snjallforritinu ef kaupandi fer gegn skilmálum þessum eða grunur um misnotkun eða ranga notkun af einhverju tagi kemur upp, að einhliða mati YAY ehf. Í því tilviki á kaupandi ekki rétt á endurgreiðslu inneignar. Hafi YAY ehf. rift samningi við notanda vegna athæfis sem varðar við lög eða stjórnvaldsfyrirmæli áskilur YAY ehf. sér rétt til að leita réttar síns eða kæra viðkomandi til lögreglu. Slíkur réttur skal einnig vera til staðar vakni grunur um saknæma háttsemi jafnvel þó svo að YAY ehf. ákveði að rifta ekki samningi við notanda. Um varðveislu upplýsinga um notanda og greiðslusögu hans fer skv. Persónuverndarstefnu YAY ehf. Ópersónugreinanleg gögn um notkun notanda á lausninni varðveitast áfram ótímabundið.',\r\n },\r\n {\r\n title: 'Höfunda- og hugverkaréttur',\r\n text:\r\n 'Samningur þessi hefur ekki í för með sér neins konar yfirfærslu á höfunda- eða hugverkarétti frá YAY ehf. til notanda. Allt innihald YAY og vefsvæðis er í eigu YAY ehf., þar með talið vörumerki, texti, hönnun, grafík, ljósmyndir, myndir og ritstýrt efni er varið höfundarétti. Notanda er einungis heimilt að nýta sér upplýsingar eða efni af vefsíðu YAY ehf. eða YAY til persónulegra nota í samræmi við skilmála þessa.',\r\n },\r\n {\r\n title: 'Trúnaður',\r\n text:\r\n 'Kaupanda og þiggjanda er heitið fullum trúnaði um allar þær upplýsingar sem kaupandi og þiggjandi gefur upp í tengslum við viðskiptin. Upplýsingar verða ekki afhentar þriðja aðila undir neinum kringumstæðum, nema svo beri skylda gagnvart lögum.',\r\n },\r\n {\r\n title: 'Lög og varnarþing',\r\n text:\r\n 'Varðandi viðskipti við okkur, sem og önnur atriði í samningsskilmálum þessum gilda íslensk lög. Rísi ágreiningur milli YAY ehf. og viðskiptavinar skal mál vegna þess rekið fyrir íslenskum dómstólum.',\r\n },\r\n {\r\n title: 'Villur og ábyrgð',\r\n text:\r\n 'Ef um sannarleg mistök er að ræða af hendi YAY ehf. verða slík mistök leiðrétt svo fljótt sem auðið er. Verði YAY ehf. fyrir tjóni vegna brota notanda gegn skilmálum þessum eða hvers kyns ásetnings- eða gáleysisverka notanda í tengslum við notkun á YAY snjallforritinu skal notandi bæta YAY ehf. það tjón samkvæmt almennum reglum um skaðabætur innan eða utan samninga. Undir ákvæði þetta falla einnig hvers kyns kröfur þriðja manns á hendur YAY ehf. vegna notkunar eða umgengni notanda við YAY snjallforritið á grundvelli samnings þessa. Ef rangt símanúmer eða netfang þiggjanda hefur verið gefið upp er ábyrgðin gefanda. Ef rangur þiggjandi hefur tekið á móti inneigninni á þeim tíma og inneignin innleyst, telst inneignin glötuð. YAY ehf. ber ekki ábyrgð á að vinnsla í lausninni stöðvist tímabundið. Þá ber YAY ehf. enga ábyrgð á þeim vörum/þjónustu sem notandi greiðir fyrir með YAY, þeirri færsluhirðingu sem á sér stað í tengslum við notkun YAY, réttleika þeirra gagna sem berast frá söluaðila, eða annarra atvika sem tengjast þjónustu þriðju aðila eða atriðum sem notandi lausnarinnar ber sjálfur ábyrgð á samkvæmt skilmálum þessum. Það sama á við um ábyrgð á tjóni sem rekja má til sambandsleysis eða rofa á fjarskiptum. YAY ehf. ber í engu tilviki ábyrgð á öðru en beinu tjóni notanda. Í öllum tilvikum skal ábyrgð YAY ehf., þ.á m. vegna hvers konar mistaka, villna, vanrækslu (svo sem í tengslum við öryggisráðstafanir), truflana, tafa, tjóns eða galla á lausninni, takmarkast við kr. 100.000, að því marki sem heimilt er á grundvelli ófrávíkjanlegra laga.',\r\n },\r\n {\r\n title: 'Óviðráðanlegar aðstæður (Force Majeure)',\r\n text:\r\n 'Hvorugur aðili skal teljast brotlegur gegn skilmálum þessum eða ábyrgur gagnvart hinum ef orsök er að rekja til atvika sem viðkomandi aðili hefur ekki á valdi sínu (óviðráðanleg atvik). Óviðráðanleg atvik í þessum skilningi eru m.a. en ekki einskorðuð við náttúruhamfarir, styrjaldir eða almennar óeirðir, aðgerðir opinberra aðila sem gera efndir ómögulegar, vinnudeilur o.þ.h. Hafi efndir verið útilokaðar af framangreindum sökum í 6 vikur eða lengur er hvorum aðila um sig heimilt að slíta samningi þessum með tilkynningu til gagnaðila sem gefin skal með 7 daga fyrirvara.',\r\n },\r\n {\r\n title: 'Breytingar á skilmálum',\r\n text:\r\n 'YAY ehf. er þjónusta sem er í stöðugri þróun. YAY ehf. áskilur sér því rétt að breyta ákvæðum þessara skilmála, enda verði notendum þjónustunnar tilkynnt í tölvupósti um allar breytingar á viðeigandi hátt með 10 daga fyrirvara. Breytingar þessar geta varðað vörur sem eru notaðar og virkni þeirra. Noti notandi þjónustuna að 10 daga fyrirvaranum liðnum verður litið svo á að hann hafi samþykkt skilmálana í breyttri mynd. Sætti notandi sig ekki við skilmálana eftir breytingu skal hann hætta notkun þjónustunnar án tafar.',\r\n },\r\n {\r\n title: 'Persónuupplý­singar',\r\n text:\r\n 'Á www.yay.is er aðgengileg persónuverndar­stefna félagsins. Í þessari persónuvernda­ryfirlýsingu kemur fram hvernig YAY umgengst þær persónuupplýsingar sem YAY geymir um kaupanda og hvaða réttindi hann á varðandi upplýsingarnar.',\r\n },\r\n ],\r\n },\r\n}\r\n\r\nexport default copy\r\n","import React from 'react'\r\n\r\nconst Social = props => {\r\n const { color = '#fff', size = 48, fb, ig = false } = props\r\n\r\n if (fb) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n if (ig) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Social\r\n","import React from 'react'\r\nimport { withTranslation, Trans } from 'react-i18next'\r\n\r\nimport {\r\n Container,\r\n OverLineContainer,\r\n OverLineContainerMobile,\r\n UnderLineContainer,\r\n UnderLineContainerMobile,\r\n ColumnContainer,\r\n RowContainer,\r\n} from './styles'\r\nimport copy from '~/assets/copy'\r\nimport Social from '~/components/Icon/Social'\r\n\r\nconst year = new Date().getFullYear()\r\n\r\nconst Footer = ({ t }) => {\r\n const { copyright } = copy.footer\r\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth)\r\n\r\n React.useEffect(() => {\r\n window.addEventListener('resize', () => setWindowWidth(window.innerWidth))\r\n }, [])\r\n\r\n if (windowWidth > 768) {\r\n // The desktop version\r\n return (\r\n \r\n \r\n

{t('get in touch')}

\r\n

{t('FOLLOW US')}

\r\n
\r\n \r\n \r\n
{t('EMAIL US')}
\r\n info@yay.is\r\n
\r\n \r\n \r\n \r\n {t('Terms')}\r\n \r\n |\r\n \r\n {t('Privacy')}\r\n \r\n |\r\n \r\n {t('About')}\r\n \r\n \r\n \r\n {copyright}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n // The mobile version\r\n return (\r\n \r\n \r\n

{t('get in touch')}

\r\n
\r\n \r\n
{t('EMAIL US')}
\r\n info@yay.is\r\n
\r\n\r\n \r\n

{t('FOLLOW US')}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {t('Terms')}\r\n {t('Privacy')}\r\n \r\n {copyright}\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default withTranslation()(Footer)\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Page = styled.div`\r\n display: flex;\r\n flex: 1;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: initial;\r\n background: ${theme.primaryColor};\r\n padding: 5% 8%;\r\n padding-top: 120px;\r\n min-height: 500px;\r\n transition: height 800ms;\r\n position: relative;\r\n * {\r\n -webkit-animation-name: animatebottom;\r\n -webkit-animation-duration: 1s;\r\n animation-name: animatebottom;\r\n animation-duration: 0.5s;\r\n @-webkit-keyframes animatebottom {\r\n from {\r\n bottom: -100px;\r\n opacity: 0;\r\n }\r\n to {\r\n bottom: 0px;\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes animatebottom {\r\n from {\r\n bottom: -100px;\r\n opacity: 0;\r\n }\r\n to {\r\n bottom: 0;\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n\r\n img {\r\n align-self: center;\r\n object-fit: contain;\r\n max-width: ${({ imgSize }) => imgSize || 200}px;\r\n }\r\n\r\n @media only screen and (max-width: 1200px) {\r\n padding: 5% 5%;\r\n padding-top: 120px;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n padding: 5% 30px;\r\n padding-top: 120px;\r\n }\r\n`\r\n\r\nexport const WhitePage = styled(Page)`\r\n background-color: #f2f2f2;\r\n color: #171d33;\r\n`\r\n\r\nexport const WhiteRowPage = styled(WhitePage)`\r\n flex-direction: row;\r\n justify-content: center;\r\n width: 100%;\r\n // padding-right: 0;\r\n // padding-left: 8%;\r\n padding-bottom: 0;\r\n position: relative;\r\n align-items: flex-start;\r\n\r\n @media only screen and (max-width: 768px) {\r\n padding: 5% 10px;\r\n padding-top: 120px;\r\n padding-right: 10px;\r\n }\r\n\r\n img {\r\n max-width: 100%;\r\n }\r\n`\r\n\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\nimport listcircle from '~/assets/images/list-ellipse.svg'\r\n\r\nexport const AccordionContainer = styled.div`\r\n background-color: white;\r\n border-radius: 8px;\r\n box-shadow: 0px, 0px, 24px rgba(0, 0, 0, 0.08);\r\n padding: 24px 40px;\r\n margin: 8px;\r\n cursor: pointer;\r\n letter-spacing: 0.5px;\r\n`\r\n\r\nexport const AccordionTitle = styled.h2`\r\n font-size: 24px;\r\n line-height: 31px;\r\n font-family: Sarabun;\r\n font-weight: bold;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n color: ${theme.primaryColor};\r\n`\r\n\r\nexport const AccordionContent = styled.div`\r\n font-size: 16px;\r\n font-weight: 300;\r\n line-height: 150%;\r\n color: ${theme.darkTypeColor};\r\n overflow: hidden;\r\n max-height: 0;\r\n transition: 300ms;\r\n p {\r\n font-size: 16px;\r\n line-height: 24px;\r\n }\r\n ul {\r\n margin-top: 16px;\r\n line-height: 32px;\r\n }\r\n li {\r\n padding-left: 10px;\r\n list-style-position: inside;\r\n list-style-image: url(${listcircle});\r\n }\r\n`\r\n","import React from 'react'\r\nimport { theme } from '~/theme'\r\n\r\nimport './plus.css'\r\n\r\nconst Logo = props => {\r\n const { active } = props\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Logo\r\n","import React, { useRef } from 'react'\r\n\r\nimport { AccordionContainer, AccordionTitle, AccordionContent } from './styles'\r\n\r\nimport Plus from '~/components/Icon/Plus'\r\n\r\nconst Accordion = props => {\r\n const { question, active, answer, clickHandler = false } = props\r\n const content = useRef(null)\r\n\r\n return (\r\n \r\n \r\n {question}\r\n \r\n \r\n \r\n {answer}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Accordion\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\n\r\nimport back from '~/assets/images/back.svg'\r\nimport forward from '~/assets/images/forward.svg'\r\n\r\nexport const ImageContainer = styled.div`\r\n margin-top: -5%;\r\n display: flex;\r\n height: 100%;\r\n\r\n li.slide {\r\n background: none !important;\r\n height: 100%;\r\n }\r\n li.slide div {\r\n height: 100%;\r\n }\r\n\r\n * {\r\n max-height: 100%;\r\n }\r\n\r\n li.dot {\r\n width: 64px !important;\r\n height: 6px !important;\r\n border-radius: 30px !important;\r\n box-shadow: none !important;\r\n background: ${theme.bodyTypeColor} !important;\r\n }\r\n li.dot.selected {\r\n background: ${theme.secondaryColor} !important;\r\n }\r\n button.control-arrow:hover {\r\n background: none !important;\r\n }\r\n button.control-arrow.control-prev::before {\r\n content: url(${back}) !important;\r\n border: none !important;\r\n }\r\n button.control-arrow.control-next::before {\r\n content: url(${forward}) !important;\r\n border: none !important;\r\n }\r\n\r\n .carousel .control-dots .dot {\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n max-width: 500px;\r\n margin-bottom: 40px;\r\n margin-top: -60px !important;\r\n }\r\n\r\n @media only screen and (max-width: 900px) {\r\n margin-top: 60px;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n height: 40vw;\r\n`\r\n","import React from 'react'\r\n\r\nimport { Carousel } from 'react-responsive-carousel'\r\n\r\nimport 'react-responsive-carousel/lib/styles/carousel.min.css'\r\n\r\nimport { ImageContainer } from './styles'\r\n\r\nconst HeroCarousel = props => {\r\n const { carousel, showArrows, staticLoop = false } = props\r\n\r\n return (\r\n \r\n \r\n {carousel.map((element, index) => (\r\n
\r\n \"\"\r\n
\r\n ))}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default HeroCarousel\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Title = styled.h1`\r\n font-weight: 600;\r\n font-size: 40px;\r\n color: ${theme.darkTypeColor};\r\n line-height: 52px;\r\n letter-spacing: 0.5px;\r\n padding: 16px;\r\n margin: 5vh 0;\r\n margin-bottom: 4vh;\r\n height: 100%;\r\n`\r\n\r\nexport const AccordionContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 60%;\r\n height: 100%;\r\n padding-bottom: 40px;\r\n\r\n @media only screen and (max-width: 768px) {\r\n max-width: 100%;\r\n }\r\n`\r\n\r\nexport const ImageContainer = styled.div`\r\n position: sticky;\r\n top: -1%;\r\n display: flex;\r\n flex-direction: column;\r\n height: 90%;\r\n max-height: 90%;\r\n justify-content: flex-start;\r\n padding: 4vw;\r\n width: 40%;\r\n\r\n img {\r\n max-height: 90vh;\r\n }\r\n`\r\n","import Prismic from 'prismic-javascript'\r\n\r\nexport const linkResolver = doc => {\r\n switch (doc.type) {\r\n case 'landing':\r\n return '/'\r\n case 'qanda':\r\n return '/QandA'\r\n case 'ferdaradgjof':\r\n return '/Ferdagjof'\r\n case 'about':\r\n return '/About'\r\n case 'partners':\r\n return '/Suppliers'\r\n default:\r\n return '/'\r\n }\r\n}\r\n\r\nexport const client = Prismic.client('https://yey-front.cdn.prismic.io/api/v2')\r\n\r\nexport const fetchSingleDocument = async (\r\n type,\r\n setPrismicData,\r\n toggleNotFound,\r\n language\r\n) => {\r\n console.log('he', language)\r\n setPrismicData(null)\r\n const langFix = { is: 'is', eng: 'en-gb' }\r\n try {\r\n const landing = await client.query(\r\n Prismic.Predicates.at('document.type', type),\r\n { lang: langFix[language] }\r\n )\r\n\r\n if (landing.results[0]) {\r\n console.log(landing.results[0])\r\n setPrismicData(landing.results[0])\r\n } else {\r\n console.warn(\r\n `${type} document was not found. Make sure it exists in your Prismic repository`\r\n )\r\n toggleNotFound(true)\r\n }\r\n } catch (error) {\r\n console.error(error)\r\n toggleNotFound(true)\r\n }\r\n}\r\n","import styled from 'styled-components'\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 3%;\r\n\r\n @media only screen and (max-width: 768px) {\r\n font-size: 28px;\r\n }\r\n`\r\n","import styled from 'styled-components'\r\n\r\nexport const Image = styled.img`\r\n margin-bottom: 20px;\r\n border-radius: 100px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 5%;\r\n`\r\n\r\nexport const Section = styled.div`\r\n text-align: center;\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n\r\n h3,\r\n p {\r\n color: white;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n white-space: pre-wrap;\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\nimport { Trans, withTranslation } from 'react-i18next'\r\n\r\nimport copy from '~/assets/copy'\r\nimport exploding from '~/assets/images/exploding.gif'\r\n\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Image, Section } from './styles'\r\n\r\nconst NotFound = () => {\r\n const { text } = copy.notfound\r\n\r\n return (\r\n \r\n \"\"\r\n 404\r\n
\r\n

\r\n {text}\r\n

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default withTranslation()(NotFound)\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { RichText } from 'prismic-reactjs'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { WhiteRowPage } from '~/components/Page'\r\nimport Accordion from '~/components/Accordion'\r\nimport HeroCarousel from '~/components/HeroCarousel'\r\nimport { Title, AccordionContainer, ImageContainer } from './styles'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nimport defaultPic from '~/assets/images/carousel-phone.png'\r\n\r\nconst QandA = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'qanda',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'qanda',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n const mobileBreakpoint = 768\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', () => setWindowWidth(window.innerWidth))\r\n }, [])\r\n\r\n const [currentActiveQuestion, setCurrentActiveQuestion] = useState(-1)\r\n\r\n function handleChildClick(i) {\r\n if (i === currentActiveQuestion) setCurrentActiveQuestion(-1)\r\n else setCurrentActiveQuestion(i)\r\n }\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n \r\n \r\n {prismicData.data.main_title[0].text}\r\n {prismicData.data.body.map((currQandA, i) => (\r\n handleChildClick(i)}\r\n />\r\n ))}\r\n \r\n {windowWidth > mobileBreakpoint && (\r\n \r\n {currentActiveQuestion === -1 ||\r\n prismicData.data.body[currentActiveQuestion].items.length ===\r\n 1 ? (\r\n \r\n ) : (\r\n element.illustration.url)}\r\n showArrows\r\n staticLoop\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n\r\n return \r\n}\r\n\r\nexport default QandA\r\n","import styled from 'styled-components'\r\n\r\nexport const Section = styled.section`\r\n\r\n flex-direction: row;\r\n padding: 5% 5%!important;\r\n align-items: center;\r\n\r\n position: relative;\r\n -webkit-animation-name: animatebottom;\r\n -webkit-animation-duration: 1s;\r\n animation-name: animatebottom;\r\n animation-duration: 1s @-webkit-keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n button {\r\n padding: 18px 45px;\r\n }\r\n\r\n :first-child {\r\n padding: 150px 5% 6%;\r\n }\r\n\r\n @media only screen and (min-width: 1600px) {\r\n background-size: 85%;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n background-image: none;\r\n flex-direction: column;\r\n\r\n justify-content: center;\r\n align-items: center;\r\n padding: 25% 5%;\r\n\r\n :first-child {\r\n padding: 200px 5% 25%;\r\n }\r\n div {\r\n // width: 100%;\r\n }\r\n }\r\n`\r\n\r\nexport const CopyContainer = styled.div`\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 2vw 10vw 0 4vw;\r\n @media only screen and (max-width: 768px) {\r\n padding: 0;\r\n margin-top: 50px;\r\n }\r\n`\r\n\r\nexport const ImageContainer = styled.div`\r\n justify-content: center;\r\n align-items: center;\r\n display: flex;\r\n margin-top: 50px;\r\n\r\n @media only screen and (min-width: 768px) {\r\n height: 40vw;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n object-fit: contain;\r\n width: 100%;\r\n`\r\n","import React from 'react'\r\nimport { Trans } from 'react-i18next'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Container = styled.div`\r\n flex: 0;\r\n text-align: ${({ center }) => (center ? 'center' : 'left')};\r\n`\r\n\r\nconst Title = styled.h1`\r\n color: ${props => props.color};\r\n margin-bottom: 15px;\r\n font-size: 40px;\r\n word-break: break-word;\r\n`\r\n\r\nconst SubTitle = styled.h2`\r\n color: ${props => props.color};\r\n margin-top: 15px;\r\n margin-bottom: 15px;\r\n font-size: 24px;\r\n word-break: break-word;\r\n`\r\n\r\nconst Body = styled.div`\r\n color: ${props => props.color};\r\n margin-bottom: 30px;\r\n font-size: 20px;\r\n line-height: 160%;\r\n letter-spacing: 0.5px;\r\n font-weight: 300;\r\n`\r\n\r\nconst HeroText = props => {\r\n const { title, subtitle, body, color, size, center, bottom = false, fontWeight = 600 } = props\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n <Trans>{title}</Trans>\r\n \r\n )}\r\n {subtitle && (\r\n \r\n {subtitle}\r\n \r\n )}\r\n \r\n {body}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default HeroText\r\n","import React from 'react'\r\nimport { ImageContainer, Section, Image, CopyContainer } from './styles'\r\nimport HeroText from '~/components/HeroText'\r\n\r\n\r\nconst GjafabrefAccepted = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default GjafabrefAccepted\r\n","import styled from 'styled-components'\r\n\r\nexport const Section = styled.div`\r\n text-align: center;\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n\r\n h3,\r\n p {\r\n color: white;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n white-space: pre-wrap;\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React, { useEffect } from 'react'\r\nimport { Trans, useTranslation, withTranslation } from 'react-i18next'\r\n\r\nimport { RichText } from 'prismic-reactjs'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport Logo from '~/components/Icon/Logo'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst About = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'about',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'about',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n \r\n \r\n <Trans>{RichText.asText(prismicData.data.title)}</Trans>\r\n \r\n
\r\n
{RichText.render(prismicData.data.text, linkResolver)}
\r\n
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default withTranslation()(About)\r\n","import styled from 'styled-components'\r\n\r\nexport const Section = styled.div`\r\n text-align: center;\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n\r\n a {\r\n color: #54D3AD;\r\n }\r\n\r\n h3,\r\n p {\r\n color: white;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n white-space: pre-wrap;\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React, { useEffect } from 'react'\r\nimport { Trans, useTranslation, withTranslation } from 'react-i18next'\r\n\r\nimport { RichText } from 'prismic-reactjs'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport Logo from '~/components/Icon/Logo'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst About = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'fyrirtaekjagjafir',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'fyrirtaekjagjafir',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n \r\n \r\n <Trans>{RichText.asText(prismicData.data.title)}</Trans>\r\n \r\n
\r\n
{RichText.render(prismicData.data.text, linkResolver)}
\r\n
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default withTranslation()(About)\r\n","import styled from 'styled-components'\r\n\r\nexport const ImageContainer = styled.div`\r\n justify-content: center;\r\n align-items: center;\r\n display: none;\r\n\r\n @media only screen and (min-width: 768px) {\r\n display: flex;\r\n height: 40vw;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n object-fit: contain;\r\n width: 100%;\r\n`\r\n","import React from 'react'\r\n\r\nimport { ImageContainer, Image } from './styles'\r\n\r\nconst HeroImage = ({ source }) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default HeroImage\r\n","import React from 'react'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Img1 = props => {\r\n const { fill = theme.primaryColor } = props\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\nexport const Img2 = props => {\r\n const { fill = theme.secondaryColor } = props\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Img3 = props => {\r\n const { fill = theme.bodyTypeColor } = props\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const Img4 = props => {\r\n const { fill = theme.primaryColor } = props\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n","import styled from 'styled-components'\r\n\r\nimport { theme } from '../../theme'\r\n\r\nexport const Container = styled.div`\r\n margin: 20px 0;\r\n /* max-height: 10vh; */\r\n flex: 0;\r\n`\r\n\r\nexport const Icon = styled.div`\r\n max-width: 20px;\r\n justify-content: center;\r\n`\r\nexport const BulletContainer = styled.div`\r\n /* max-height: 4vh; */\r\n flex-direction: row;\r\n`\r\nexport const TextContainer = styled.div`\r\n padding-left: 10px;\r\n justify-content: center;\r\n color: ${theme.darkTypeColor};\r\n`\r\n\r\nexport const Text = styled.p`\r\n font-weight: 700;\r\n color: ${props => props.color};\r\n letter-spacing: 0.5px;\r\n margin: 5px 0;\r\n`\r\n","import React from 'react'\r\nimport { Trans } from 'react-i18next'\r\n\r\nimport { Img1, Img2, Img3, Img4 } from '~/components/Icon/ListIcons'\r\n\r\nimport { Container, Icon, BulletContainer, TextContainer, Text } from './styles'\r\n\r\nconst HeroBullets = ({ bullets, color }) => {\r\n const imgs = [, , , ]\r\n return (\r\n \r\n {bullets.map((bullet, i) => (\r\n \r\n {imgs[i]}\r\n \r\n \r\n {bullet.text}\r\n \r\n \r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nexport default HeroBullets\r\n","import styled from 'styled-components'\r\nimport background from '~/assets/images/background.svg'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Section = styled.section`\r\n background-color: white;\r\n background-image: url(${({ bg }) => (bg ? 'none' : background)});\r\n background-position: right;\r\n background-size: calc(1000px + 10vw);\r\n background-repeat: no-repeat;\r\n background: ${({ bg }) => bg};\r\n\r\n flex-direction: row;\r\n padding: 5% 5%;\r\n align-items: ${({ align }) => align || 'center'};\r\n\r\n position: relative;\r\n -webkit-animation-name: animatebottom;\r\n -webkit-animation-duration: 1s;\r\n animation-name: animatebottom;\r\n animation-duration: 1s @-webkit-keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n button {\r\n padding: 18px 45px;\r\n }\r\n\r\n :first-child {\r\n padding: 150px 5% 6%;\r\n }\r\n\r\n @media only screen and (min-width: 1600px) {\r\n background-size: 85%;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n background: ${({ bg }) => bg || theme.primaryColor};\r\n background-color: ${theme.primaryColor};\r\n background-image: none;\r\n flex-direction: column;\r\n\r\n justify-content: center;\r\n align-items: center;\r\n padding: 25% 5%;\r\n\r\n :first-child {\r\n padding: 200px 5% 25%;\r\n }\r\n div {\r\n // width: 100%;\r\n }\r\n }\r\n`\r\n\r\nexport const ButtonContainer = styled.div`\r\n flex-direction: row;\r\n justify-content: center;\r\n flex: 0.5;\r\n align-items: center;\r\n\r\n button {\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n padding-left: 100px;\r\n padding-right: 100px;\r\n margin-bottom: 10px;\r\n font-weight: 700;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n font-size: 16px;\r\n height: 50px;\r\n background: rgb(84, 211, 173);\r\n color: white;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n border: none;\r\n border-radius: 30px;\r\n transition: opacity 0.2s ease-in-out;\r\n }\r\n`\r\n\r\n\r\nexport const CopyContainer = styled.div`\r\n flex-direction: column;\r\n width: 100%;\r\n padding: ${({ align }) =>\r\n align === 'center' ? '2vw 4vw' : '2vw 10vw 0 4vw'};\r\n justify-content: ${({ align }) => align};\r\n align-items: ${({ align }) => align};\r\n\r\n @media only screen and (max-width: 768px) {\r\n padding: 0;\r\n }\r\n`\r\n","import styled from 'styled-components'\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n .applink-header {\r\n color: white;\r\n margin-bottom: 10px;\r\n font-size: 150%;\r\n }\r\n`\r\nexport const AppLinkContainer = styled.div`\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n flex: 0.5;\r\n\r\n a {\r\n margin: 0 20px 20px;\r\n width: 150px;\r\n height: 60px;\r\n display: flex;\r\n overflow: hidden;\r\n border: 1px solid white;\r\n border-radius: 10px;\r\n }\r\n\r\n img {\r\n align-self: center;\r\n object-fit: contain;\r\n max-width: ${({ imgSize }) => imgSize || 200}px;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n`\r\n","import React from 'react'\r\nimport apple from '~/assets/images/badge-apple.svg'\r\nimport google from '~/assets/images/badge-google-transparent.svg'\r\n\r\nimport { Container, AppLinkContainer } from './styles'\r\n\r\nconst AppLinks = props => {\r\n const { header } = props\r\n return (\r\n \r\n
{header}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default AppLinks\r\n","import React, { useEffect } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { RichText } from 'prismic-reactjs'\r\nimport { linkResolver, fetchSingleDocument } from '~/prismic-configuration'\r\nimport HeroCarousel from '~/components/HeroCarousel'\r\nimport HeroImage from '~/components/HeroImage'\r\nimport HeroText from '~/components/HeroText'\r\nimport HeroBullets from '~/components/HeroBullets'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nimport { theme } from '~/theme'\r\n\r\nimport { Section, CopyContainer, ButtonContainer } from './styles'\r\nimport AppLinks from '~/components/AppLinks'\r\nimport { Page } from '~/components/Page'\r\n\r\nconst Landing = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'landing',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'landing',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n
\r\n
\r\n {\r\n return element.selling_image.url\r\n })}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {prismicData.data.body.map((element, i) => {\r\n // generating all sections\r\n return (\r\n \r\n {i % 2 ? : null}\r\n\r\n \r\n \r\n {\r\n if (el['list-item'][0])\r\n return { text: el['list-item'][0].text }\r\n return null\r\n })}\r\n color={element.primary.text_color}\r\n />\r\n \r\n {i === 0 ?\r\n \r\n \r\n \r\n : null}\r\n\r\n \r\n\r\n\r\n\r\n {i % 2 ? null : }\r\n \r\n )\r\n })}\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n\r\n return \r\n}\r\n\r\nexport default Landing\r\n","import styled from 'styled-components'\r\nimport background from '~/assets/images/background.svg'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Section = styled.section`\r\n background-color: #613EEA;\r\n background-image: url(${({ bg }) => (bg ? 'none' : background)});\r\n background-position: right;\r\n background-size: calc(1000px + 10vw);\r\n background-repeat: no-repeat;\r\n background: ${({ bg }) => bg};\r\n\r\n flex-direction: row;\r\n padding: 5% 5%!important;\r\n align-items: center;\r\n\r\n position: relative;\r\n -webkit-animation-name: animatebottom;\r\n -webkit-animation-duration: 1s;\r\n animation-name: animatebottom;\r\n animation-duration: 1s @-webkit-keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n button {\r\n padding: 18px 45px;\r\n }\r\n\r\n :first-child {\r\n padding: 150px 5% 6%;\r\n }\r\n\r\n @media only screen and (min-width: 1600px) {\r\n background-size: 85%;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n background: ${({ bg }) => bg || theme.primaryColor};\r\n background-color: ${theme.primaryColor};\r\n background-image: none;\r\n flex-direction: column;\r\n\r\n justify-content: center;\r\n align-items: center;\r\n padding: 25% 5%;\r\n\r\n :first-child {\r\n padding: 200px 5% 25%;\r\n }\r\n div {\r\n // width: 100%;\r\n }\r\n }\r\n`\r\n\r\nexport const CopyContainer = styled.div`\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 2vw 10vw 0 4vw;\r\n @media only screen and (max-width: 768px) {\r\n padding: 0;\r\n }\r\n`\r\n\r\nexport const ImageContainer = styled.div`\r\n justify-content: center;\r\n align-items: center;\r\n display: flex;\r\n\r\n @media only screen and (min-width: 768px) {\r\n height: 40vw;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n object-fit: contain;\r\n width: 100%;\r\n`\r\n","import styled from 'styled-components'\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n .applink-header {\r\n color: white;\r\n margin-bottom: 10px;\r\n font-size: 150%;\r\n }\r\n\r\n.fileupload {\r\n display: none;\r\n}\r\n.abc {\r\n display: none;\r\n background: #613EEA;\r\n border: 3px solid rgb(84, 211, 173);\r\n}\r\n\r\n.lds-dual-ring {\r\n display: none;\r\n width: 80px;\r\n height: 80px;\r\n}\r\n.lds-dual-ring:after {\r\n content: \" \";\r\n display: block;\r\n width: 64px;\r\n height: 64px;\r\n margin: 8px;\r\n border-radius: 50%;\r\n border: 6px solid #fff;\r\n border-color: #fff transparent #fff transparent;\r\n animation: lds-dual-ring 1.2s linear infinite;\r\n}\r\n@keyframes lds-dual-ring {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n\r\n\r\n`\r\nexport const AppLinkContainer = styled.div`\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n flex: 0.5;\r\n\r\n.lds-dual-ring {\r\n display: none;\r\n width: 80px;\r\n height: 80px;\r\n}\r\n.lds-dual-ring:after {\r\n content: \" \";\r\n display: block;\r\n width: 64px;\r\n height: 64px;\r\n margin: 8px;\r\n border-radius: 50%;\r\n border: 6px solid #fff;\r\n border-color: #fff transparent #fff transparent;\r\n animation: lds-dual-ring 1.2s linear infinite;\r\n}\r\n@keyframes lds-dual-ring {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n\r\n button {\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n padding-left: 100px;\r\n padding-right: 100px;\r\n margin-bottom: 10px;\r\n font-weight: 700;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n font-size: 16px;\r\n height: 50px;\r\n background: rgb(84, 211, 173);\r\n color: white;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n border: none;\r\n border-radius: 30px;\r\n transition: opacity 0.2s ease-in-out;\r\n }\r\n\r\n img {\r\n align-self: center;\r\n object-fit: contain;\r\n max-width: ${({ imgSize }) => imgSize || 200}px;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n`\r\n","import React from 'react';\r\nimport ImageUploading from 'react-images-uploading';\r\nimport { AppLinkContainer } from './styles'\r\nconst axios = require(\"axios\");\r\n \r\nexport function App() {\r\n const [images, setImages] = React.useState([]);\r\n const maxNumber = 69;\r\n \r\n const onChange = (imageList, addUpdateIndex) => {\r\n\r\n var loader = document.getElementById(\"loader\");\r\n loader.style.display = \"inline-block\";\r\n\r\n console.log(imageList, addUpdateIndex);\r\n console.log(imageList[0].data_url);\r\n setImages(imageList);\r\n\r\n axios.post('https://giftcard.yay.is/uploadIMG', { img: imageList[0] })\r\n .then(function(response){\r\n window.location.href = \"/GjafabrefSubmit?img=\" + response.data;\r\n});\r\n\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n {({\r\n onImageUpload,\r\n isDragging,\r\n dragProps,\r\n }) => (\r\n // write your building UI\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n}\r\n\r\n\r\nexport default App\r\n","import React from 'react'\r\nimport HeroText from '~/components/HeroText'\r\nimport { theme } from '~/theme'\r\nimport { Section, CopyContainer, ImageContainer, Image } from './styles'\r\nimport GjafabrefUpload from '~/components/GjafabrefUpload'\r\n\r\nconst Landing = () => {\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n í skúffunni þinni?'}\r\n size={40}\r\n body={'Alltof mörg gjafabréf hljóta þau örlög að glatast – drukkna ofan í draslskúffu eða týnast ofan í tösku þar til það er um seinan.'}\r\n color=\"white\"\r\n bottom=\"10px\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\nexport default Landing\r\n","import styled from 'styled-components'\r\n\r\nexport const Section = styled.section`\r\n\r\n flex-direction: row;\r\n padding: 5% 5%!important;\r\n align-items: center;\r\n\r\n position: relative;\r\n -webkit-animation-name: animatebottom;\r\n -webkit-animation-duration: 1s;\r\n animation-name: animatebottom;\r\n animation-duration: 1s @-webkit-keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n @keyframes animatebottom {\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n button {\r\n padding: 18px 45px;\r\n }\r\n\r\n :first-child {\r\n padding: 150px 5% 6%;\r\n }\r\n\r\n @media only screen and (min-width: 1600px) {\r\n background-size: 85%;\r\n }\r\n\r\n @media only screen and (max-width: 768px) {\r\n background-image: none;\r\n flex-direction: column;\r\n\r\n justify-content: center;\r\n align-items: center;\r\n padding: 25% 5%;\r\n\r\n :first-child {\r\n padding: 200px 5% 25%;\r\n }\r\n div {\r\n // width: 100%;\r\n }\r\n }\r\n`\r\n\r\nexport const CopyContainer = styled.div`\r\n flex-direction: column;\r\n width: 100%;\r\n padding: 2vw 10vw 0 4vw;\r\n @media only screen and (max-width: 768px) {\r\n padding: 0;\r\n margin-top: 50px;\r\n }\r\n`\r\n\r\nexport const ImageContainer = styled.div`\r\n justify-content: center;\r\n align-items: center;\r\n display: flex;\r\n margin-top: 50px;\r\n\r\n @media only screen and (min-width: 768px) {\r\n height: 40vw;\r\n }\r\n`\r\n\r\nexport const Image = styled.img`\r\n object-fit: contain;\r\n width: 100%;\r\n`\r\n","import styled from 'styled-components'\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n text-align: center;\r\n margin-top: 50px;\r\n\r\n input {\r\n border: unset;\r\n background: unset;\r\n border-bottom: 1px solid #613EEA;\r\n width: 100%;\r\n text-align: center;\r\n font-size: 20px;\r\n font-weight: 700;\r\n margin-bottom: 50px;\r\n margin-top: 18px;\r\n }\r\n\r\n button {\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n padding-left: 100px;\r\n padding-right: 100px;\r\n height: 50px;\r\n font-weight: 700;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n font-size: 16px;\r\n background: rgb(84, 211, 173);\r\n color: white;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n border: none;\r\n border-radius: 30px;\r\n transition: opacity 0.2s ease-in-out;\r\n }\r\n\r\n .checkbox-container {\r\n display: block;\r\n }\r\n\r\n .checkbx {\r\n width: unset;\r\n margin-right: 5px;\r\n }\r\n\r\n .mBN {\r\n margin-bottom: 0px;\r\n margin-top: 20px!important;\r\n }\r\n\r\n .mT5 {\r\n margin-top: 10px;\r\n }\r\n\r\n a {\r\n text-decoration: underline;\r\n }\r\n\r\n label {\r\n font-size: 16px;\r\n font-weight: 500;\r\n color: #777777;\r\n }\r\n\r\n form {\r\n width: 100%\r\n }\r\n`","import React, { Component } from 'react'\r\nimport { Container } from './styles'\r\n\r\n\r\nconst axios = require(\"axios\");\r\n\r\n\r\nlet search = window.location.search;\r\nlet params = new URLSearchParams(search);\r\nlet query = params.get('img');\r\nconsole.log(query);\r\n\r\n\r\nclass GjafabrefSubmitForm extends Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state={'phone': '', 'email':'', img:query, ip:'', 'checkbox':false, 'checkboxR':false}\r\n }\r\n handleChangeEmail(e){\r\n this.getIp();\r\n this.setState({email: e.target.value});\r\n }\r\n handleChangePhone(e){\r\n this.getIp();\r\n this.setState({phone: e.target.value});\r\n }\r\n handleChangeCheckBox(e){\r\n this.getIp();\r\n this.setState({checkbox: e.target.checked});\r\n }\r\n handleChangeCheckBoxR(e){\r\n this.getIp();\r\n this.setState({checkboxR: e.target.checked});\r\n }\r\n async getIp() {\r\n axios.get('https://api.ipify.org?format=json').then(response => {\r\n return this.setState({ip: response.data.ip});\r\n }).catch((err) => console.error('Problem fetching my IP', err))\r\n } \r\n\r\n componentDidMount() {\r\n document.getElementById(\"phone\").value = '+354 ';\r\n }\r\n\r\n\r\n handleSubmit(e){\r\n\r\nif (this.state.email === '') {\r\n alert('Vinsamlegast gefðu upp netfang.');\r\n return;\r\n} else if (this.state.phone === '') {\r\n alert('Vinsamlegast gefðu upp símanúmer.');\r\n return;\r\n} else if (this.state.checkbox === false) {\r\n alert('Vinsamlegast samþykktu skilmálana.');\r\n return;\r\n} else if (this.state.checkboxR === false) {\r\n alert('Vinsamlegast samþykktu reglurnar.');\r\n return;\r\n} else {\r\n\r\n this.getIp();\r\n e.preventDefault();\r\n axios.post(\"https://giftcard.yay.is/update\", {\r\n phone: this.state.phone,\r\n email: this.state.email,\r\n img: this.state.img,\r\n ip: this.state.ip\r\n })\r\n .then((response) => {\r\n \r\n if(response.data === 'duplicate') {\r\n alert('Símanúmer hefur nú þegar verið notað. Einungis er hægt að taka þátt einu sinni.')\r\n } else if (response.data === 'success') {\r\n window.location.href = \"/GjafabrefAccepted\";\r\n } else {\r\n alert (response.data);\r\n }\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n\r\n\r\n render(){\r\n return(\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n )\r\n }\r\n }\r\n\r\nexport default GjafabrefSubmitForm\r\n","import React from 'react'\r\nimport { ImageContainer, Section, Image, CopyContainer } from './styles'\r\nimport HeroText from '~/components/HeroText'\r\nimport GjafabrefSubmitForm from '~/components/GjafabrefSubmitForm'\r\n\r\n\r\nconst GjafabrefSubmit = () => {\r\n\r\nlet getQuery = new URLSearchParams(window.location.search);\r\nlet imgQuery = getQuery.get('img');\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n )\r\n }\r\n\r\nexport default GjafabrefSubmit\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 5%;\r\n`\r\n\r\nexport const Section = styled.div`\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n color: white;\r\n font-size: calc(14px + 0.4vw);\r\n\r\n h3 {\r\n color: white;\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n ol {\r\n margin-left: 80px;\r\n margin-bottom: calc(3rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst Privacy = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument(\r\n 'privacy',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n\r\n
\r\n {RichText.render(prismicData.data.text, linkResolver)}\r\n
\r\n
\r\n )\r\n }\r\n if (notFound) return \r\n return \r\n}\r\n\r\nexport default Privacy\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\nimport listcircle from '~/assets/images/list-ellipse.svg'\r\n\r\nexport const Section = styled.div`\r\n text-align: left;\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n\r\n a,\r\n h3,\r\n p {\r\n color: ${theme.darkTypeColor};\r\n line-height: 32px;\r\n }\r\n\r\n a {\r\n font-weight: 700;\r\n font-size: calc(14px + 0.4vw);\r\n letter-spacing: 0.5px;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n white-space: pre-wrap;\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n ul {\r\n font-size: 16px;\r\n font-weight: 300;\r\n line-height: 32px;\r\n }\r\n li {\r\n padding-left: 10px;\r\n list-style-position: inside;\r\n list-style-image: url(${listcircle});\r\n }\r\n`\r\n\r\nexport const Title = styled.h1`\r\n color: ${theme.darkTypeColor};\r\n margin-bottom: 32px;\r\n text-align: left;\r\n width: 100%;\r\n`\r\n\r\nexport const Column = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`\r\nexport const Row = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`\r\n\r\nexport const Cards = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n width: 100%;\r\n`\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\n\r\nexport const CardContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n min-width: 168px;\r\n max-width: 168px;\r\n margin: 20px;\r\n justify-content: flex-start;\r\n img {\r\n width: 168px;\r\n height: 136px;\r\n min-height: 136px;\r\n max-height: 136px;\r\n padding: 16px;\r\n background-color: white;\r\n border-radius: 8px 8px 0px 0px;\r\n }\r\n h2 {\r\n font-size: 16px;\r\n line-height: 32px;\r\n font-weight: bold;\r\n color: ${theme.darkTypeColor};\r\n width: 100%;\r\n text-align: left;\r\n margin: 8px 0;\r\n }\r\n p {\r\n font-size: 14px;\r\n line-height: 18px;\r\n font-weight: 300;\r\n margin-top: 8px;\r\n }\r\n`\r\nexport const FancyCardContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n min-width: 230px;\r\n max-width: 230px;\r\n margin: 20px;\r\n justify-content: flex-start;\r\n background-color: white;\r\n border-radius: 8px;\r\n img {\r\n width: 230px;\r\n height: 136px;\r\n min-height: 136px;\r\n max-height: 136px;\r\n padding: 16px;\r\n background-color: white;\r\n border-radius: 8px 8px 0px 0px;\r\n box-shadow: 5px 0px 15px rgba(0, 0, 0, 0.1);\r\n }\r\n .textContainer {\r\n padding: 20px 30px;\r\n width: 100%;\r\n }\r\n h2 {\r\n font-size: 16px;\r\n line-height: 32px;\r\n font-weight: bold;\r\n color: ${theme.darkTypeColor};\r\n width: 100%;\r\n text-align: left;\r\n margin: 8px 0;\r\n }\r\n p {\r\n font-size: 14px;\r\n line-height: 18px;\r\n font-weight: 300;\r\n margin-top: 8px;\r\n }\r\n`\r\n\r\nexport const Line = styled.div`\r\n width: 50%;\r\n min-height: 2px;\r\n max-height: 2px;\r\n background-color: ${theme.primaryColor};\r\n`\r\n\r\nexport const ActionButton = styled.div`\r\n color: white;\r\n background: ${theme.secondaryColor};\r\n padding: 11px;\r\n min-width: 100%;\r\n text-align: center;\r\n font-weight: 600;\r\n border-radius: 100px;\r\n margin-top: 15px;\r\n`\r\n","import React from 'react'\r\n\r\nimport { CardContainer, Line, ActionButton, FancyCardContainer } from './styles'\r\n\r\nconst Card = props => {\r\n const { image, title, body = false } = props\r\n return (\r\n \r\n \"\"\r\n

{title}

\r\n \r\n

{body}

\r\n
\r\n )\r\n}\r\n\r\nexport default Card\r\n\r\nexport const CardWithButton = props => {\r\n const { image, title, body, button_text = false } = props\r\n return (\r\n \r\n \"\"\r\n
\r\n

{title}

\r\n \r\n

{body}

\r\n {button_text}\r\n
\r\n
\r\n )\r\n}\r\n","import React, {useEffect} from 'react'\r\nimport { useTranslation, withTranslation } from 'react-i18next'\r\n\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { Page, WhiteRowPage } from '~/components/Page'\r\n\r\nimport { Section, Column, Title, Row, Cards } from './styles'\r\nimport { fetchSingleDocument } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\nimport HeroImage from '~/components/HeroImage'\r\nimport Card from '~/components/Card'\r\n\r\nconst Suppliers = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'partners',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'partners',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n if (prismicData)\r\n return (\r\n \r\n \r\n \r\n \r\n {RichText.asText(prismicData.data.title)}\r\n
{RichText.render(prismicData.data.body)}
\r\n
\r\n \r\n
\r\n {RichText.asText(prismicData.data.partners_heading)}\r\n \r\n {prismicData.data.body1.map(item => {\r\n return (\r\n \r\n )\r\n })}\r\n \r\n
\r\n
\r\n )\r\n if (notFound) return \r\n return \r\n}\r\n\r\nexport default withTranslation()(Suppliers)\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 5%;\r\n`\r\n\r\nexport const Section = styled.div`\r\n h3,\r\n p {\r\n color: white;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport { fetchSingleDocument } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst Terms = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument('terms', setPrismicData, toggleNotFound, i18n.language)\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n
{RichText.render(prismicData.data.text)}
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default Terms\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 5%;\r\n`\r\n\r\nexport const Section = styled.div`\r\n h3,\r\n p {\r\n color: white;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport { fetchSingleDocument } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst Terms = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument('reglur', setPrismicData, toggleNotFound, i18n.language)\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n
{RichText.render(prismicData.data.text)}
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default Terms\r\n","import styled from 'styled-components'\r\nimport { theme } from '~/theme'\r\n\r\nexport const Title = styled.h1`\r\n font-weight: 600;\r\n font-size: 40px;\r\n color: ${theme.darkTypeColor};\r\n line-height: 52px;\r\n letter-spacing: 0.5px;\r\n padding: 16px;\r\n margin: 5vh 0;\r\n margin-bottom: 4vh;\r\n height: 100%;\r\n`\r\n\r\nexport const AccordionContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n max-width: 60%;\r\n height: 100%;\r\n padding-bottom: 40px;\r\n\r\n @media only screen and (max-width: 768px) {\r\n max-width: 100%;\r\n }\r\n`\r\n\r\nexport const ImageContainer = styled.div`\r\n position: sticky;\r\n top: -1%;\r\n display: flex;\r\n flex-direction: column;\r\n height: 90%;\r\n max-height: 90%;\r\n justify-content: flex-start;\r\n padding: 4vw;\r\n width: 40%;\r\n\r\n img {\r\n max-height: 90vh;\r\n }\r\n`\r\n","import React, { useState, useEffect } from 'react'\r\n\r\nimport { RichText } from 'prismic-reactjs'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { WhiteRowPage } from '~/components/Page'\r\nimport Accordion from '~/components/Accordion'\r\nimport HeroCarousel from '~/components/HeroCarousel'\r\nimport { Title, AccordionContainer, ImageContainer } from './styles'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nimport defaultPic from '~/assets/images/carousel-phone.png'\r\n\r\nconst Ferdagjof = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n useEffect(() => {\r\n // for some reason, the language would always be initialized as icelandic and then changed just a tad bit later\r\n // to counter that, we wait just a tad bit and if the language has changed by that time, we don't fetch\r\n if (i18n.language === 'is') {\r\n setTimeout(function() {\r\n if (i18n.language !== 'eng') {\r\n fetchSingleDocument(\r\n 'ferdaradgjof',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, 30)\r\n } else {\r\n fetchSingleDocument(\r\n 'ferdaradgjof',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }\r\n }, [i18n.language])\r\n\r\n const mobileBreakpoint = 768\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', () => setWindowWidth(window.innerWidth))\r\n }, [])\r\n\r\n const [currentActiveQuestion, setCurrentActiveQuestion] = useState(-1)\r\n\r\n function handleChildClick(i) {\r\n if (i === currentActiveQuestion) setCurrentActiveQuestion(-1)\r\n else setCurrentActiveQuestion(i)\r\n }\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n \r\n \r\n {prismicData.data.main_title[0].text}\r\n {prismicData.data.body.map((currQandA, i) => (\r\n handleChildClick(i)}\r\n />\r\n ))}\r\n \r\n {windowWidth > mobileBreakpoint && (\r\n \r\n {currentActiveQuestion === -1 ||\r\n prismicData.data.body[currentActiveQuestion].items.length ===\r\n 1 ? (\r\n \r\n ) : (\r\n element.illustration.url)}\r\n showArrows\r\n staticLoop\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n\r\n return \r\n}\r\n\r\nexport default Ferdagjof\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: black;\r\n margin-bottom: 3%;\r\n\r\n @media only screen and (max-width: 768px) {\r\n font-size: 28px;\r\n }\r\n`\r\n\r\nexport const Section = styled.div`\r\n h3,\r\n p {\r\n color: black;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { WhitePage } from '~/components/Page'\r\n\r\nimport { Section, Title } from './styles'\r\nimport { fetchSingleDocument } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst FerdagjofTerms = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument(\r\n 'ferdagjof_terms',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n
{RichText.render(prismicData.data.text)}
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default FerdagjofTerms\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: black;\r\n margin-bottom: 3%;\r\n\r\n @media only screen and (max-width: 768px) {\r\n font-size: 28px;\r\n }\r\n`\r\n\r\nexport const Section = styled.div`\r\n white-space: pre-wrap;\r\n margin-bottom: 30px;\r\n color: black;\r\n font-size: calc(14px + 0.4vw);\r\n\r\n h3 {\r\n color: white;\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n ol {\r\n margin-left: 80px;\r\n margin-bottom: calc(3rem + 0.05vw);\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { WhitePage } from '~/components/Page'\r\n\r\nimport { Section, Title } from './styles'\r\nimport { fetchSingleDocument, linkResolver } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst FerdagjofPrivacy = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument(\r\n 'ferdagjof_privacy',\r\n setPrismicData,\r\n toggleNotFound,\r\n i18n.language\r\n )\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n\r\n
\r\n {RichText.render(prismicData.data.text, linkResolver)}\r\n
\r\n
\r\n )\r\n }\r\n if (notFound) return \r\n return \r\n}\r\n\r\nexport default FerdagjofPrivacy\r\n","import styled from 'styled-components'\r\n\r\nexport const Page = styled.div`\r\n margin: 5% auto;\r\n padding: 0 50px;\r\n max-width: 1140px;\r\n`\r\n\r\nexport const Title = styled.h2`\r\n text-align: center;\r\n color: white;\r\n margin-bottom: 5%;\r\n`\r\n\r\nexport const Section = styled.div`\r\n h3,\r\n p {\r\n color: white !important;\r\n }\r\n\r\n h3 {\r\n font-size: calc(1.5rem + 0.2vw);\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n p {\r\n margin-bottom: calc(2rem + 0.05vw);\r\n }\r\n\r\n a {\r\n color: #54D3AD;\r\n }\r\n`\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\nimport RichText from 'prismic-reactjs/src/Component'\r\nimport { Page } from '~/components/Page'\r\nimport { Title } from '~/components/Title'\r\n\r\nimport { Section } from './styles'\r\nimport { fetchSingleDocument } from '~/prismic-configuration'\r\nimport NotFound from '~/routes/pages/NotFound'\r\n\r\nconst Workplace = () => {\r\n const [prismicData, setPrismicData] = React.useState()\r\n const [notFound, toggleNotFound] = React.useState(false)\r\n const { i18n } = useTranslation('translations', { useSuspense: false })\r\n\r\n React.useEffect(() => {\r\n fetchSingleDocument('workplaceintegration', setPrismicData, toggleNotFound, i18n.language)\r\n }, [i18n.language])\r\n\r\n if (prismicData) {\r\n return (\r\n \r\n {RichText.asText(prismicData.data.title)}\r\n
{RichText.render(prismicData.data.text)}
\r\n
\r\n )\r\n }\r\n if (notFound) {\r\n return \r\n }\r\n return \r\n}\r\n\r\nexport default Workplace\r\n","import { createBrowserHistory } from 'history'\r\n\r\nexport default createBrowserHistory()\r\n","import React from 'react'\r\nimport { Router, Redirect, Route, Switch } from 'react-router-dom'\r\n\r\nimport instance from '~/i18n'\r\n\r\nimport Header from '~/components/Header'\r\nimport Layout from '~/components/Layout'\r\nimport Footer from '~/components/Footer'\r\n\r\nimport QandA from './pages/QandA'\r\nimport GjafabrefAccepted from './pages/GjafabrefAccepted'\r\nimport About from './pages/About'\r\nimport Fyrirtaekjagjafir from './pages/Fyrirtaekjagjafir'\r\nimport Landing from './pages/Landing'\r\nimport Gjafabref from './pages/Gjafabref'\r\nimport GjafabrefSubmit from './pages/GjafabrefSubmit'\r\nimport Privacy from './pages/Privacy'\r\nimport Suppliers from './pages/Suppliers'\r\nimport Terms from './pages/Terms'\r\nimport GjafabrefReglur from './pages/GjafabrefReglur'\r\nimport NotFound from './pages/NotFound'\r\nimport Ferdagjof from './pages/Ferdagjof'\r\nimport FerdagjofTerms from './pages/FerdagjofTerms'\r\nimport FerdagjofPrivacy from './pages/FerdagjofPrivacy'\r\nimport Workplace from './pages/Workplace'\r\n\r\nimport history from '~/services/history'\r\n\r\nconst Routes = props => {\r\n React.useEffect(() => {\r\n const lang = localStorage.getItem('lang')\r\n\r\n if (lang) {\r\n // eslint-disable-next-line\r\n instance.changeLanguage(lang, err => {\r\n if (err) return console.warn('Something went wrong')\r\n })\r\n }\r\n }, []) // eslint-disable-line\r\n console.log(props)\r\n return (\r\n \r\n \r\n {['/Ferdagjof/Terms', '/Ferdagjof/Privacy'].indexOf(history.location.pathname) < 0 ?
: ''}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*\r\n \r\n */}\r\n\r\n {\r\n window.location.href =\r\n 'https://apps.apple.com/is/app/yay-gjafabr%C3%A9f/id1475084001'\r\n return null\r\n }}\r\n />\r\n {\r\n window.location =\r\n 'https://play.google.com/store/apps/details?id=is.yay.app'\r\n return null\r\n }}\r\n />\r\n {/*\r\n * Temporary Route to handle 404 from Apple Store\r\n * To Fix after review goes through\r\n */}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {['/Ferdagjof/Terms', '/Ferdagjof/Privacy'].indexOf(history.location.pathname) < 0 ?