-
Notifications
You must be signed in to change notification settings - Fork 1
/
component---src-pages-index-jsx-82a1c61491814f633a85.js.map
1 lines (1 loc) · 47.2 KB
/
component---src-pages-index-jsx-82a1c61491814f633a85.js.map
1
{"version":3,"sources":["webpack:///./src/components/nav/contact.jsx","webpack:///./src/components/nav/home.jsx","webpack:///./src/components/nav/bottom.jsx","webpack:///./src/components/contact/contact.jsx","webpack:///./src/components/about/about.jsx","webpack:///./src/components/landing/welcome-text.jsx","webpack:///./src/components/landing/landing.jsx","webpack:///./src/components/projects/tagList.jsx","webpack:///./src/components/common/anchor.jsx","webpack:///./src/components/common/divider.jsx","webpack:///./src/components/projects/even.jsx","webpack:///./src/components/projects/odd.jsx","webpack:///./src/components/projects/project.jsx","webpack:///./src/components/projects/sites.js","webpack:///./src/components/projects/projects.jsx","webpack:///./src/components/footer/footer.jsx","webpack:///./src/components/footer/footerContainer.jsx","webpack:///./src/components/nav/about.jsx","webpack:///./src/pages/index.jsx","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/components/layout.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/components/projects/project.module.scss","webpack:///./src/components/nav/contact.module.scss","webpack:///./src/components/nav/home.module.scss","webpack:///./src/components/nav/bottom.module.css","webpack:///./src/components/landing/landing.module.css","webpack:///./src/components/contact/contact.module.scss","webpack:///./src/components/about/about.module.scss","webpack:///./src/components/landing/welcome-text.module.css","webpack:///./src/components/projects/tagList.module.css","webpack:///./src/components/common/anchor.module.scss","webpack:///./src/components/common/divider.module.scss","webpack:///./src/images/styrbostsad.jpg","webpack:///./src/images/tillnyktrad.jpg","webpack:///./src/images/matforgiftad.jpg","webpack:///./src/images/hyped.jpg","webpack:///./src/images/fotboll.jpg","webpack:///./src/images/portfolio.jpg","webpack:///./src/components/projects/projects.module.css","webpack:///./src/components/footer/footer.module.scss","webpack:///./src/components/nav/about.module.scss"],"names":["Contact","_ref","contactActive","onClick","react_default","a","createElement","id","className","styles","container","onKeyPress","role","tabIndex","active","inActive","span","propTypes","bool","isRequired","func","Home","aboutActive","isOpen","top","Bottom","iconContext","Provider","value","arrow","io","openMailClient","window","location","href","isOpening","isClosing","titleContainer","title","bodyContainer","body","linksContainer","mailContainer","mail","ti","linkedInContainer","target","rel","linkedin","About","openerText","italic","bold","WelcomeText","wrapper","h1","span1","span2","span3","span4","span5","inProgress","Landing","about_About","welcome_text_WelcomeText","contact_contact_Contact","TagList","listItems","tags","map","tag","i","key","toString","ul","arrayOf","string","Anchor","url","name","bttn","Divider","props","type","even","odd","divider","dividerFirst","dividerMiddle","dividerLast","Even","data","git","img","desc","projectContainer","previewContainer","imgContainer","src","alt","anchor_Anchor","h2","lastLetter","p","tagContainer","tagList_TagList","dividerContainer","divider_Divider","shape","Odd","Project","even_Even","odd_Odd","number","sites","portfolio","matforgiftad","tillnyktrad","styrbostad","fotboll","hyped","Projects","projects","Sites","project_Project","Footer","footer","scroll","FooterContainer","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","state","intervalId","inheritsLoose_default","_proto","prototype","scrollStep","pageYOffset","clearInterval","scrollToTop","setInterval","bind","setState","render","_this2","footer_Footer","React","Component","hidden","IndexPage","handleClickAbout","handleClickContact","handleClickHome","_this$state","layout","nav_about_About","home_Home","contact_Contact","landing_Landing","bottom_Bottom","projects_Projects","footerContainer_FooterContainer","m","module","exports","require","default","__webpack_require__","r","__webpack_exports__","d","graphql","StaticQueryContext","StaticQuery","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","prop_types__WEBPACK_IMPORTED_MODULE_1__","prop_types__WEBPACK_IMPORTED_MODULE_1___default","gatsby_link__WEBPACK_IMPORTED_MODULE_2__","gatsby_link__WEBPACK_IMPORTED_MODULE_2___default","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3__","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3___default","_parse_path__WEBPACK_IMPORTED_MODULE_4__","createContext","Consumer","staticQueryData","query","children","Error","PropTypes","object","Layout","react__WEBPACK_IMPORTED_MODULE_1___default","gatsby__WEBPACK_IMPORTED_MODULE_4__","Fragment","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","site","siteMetadata","meta","content","lang","_public_static_d_755544856_json__WEBPACK_IMPORTED_MODULE_0__","node","ProdPageRenderer","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","Object","assign","json","navText","bounce","rotation3","rotation4","rotation5","rotation6","rotation7","rotation8","rotation9","rotation10","btn","first"],"mappings":"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","file":"component---src-pages-index-jsx-82a1c61491814f633a85.js","sourcesContent":["import { bool, func } from 'prop-types';\r\nimport React from 'react';\r\nimport styles from './contact.module.scss';\r\n\r\nexport const Contact = ({ contactActive, onClick }) => (\r\n <aside\r\n id=\"aside-right\"\r\n className={styles.container}\r\n onClick={onClick}\r\n onKeyPress={onClick}\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n <span className={`${contactActive ? styles.active : styles.inActive} ${styles.span}`}>\r\n {'kontakt'}\r\n </span>\r\n </aside>\r\n);\r\n\r\nContact.propTypes = {\r\n contactActive: bool.isRequired,\r\n onClick: func.isRequired,\r\n};\r\n","import { bool, func } from 'prop-types';\r\nimport React from 'react';\r\nimport styles from './home.module.scss';\r\n\r\nexport const Home = ({ aboutActive, contactActive, onClick }) => {\r\n const isOpen = aboutActive || contactActive;\r\n return (\r\n <div\r\n id=\"top\"\r\n className={styles.top}\r\n onClick={onClick}\r\n onKeyPress={onClick}\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n <span className={`${!isOpen ? styles.active : styles.inActive} ${styles.span}`}>\r\n {'Välkommen'}\r\n </span>\r\n </div>\r\n );\r\n};\r\nHome.propTypes = {\r\n contactActive: bool.isRequired,\r\n aboutActive: bool.isRequired,\r\n onClick: func.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { IconContext } from 'react-icons';\r\nimport { IoIosArrowRoundDown } from 'react-icons/io';\r\nimport styles from './bottom.module.css';\r\n\r\nexport const Bottom = () => (\r\n <div id=\"bottom\" className={styles.container}>\r\n <IconContext.Provider value={{ className: styles.arrow }}>\r\n <div>\r\n <IoIosArrowRoundDown />\r\n </div>\r\n </IconContext.Provider>\r\n </div>\r\n);\r\n","import React from 'react';\r\nimport { bool } from 'prop-types';\r\nimport { IconContext } from 'react-icons';\r\nimport { TiSocialLinkedin, TiMail } from 'react-icons/ti';\r\nimport styles from './contact.module.scss';\r\n\r\nexport const Contact = ({ isOpen }) => {\r\n function openMailClient() {\r\n const username = 'jonathan.j.nilsson';\r\n const domain = 'gmail.com';\r\n window.location.href = `mailto:${username}@${domain}`;\r\n }\r\n return (\r\n <div id=\"contact\" className={`${styles.container} ${isOpen ? styles.isOpening : styles.isClosing}`}>\r\n <div className={styles.titleContainer}>\r\n <h1 className={styles.title}>\r\n {'Kontakta mig'}\r\n </h1>\r\n </div>\r\n\r\n <div className={styles.bodyContainer}>\r\n <p className={styles.body}>Vad trevligt att du vill prata med mig.</p>\r\n <p className={styles.body}>Det gör du enklast över mail,</p>\r\n <p className={styles.body}>eller på LinkedIn.</p>\r\n\r\n <div className={styles.linksContainer}>\r\n <div\r\n className={styles.mailContainer}\r\n onClick={openMailClient}\r\n onKeyPress={openMailClient}\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n <IconContext.Provider value={{ className: styles.mail }}>\r\n <div>\r\n <TiMail />\r\n </div>\r\n </IconContext.Provider>\r\n </div>\r\n <div className={styles.linkedInContainer}>\r\n <a href=\"https://www.linkedin.com/in/jonathan-nilsson-263b70153/\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n <IconContext.Provider value={{ className: styles.linkedin }}>\r\n <div>\r\n <TiSocialLinkedin />\r\n </div>\r\n </IconContext.Provider>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nContact.propTypes = {\r\n isOpen: bool.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { bool } from 'prop-types';\r\nimport styles from './about.module.scss';\r\n\r\n\r\nexport const About = ({ isOpen }) => (\r\n <div className={`${styles.container} ${isOpen ? styles.isOpening : styles.isClosing}`}>\r\n <div className={styles.titleContainer}>\r\n <h1 className={styles.title}>\r\n {'Hej'}\r\n </h1>\r\n </div>\r\n <div className={styles.bodyContainer}>\r\n <div className={styles.openerText}>\r\n <p className={styles.italic}>Jag heter <span className={styles.bold}>Jonathan Nilsson</span></p>\r\n <p className={styles.italic}>Jag letar efter en <span className={styles.bold}>kul</span> och <span className={styles.bold}>lärorik</span> arbetsplats.</p>\r\n </div>\r\n <p className={styles.body}>\r\n Jag är en motiverad front och backend utvecklare som strävar efter att kunna röra mig obehindrat över hela stacken.\r\n </p>\r\n <p className={styles.body}>\r\n Bor för tillfället ett par mil utanför Ronneby men jag söker jobb i hela södra Sverige.\r\n </p>\r\n <p className={styles.body}>\r\n Om du läser detta skicka gärna ett meddelande och säg hej!\r\n </p>\r\n </div>\r\n </div>\r\n);\r\n\r\nAbout.propTypes = {\r\n isOpen: bool.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { bool } from 'prop-types';\r\nimport styles from './welcome-text.module.css';\r\n\r\nexport const WelcomeText = ({ aboutActive, contactActive }) => {\r\n const isOpen = aboutActive || contactActive;\r\n return (\r\n <div className={`${styles.container} ${!isOpen ? styles.isOpening : styles.isClosing}`}>\r\n <div className={styles.wrapper}>\r\n <h1 className={styles.h1}>\r\n <span className={styles.span1} />\r\n <span className={styles.span2} />\r\n <span className={styles.span3} />\r\n <span className={styles.span4} />\r\n <span className={styles.span5} />\r\n {'HEJ.'}\r\n </h1>\r\n </div>\r\n <p className={styles.inProgress}>Responsiv design - in progress!</p>\r\n </div>\r\n );\r\n};\r\nWelcomeText.propTypes = {\r\n contactActive: bool.isRequired,\r\n aboutActive: bool.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { bool } from 'prop-types';\r\nimport styles from './landing.module.css';\r\nimport { Contact } from '../contact/contact';\r\nimport { About } from '../about/about';\r\nimport { WelcomeText } from './welcome-text';\r\n\r\nexport const Landing = ({ contactActive, aboutActive }) => (\r\n <div id=\"landing\" className={styles.container}>\r\n <About isOpen={aboutActive} />\r\n <WelcomeText aboutActive={aboutActive} contactActive={contactActive} />\r\n <Contact isOpen={contactActive} />\r\n </div>\r\n);\r\n\r\nLanding.propTypes = {\r\n aboutActive: bool.isRequired,\r\n contactActive: bool.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { arrayOf, string } from 'prop-types';\r\nimport styles from './tagList.module.css';\r\n\r\nexport const TagList = ({ tags }) => {\r\n const listItems = tags.map((tag, i) => (\r\n <li key={i.toString()}>\r\n <span className={styles.span}>\r\n {tag}\r\n </span>\r\n </li>\r\n ));\r\n\r\n return (\r\n <ul className={styles.ul}>\r\n {listItems}\r\n </ul>\r\n );\r\n};\r\n\r\nTagList.propTypes = {\r\n tags: arrayOf(string).isRequired,\r\n};\r\n","import React from 'react';\r\nimport { string } from 'prop-types';\r\nimport styles from './anchor.module.scss';\r\n\r\nexport const Anchor = ({ url, name }) => (\r\n <a href={url} target=\"_blank\" rel=\"noopener noreferrer\" className={styles.bttn}>{name}</a>\r\n);\r\n\r\nAnchor.propTypes = {\r\n url: string.isRequired,\r\n name: string.isRequired,\r\n};\r\n","import React from 'react';\r\nimport styles from './divider.module.scss';\r\n\r\nexport const Divider = (props) => (\r\n <div className={props.type === 'even' ? styles.even : styles.odd}>\r\n <div className={`${styles.divider} ${styles.dividerFirst}`} />\r\n <div className={`${styles.divider} ${styles.dividerMiddle}`} />\r\n <div className={`${styles.divider} ${styles.dividerLast}`} />\r\n </div>\r\n);\r\n","import React from 'react';\r\nimport { string, arrayOf, shape } from 'prop-types';\r\nimport styles from './project.module.scss';\r\nimport { TagList } from './tagList';\r\nimport { Anchor } from '../common/anchor';\r\nimport { Divider } from '../common/divider';\r\n\r\nexport const Even = ({ data }) => {\r\n const {\r\n git, url, img, title, desc, tags,\r\n } = data;\r\n\r\n return (\r\n <div className={`${styles.even} ${styles.projectContainer}`}>\r\n <div className={styles.previewContainer}>\r\n <div className={styles.imgContainer}>\r\n <img className={styles.img} src={img} alt=\"ds\" />\r\n <div className={styles.linksContainer}>\r\n <Anchor url={git} name=\"</Källa>\" />\r\n {url ? <Anchor url={url} name=\"Besök\" /> : null}\r\n </div>\r\n </div>\r\n <div className={styles.title}>\r\n <h2 className={styles.h2}>\r\n {title}\r\n <span className={styles.lastLetter}>.</span>\r\n </h2>\r\n </div>\r\n\r\n <div className={styles.body}>\r\n <p className={styles.p}>{desc}</p>\r\n </div>\r\n\r\n <div className={styles.tagContainer}>\r\n <TagList tags={tags} />\r\n </div>\r\n\r\n </div>\r\n <div className={styles.dividerContainer}>\r\n <Divider type=\"even\" />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nEven.propTypes = {\r\n data: shape({\r\n img: string.isRequired,\r\n title: string.isRequired,\r\n url: string,\r\n git: string.isRequired,\r\n desc: string.isRequired,\r\n tags: arrayOf(string).isRequired,\r\n }).isRequired,\r\n};\r\n","import React from 'react';\r\nimport { string, arrayOf, shape } from 'prop-types';\r\nimport styles from './project.module.scss';\r\nimport { TagList } from './tagList';\r\nimport { Anchor } from '../common/anchor';\r\nimport { Divider } from '../common/divider';\r\n\r\nexport const Odd = ({ data }) => {\r\n const {\r\n git, url, img, title, desc, tags,\r\n } = data;\r\n\r\n return (\r\n <div className={`${styles.odd} ${styles.projectContainer}`}>\r\n <div className={styles.previewContainer}>\r\n <div className={styles.title}>\r\n <h2 className={styles.h2}>\r\n {title}\r\n </h2>\r\n </div>\r\n\r\n <div className={styles.imgContainer}>\r\n <img className={styles.img} src={img} alt=\"project\" />\r\n <div className={styles.linksContainer}>\r\n <Anchor url={git} name=\"</Källa>\" />\r\n {url ? <Anchor url={url} name=\"Besök\" /> : null}\r\n </div>\r\n </div>\r\n <div className={styles.body}>\r\n <p className={styles.p}>{desc}</p>\r\n </div>\r\n\r\n <div className={styles.tagContainer}>\r\n <TagList tags={tags} />\r\n </div>\r\n\r\n </div>\r\n <div className={styles.dividerContainer}>\r\n <Divider type=\"odd\" />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nOdd.propTypes = {\r\n data: shape({\r\n img: string.isRequired,\r\n title: string.isRequired,\r\n url: string,\r\n git: string.isRequired,\r\n desc: string.isRequired,\r\n tags: arrayOf(string).isRequired,\r\n }).isRequired,\r\n};\r\n","import React from 'react';\r\nimport {\r\n string, arrayOf, shape, number,\r\n} from 'prop-types';\r\nimport { Even } from './even';\r\nimport { Odd } from './odd';\r\n\r\nexport const Project = ({ data }) => {\r\n if (data.id % 2) {\r\n return <Even data={data} />;\r\n }\r\n return <Odd data={data} />;\r\n};\r\n\r\nProject.propTypes = {\r\n data: shape({\r\n id: number.isRequired,\r\n img: string.isRequired,\r\n title: string.isRequired,\r\n url: string,\r\n git: string.isRequired,\r\n desc: string.isRequired,\r\n tags: arrayOf(string).isRequired,\r\n }).isRequired,\r\n};\r\n","import styrbostad from '../../images/styrbostsad.jpg';\r\nimport tillnyktrad from '../../images/tillnyktrad.jpg';\r\nimport matforgiftad from '../../images/matforgiftad.jpg';\r\nimport hyped from '../../images/hyped.jpg';\r\nimport fotboll from '../../images/fotboll.jpg';\r\nimport portfolio from '../../images/portfolio.jpg';\r\n\r\nconst sites = [\r\n {\r\n id: 0,\r\n url: 'https://baleith.github.io/',\r\n git: 'https://github.com/Baleith/Portfolio/tree/master',\r\n title: 'Portfolio',\r\n img: portfolio,\r\n desc: 'Den här sidan är utvecklad i React(Gatsby). Css är strukturerad med css-modules.',\r\n tags: ['React', 'Gatsby', 'Css-modules', 'Scss'],\r\n },\r\n {\r\n id: 1,\r\n url: 'https://matforgiftad.se/',\r\n git: 'https://bitbucket.org/Baleith/public-matforgiftad/src/master/',\r\n title: 'Matförgiftad',\r\n img: matforgiftad,\r\n desc: 'En tjänst för att anmäla en misstänkt matförgiftning. Användaren väljer den kommunen där matförgiftningen skett och fyller sedan i ett detaljerat formulär så hjälper vi till att maila den ansvariga instansen i aktuell kommun. Kodad i Laravel och Vue.js.',\r\n tags: ['Vue.js', 'PHP', 'Laravel', 'Scss', 'MySql'],\r\n },\r\n {\r\n id: 2,\r\n url: 'https://tillnyktrad.se/',\r\n git: 'https://bitbucket.org/Baleith/share-alkohol/src/master/',\r\n title: 'Tillnyktrad',\r\n img: tillnyktrad,\r\n desc: 'En alkoholförbrännings räknare byggd i Laravel och Vue.js. Med sökfunktion över hela systembolagets sortiment som hämtas över deras offentliga api.',\r\n tags: ['Vue.js', 'PHP', 'Laravel', 'Scss', 'MySql'],\r\n },\r\n {\r\n id: 3,\r\n url: 'https://www.bostader.se/',\r\n git: 'https://bitbucket.org/Baleith/share-styrbostad/src/master/',\r\n title: 'Styrbostad',\r\n img: styrbostad,\r\n desc: 'Samlingsida för hyreslägenheter. Lägenheterna samlas in med hjälp av en headless crawler i node.js, skrapar totalt ett 30tal bostadssidor. Utöver node.js så är backend byggd i Laravel och Vue.js för frontend.',\r\n tags: ['Vue.js', 'PHP', 'Laravel', 'Node', 'PhantomJS', 'MySql'],\r\n },\r\n {\r\n id: 4,\r\n url: null,\r\n git: 'https://github.com/Baleith/Baleith.github.io/tree/dev',\r\n title: 'Fotbolls vm',\r\n img: fotboll,\r\n desc: 'Ett api över fotbolls vm med inlogg över OAuth2. Endpoints för bl.a lägga till och uppdatera matchresultat/lag/spelare, hämta hem spelare/lag utefter t.ex grupper, mål, utvisningar.',\r\n tags: ['PHP', 'Laravel', 'REST', 'OAuth2', 'MySql'],\r\n },\r\n {\r\n id: 5,\r\n url: null,\r\n git: 'https://bitbucket.org/Baleith/share-hypedgamers/src/master/',\r\n title: 'Hypedgamers',\r\n img: hyped,\r\n desc: 'Social gaming community, utvecklad i Laravel. Features som uppladdning av bilder/video, inloggning, filtrering, upvoting, kommentering och, följa andra användare ',\r\n tags: ['PHP', 'Laravel', 'JavaScript', 'JQuery', 'Scss', 'MySql'],\r\n },\r\n];\r\n\r\nexport default sites;","import React from 'react';\r\nimport { Project } from './project';\r\nimport Sites from './sites';\r\nimport styles from './projects.module.css';\r\n\r\nexport const Projects = () => {\r\n const projects = Sites.map(data => (\r\n <Project data={data} key={data.id} />\r\n ));\r\n return (\r\n <div id=\"projects\" className={styles.container}>\r\n <h1 className={styles.h1}>\r\n <span className={styles.span} />\r\n {'Projects'}\r\n </h1>\r\n\r\n {projects}\r\n\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { func } from 'prop-types';\r\nimport { IconContext } from 'react-icons';\r\nimport { IoIosArrowRoundUp } from 'react-icons/io';\r\nimport styles from './footer.module.scss';\r\n\r\nexport const Footer = ({ onClick }) => (\r\n <footer id=\"footer\" className={styles.footer}>\r\n <button\r\n title=\"Back to top\"\r\n className={styles.scroll}\r\n onClick={onClick}\r\n type=\"button\"\r\n >\r\n <IconContext.Provider value={{ className: styles.arrow }}>\r\n <div>\r\n <IoIosArrowRoundUp />\r\n </div>\r\n </IconContext.Provider>\r\n </button>\r\n </footer>\r\n);\r\n\r\nFooter.propTypes = {\r\n onClick: func.isRequired,\r\n};\r\n","import React from 'react';\r\nimport { Footer } from './footer';\r\n\r\nexport class FooterContainer extends React.Component {\r\n state = {\r\n intervalId: 0,\r\n };\r\n\r\n scrollStep() {\r\n const { intervalId } = this.state;\r\n const scrollStepInPx = 50;\r\n if (window.pageYOffset === 0) {\r\n clearInterval(intervalId);\r\n }\r\n window.scroll(0, window.pageYOffset - scrollStepInPx);\r\n }\r\n\r\n scrollToTop() {\r\n const delayInMs = 16.66;\r\n const intervalId = setInterval(this.scrollStep.bind(this), delayInMs);\r\n this.setState({\r\n intervalId,\r\n });\r\n }\r\n\r\n render() {\r\n return <Footer onClick={() => { this.scrollToTop(); }} />;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { bool, func } from 'prop-types';\r\nimport styles from './about.module.scss';\r\n\r\nexport const About = ({ aboutActive, onClick }) => (\r\n <aside\r\n id=\"aside-left\"\r\n className={styles.container}\r\n onClick={onClick}\r\n onKeyPress={onClick}\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n <span className={`${aboutActive ? styles.active : styles.inActive} ${styles.span}`}>\r\n {'Om'}\r\n <span className={styles.hidden}>x</span>\r\n {'mig'}\r\n </span>\r\n </aside>\r\n);\r\n\r\nAbout.propTypes = {\r\n aboutActive: bool.isRequired,\r\n onClick: func.isRequired,\r\n};\r\n","import React, { Component } from 'react';\r\nimport MediaQuery from 'react-responsive';\r\nimport { Contact } from '../components/nav/contact';\r\nimport { Home } from '../components/nav/home';\r\nimport { Bottom } from '../components/nav/bottom';\r\nimport { Landing } from '../components/landing/landing';\r\nimport Layout from '../components/layout';\r\nimport { Projects } from '../components/projects/projects';\r\nimport { FooterContainer } from '../components/footer/footerContainer';\r\nimport { About } from '../components/nav/about';\r\n\r\nexport default class IndexPage extends Component {\r\n state = {\r\n aboutActive: false,\r\n contactActive: false,\r\n };\r\n\r\n handleClickAbout = () => {\r\n this.setState(state => ({\r\n contactActive: false,\r\n aboutActive: !state.aboutActive,\r\n }));\r\n }\r\n\r\n handleClickContact = () => {\r\n this.setState(state => ({\r\n aboutActive: false,\r\n contactActive: !state.contactActive,\r\n }));\r\n }\r\n\r\n handleClickHome = () => {\r\n this.setState(({\r\n aboutActive: false,\r\n contactActive: false,\r\n }));\r\n }\r\n\r\n render() {\r\n const { aboutActive, contactActive } = this.state;\r\n return (\r\n <Layout>\r\n <About aboutActive={aboutActive} onClick={this.handleClickAbout} />\r\n <Home aboutActive={aboutActive} contactActive={contactActive} onClick={this.handleClickHome} />\r\n <Contact contactActive={contactActive} onClick={this.handleClickContact} />\r\n <Landing contactActive={contactActive} aboutActive={aboutActive} />\r\n <Bottom />\r\n <Projects />\r\n <FooterContainer />\r\n </Layout>\r\n );\r\n }\r\n}\r\n/* onClick={() => this.handleClick('moveToRight')} */\r\n{/* <MediaQuery query=\"(min-width: 900px)\">\r\n</MediaQuery> */}","const preferDefault = m => (m && m.default) || m\r\n\r\nif (process.env.BUILD_STAGE === `develop`) {\r\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\r\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\r\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\r\n} else {\r\n module.exports = () => null\r\n}\r\n","import React from \"react\"\r\nimport PropTypes from \"prop-types\"\r\nimport Link, {\r\n withPrefix,\r\n navigate,\r\n push,\r\n replace,\r\n navigateTo,\r\n} from \"gatsby-link\"\r\nimport PageRenderer from \"./public-page-renderer\"\r\nimport parsePath from \"./parse-path\"\r\n\r\nconst StaticQueryContext = React.createContext({})\r\n\r\nconst StaticQuery = props => (\r\n <StaticQueryContext.Consumer>\r\n {staticQueryData => {\r\n if (\r\n props.data ||\r\n (staticQueryData[props.query] && staticQueryData[props.query].data)\r\n ) {\r\n return (props.render || props.children)(\r\n props.data ? props.data.data : staticQueryData[props.query].data\r\n )\r\n } else {\r\n return <div>Loading (StaticQuery)</div>\r\n }\r\n }}\r\n </StaticQueryContext.Consumer>\r\n)\r\n\r\nStaticQuery.propTypes = {\r\n data: PropTypes.object,\r\n query: PropTypes.string.isRequired,\r\n render: PropTypes.func,\r\n children: PropTypes.func,\r\n}\r\n\r\nfunction graphql() {\r\n throw new Error(\r\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\r\n `are supposed to only be evaluated at compile time, and then compiled away,. ` +\r\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n.` +\r\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\r\n )\r\n}\r\n\r\nexport {\r\n Link,\r\n withPrefix,\r\n graphql,\r\n parsePath,\r\n navigate,\r\n push, // TODO replace for v3\r\n replace, // TODO remove replace for v3\r\n navigateTo, // TODO: remove navigateTo for v3\r\n StaticQueryContext,\r\n StaticQuery,\r\n PageRenderer,\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Helmet from 'react-helmet'\r\nimport { StaticQuery, graphql } from 'gatsby'\r\n\r\nimport './layout.scss'\r\n\r\nconst Layout = ({ children }) => (\r\n <StaticQuery\r\n query={graphql`\r\n query SiteTitleQuery {\r\n site {\r\n siteMetadata {\r\n title\r\n }\r\n }\r\n }\r\n `}\r\n render={data => (\r\n <>\r\n <Helmet\r\n title={data.site.siteMetadata.title}\r\n meta={[\r\n { name: 'description', content: 'Jonathan Nilsson - portfolio. Jag är en självlärd Backend och frontend utvecklare.' },\r\n { name: 'keywords', content: 'portfolio, developer, frontend, backend, php, javascript' },\r\n ]}\r\n >\r\n <html lang=\"en\" />\r\n </Helmet>\r\n <div id=\"app\">\r\n {children}\r\n </div>\r\n </>\r\n )}\r\n />\r\n)\r\n\r\nLayout.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default Layout\r\n","import React from \"react\"\r\nimport PropTypes from \"prop-types\"\r\n\r\nimport InternalPageRenderer from \"./page-renderer\"\r\nimport loader from \"./loader\"\r\n\r\nconst ProdPageRenderer = ({ location }) => {\r\n const pageResources = loader.getResourcesForPathnameSync(location.pathname)\r\n return React.createElement(InternalPageRenderer, {\r\n location,\r\n pageResources,\r\n ...pageResources.json,\r\n })\r\n}\r\n\r\nProdPageRenderer.propTypes = {\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string.isRequired,\r\n }).isRequired,\r\n}\r\n\r\nexport default ProdPageRenderer\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"projectContainer\":\"project-module--projectContainer--3WD0O\",\"dividerContainer\":\"project-module--dividerContainer--10PYW\",\"imgContainer\":\"project-module--imgContainer--3Qsz8\",\"img\":\"project-module--img--19vnZ\",\"linksContainer\":\"project-module--linksContainer--1Dlc4\",\"title\":\"project-module--title--vou2H\",\"body\":\"project-module--body--3uMYc\",\"tagContainer\":\"project-module--tagContainer--f2Cn3\",\"odd\":\"project-module--odd--12j8P\",\"previewContainer\":\"project-module--previewContainer--3kjA9\",\"even\":\"project-module--even--1p2ML\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"contact-module--container--2CNEj\",\"navText\":\"contact-module--navText--e-SDn\",\"span\":\"contact-module--span--2SiXc contact-module--navText--e-SDn\",\"active\":\"contact-module--active--oA_XL\",\"inActive\":\"contact-module--inActive--3pyuk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"top\":\"home-module--top--1llpT\",\"span\":\"home-module--span--2QZ-5 _util--navText--2_TYG\",\"active\":\"home-module--active--1_-S2\",\"inActive\":\"home-module--inActive--8R17G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"bottom-module--container--qOen_\",\"arrow\":\"bottom-module--arrow--1jDFm\",\"bounce\":\"bottom-module--bounce--2T8eP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"landing-module--container--3PL32\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"contact-module--container--18upe\",\"isClosing\":\"contact-module--isClosing--1cV3K\",\"isOpening\":\"contact-module--isOpening--2vLDB\",\"titleContainer\":\"contact-module--titleContainer--2Y4JJ\",\"title\":\"contact-module--title--Lkl01 _util--crossedText--3AkAN\",\"bodyContainer\":\"contact-module--bodyContainer--Af8ib\",\"body\":\"contact-module--body--1t27t\",\"mailContainer\":\"contact-module--mailContainer--3x3K4\",\"mail\":\"contact-module--mail--nh9Ka\",\"linkedin\":\"contact-module--linkedin--3OirC\",\"linksContainer\":\"contact-module--linksContainer--3CYoF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"about-module--container--1RY1j\",\"isClosing\":\"about-module--isClosing--u6X5d\",\"isOpening\":\"about-module--isOpening--1Qir9\",\"titleContainer\":\"about-module--titleContainer--2Ywqu\",\"title\":\"about-module--title--3NeWk _util--crossedText--3AkAN\",\"bodyContainer\":\"about-module--bodyContainer--3Y-gO\",\"italic\":\"about-module--italic--2TFmx\",\"bold\":\"about-module--bold--VWMIR _util--crossedText--3AkAN\",\"openerText\":\"about-module--openerText--2ykKP\",\"body\":\"about-module--body--37W9-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"welcome-text-module--container--2WtkZ\",\"h1\":\"welcome-text-module--h1--3UPYK\",\"isOpening\":\"welcome-text-module--isOpening--tme0g\",\"isClosing\":\"welcome-text-module--isClosing--3Ixbp\",\"span1\":\"welcome-text-module--span1--1cM2_\",\"span2\":\"welcome-text-module--span2--7qyo1\",\"span3\":\"welcome-text-module--span3--32Aow\",\"span4\":\"welcome-text-module--span4--2aHud\",\"span5\":\"welcome-text-module--span5--3E-qb\",\"rotation3\":\"welcome-text-module--rotation3--20ZjW\",\"rotation4\":\"welcome-text-module--rotation4--w-tEZ\",\"rotation5\":\"welcome-text-module--rotation5--35cuZ\",\"rotation6\":\"welcome-text-module--rotation6--1C0wJ\",\"rotation7\":\"welcome-text-module--rotation7--3UcIk\",\"rotation8\":\"welcome-text-module--rotation8--GV6e0\",\"rotation9\":\"welcome-text-module--rotation9--2Fcd5\",\"rotation10\":\"welcome-text-module--rotation10--2_duf\",\"wrapper\":\"welcome-text-module--wrapper--2B5H8\",\"inProgress\":\"welcome-text-module--inProgress--s5DkM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ul\":\"tagList-module--ul--2kAuA\",\"span\":\"tagList-module--span--3wVb9 _util--lightGrayText--2AvU4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"span\":\"anchor-module--span--1r2dG\",\"a\":\"anchor-module--a--YrrX8\",\"btn\":\"anchor-module--btn--3tkv8\",\"first\":\"anchor-module--first--2-mz8\",\"bttn\":\"anchor-module--bttn--MwT7M _util--mainBackgroundColorGreen--HprIc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"divider\":\"divider-module--divider--2LH5- _util--blackBackgroundColor--1tmEz\",\"dividerFirst\":\"divider-module--dividerFirst--3FHfF\",\"dividerMiddle\":\"divider-module--dividerMiddle--Vx-us\",\"dividerLast\":\"divider-module--dividerLast--4mW7P\",\"odd\":\"divider-module--odd--Di0oF\",\"even\":\"divider-module--even--2HQvM\"};","module.exports = __webpack_public_path__ + \"static/styrbostsad-69a888130ed9674d622ad92598841a7f.jpg\";","module.exports = __webpack_public_path__ + \"static/tillnyktrad-b90e99bfb81a67c83d1cd8bda324027b.jpg\";","module.exports = __webpack_public_path__ + \"static/matforgiftad-c6ff542b7c2362bcc2cb98fbc732a68b.jpg\";","module.exports = __webpack_public_path__ + \"static/hyped-33be62437a11f10492d70c0d0a42bea2.jpg\";","module.exports = __webpack_public_path__ + \"static/fotboll-855298ca38b9bbf79c1f18a9d9606bed.jpg\";","module.exports = __webpack_public_path__ + \"static/portfolio-0aa39b8172906293835ad95e97867f86.jpg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"projects-module--container--3odt5 undefined\",\"h1\":\"projects-module--h1--2KPME\",\"span\":\"projects-module--span--3_c5x _util--crossedText--3AkAN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"footer-module--footer--1X1DK\",\"scroll\":\"footer-module--scroll--1zULJ\",\"arrow\":\"footer-module--arrow--1nCqR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"about-module--container--2Kwbh\",\"hidden\":\"about-module--hidden--35B5K\",\"span\":\"about-module--span--DIIMt _util--navText--2_TYG\",\"active\":\"about-module--active--36oGX\",\"inActive\":\"about-module--inActive--sTjaM\"};"],"sourceRoot":""}