This repository has been archived by the owner on Nov 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-pages-index-js-4604d0acd1e3a26b1b73.js.map
1 lines (1 loc) · 26.2 KB
/
component---src-pages-index-js-4604d0acd1e3a26b1b73.js.map
1
{"version":3,"sources":["webpack:///./src/components/style.js","webpack:///./src/components/Intro/style.js","webpack:///./src/components/Intro/index.js","webpack:///./src/data/jobs.js","webpack:///./src/components/Job/style.js","webpack:///./src/components/Icons/index.js","webpack:///./src/components/Job/index.js","webpack:///./src/components/Jobs/index.js","webpack:///./src/pages/index.js","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/images/profile.jpeg"],"names":["Wrapper","styled","div","withConfig","displayName","componentId","Block","BlockTitle","h3","AboutMe","AboutMeTitle","AboutMeInfo","Skill","span","FlexWrapper","Name","h2","Image","img","Intro","react_default","a","createElement","style","marginRight","width","height","src","image","alt","jobs","skills","history","employer","title","date","achievements","Info","Employer","Title","Date","Achievements","ul","Search","viewBox","fill","d","cx","cy","r","stroke","strokeLinecap","strokeMiterlimit","strokeWidth","Status","Position","Location","strokeLinejoin","Job","props","_props$job","job","style_Wrapper","Icons_Position","style_Date","map","achievement","index","key","data","ExpandButton","button","Expand","Jobs","_useState","useState","jobsCount","setJobsCount","slice","components_Job","onClick","length","setConfig","pureSFC","ContactLink","IndexPage","layout","href","Icons_Location","Icons_Status","Icons_Search","skill","components_Jobs","m","module","exports","require","default","__webpack_require__","__webpack_exports__","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__","React","createContext","Consumer","staticQueryData","query","render","children","Error","propTypes","PropTypes","object","string","isRequired","func","Layout","_ref","react__WEBPACK_IMPORTED_MODULE_1___default","gatsby__WEBPACK_IMPORTED_MODULE_4__","Fragment","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","site","siteMetadata","meta","name","content","lang","rel","_public_static_d_755544856_json__WEBPACK_IMPORTED_MODULE_0__","node","ProdPageRenderer","location","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","Object","assign","json","shape","p"],"mappings":"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","file":"component---src-pages-index-js-4604d0acd1e3a26b1b73.js","sourcesContent":["import styled from 'styled-components'\n\nexport const Wrapper = styled.div`\n margin: 50px auto 0;\n width: 960px;\n`\n\nexport const Block = styled.div`\n //background-color: #ffffff;\n border-bottom: 1px solid #e6e6e6;\n color: #323141;\n padding: 2rem;\n margin-bottom: 2px;\n position: relative;\n`\n\nexport const BlockTitle = styled.h3`\n font-size: 14px;\n text-transform: uppercase;\n font-weight: 500;\n margin-bottom: 3rem;\n`\n\nexport const AboutMe = styled.div`\n display: flex;\n padding-bottom: 2rem;\n \n &:last-of-type {\n padding-bottom: 0;\n }\n`\n\nexport const AboutMeTitle = styled.div`\n font-weight: 500;\n margin-bottom: .5rem;\n`\n\nexport const AboutMeInfo = styled.div`\n padding-left: 15px;\n`\n\nexport const Skill = styled.span`\n margin-right: 5px;\n margin-bottom: 5px;\n background-color: #E3E4E6;\n font-weight: 500;\n color: #323141;\n border-radius: 2px;\n display: inline-block;\n line-height: 2rem;\n padding: 0 1rem;\n text-transform: capitalize;\n`\n","import styled from 'styled-components'\n\nexport const FlexWrapper = styled.div`\n display: flex;\n`\n\nexport const Name = styled.h2`\n font-size: 1.8rem;\n font-weight: 500;\n margin: 10px 0;\n`\n\nexport const Image = styled.img`\n border-radius: 100%;\n`\n","import React from 'react'\nimport { Block } from '../style'\nimport image from '../../images/profile.jpeg'\nimport { FlexWrapper, Name, Image } from './style'\n\nexport default () => {\n return (\n <Block>\n <FlexWrapper>\n <div style={{ marginRight: '2rem', width: '80px', height: '80px' }}>\n <Image src={image} alt=\"\" />\n </div>\n\n <div>\n <Name>Massimo Palmieri</Name>\n <div>Lead front-end engineer at Lloyds Bank</div>\n </div>\n </FlexWrapper>\n </Block>\n )\n}\n","import React from 'react'\n\nexport default {\n skills: [\n 'JavaScript',\n 'React',\n 'React Native',\n 'Electron.js',\n 'HTML',\n 'CSS',\n 'SASS / Less'\n ],\n history: [\n {\n employer: 'Lloyds Bank',\n title: 'Lead Front-End Engineer',\n date: 'Oct 2017 — present (1 yr, 1 mo)',\n achievements: [\n 'Writing modular, well tested front-end applications that remain easy to maintain as the codebase and business continues to scale',\n 'Setting the strategic direction for how front-end applications are developed within the team',\n 'Ensuring software is built in a way which is consistent with - and exploits where possible - the collective frameworks, patterns and practices that exist across the wider Engineering community',\n 'Understand and apply industry best practices, foster knowledge sharing to provide solutions for complex business problems where no precedent may exist, and ensure implementation of solutions where appropriate',\n 'Mentor and develop more junior front-end engineers, providing clear and constructive feedback and creating opportunities for learning and growth',\n 'Relentless focus on delivering business value through sound engineering methods and principles\\n',\n ],\n },\n {\n employer: 'NeuLion, formerly Saffron Digital',\n title: 'Lead Front-End Developer',\n date: 'Mar 2014 — Oct 2017 (3 yrs, 7 mos)',\n achievements: [\n `building a premium VOD service for Britain's biggest music retailer using React both on client and server, Redux, Webpack, es2015, babeljs`,\n 'implementing a html 5 player to play DRM protected content and extending it to add our own UI and custom functionalities',\n 'splitting up parts of the codebase, when necessary, into a growing number of npm modules',\n 'building films.nolim.fr for Carrefour, a premium VOD service using AngularJs, Bootstrap, Gulp',\n 'building itvessentials.com for ITV, a premium SVOD service using AngularJs, Bootstrap, Gulp',\n 'building ITV Essentials iOS and Android hybrid app using AngularJs, Ionic, Cordova/PhoneGap, Bootstrap, Gulp',\n 'converting an existing Django CMS to a single page Backbone app',\n 'write unit tests with Jasmine and Mocha',\n 'optimise performances',\n 'building internal UI Toolkits for other developers to implement',\n 'providing a ux-design-development bridge',\n 'mentoring and supporting other front-end developers, providing feedback and guidance when required',\n 'helping to define coding standards - HTML, CSS and Sass, JavaScript',\n ],\n },\n {\n employer: 'Karmarama',\n title: 'Senior Front-End Developer',\n date: 'Jun 2012 — Mar 2014 (1 yr, 9 mos)',\n achievements: [\n 'developing high traffic websites for big brands such as BT, Porsche, De Beers, Debeers Forevermark and Plusnet using Html 5, javaScript, Css 3, Sass',\n 'developing a hybrid mobile app for Laithwaites Wines using Phonegap',\n 'developing crowdwish.com and its CMS using Backbone',\n 'building emails for Honda and British Gas',\n ],\n },\n {\n employer: 'SocialGO',\n title: 'Front-End Developer',\n date: 'Apr 2011 — Jun 2012 (1 yr, 2 mos)',\n achievements: [\n `Designing and coding 'house' themes`,\n 'Defining standards, conventions and guidelines around developing themes for the platform',\n 'Planning and executing a broader theme strategy',\n 'Diagnosing browser compatibility issues and running full browser compatibility testing',\n ],\n },\n {\n employer: 'De Pompeis',\n title: 'Front-end Web Developer and Designer',\n date: 'Oct 2010 — Mar 2011 (5 mos)',\n achievements: [\n 'Designing and developing of websites',\n 'Designing logotypes, brand identity, brochures, packaging for several mass retailer',\n ],\n },\n {\n employer: 'Arkadia',\n title: 'Front-end Web Developer and Designer',\n date: 'Mar 2007 — Jul 2010 (3 yrs, 4 mos)',\n achievements: [\n 'Designing and developing the front-end of several web sites, a web app and a custom CMS',\n 'Designed brand identity, brochures, catalogs and packaging for several clients'\n ],\n },\n // {\n // employer: '',\n // title: '',\n // date: '',\n // achievements: [\n // '',\n // ],\n // },\n ],\n}\n","import styled from 'styled-components'\n\nexport const Wrapper = styled.div`\n display: flex;\n padding-bottom: 2rem;\n \n &:last-of-type {\n padding-bottom: 0;\n }\n`\n\nexport const Info = styled.div`\n padding-left: 15px;\n`\n\nexport const Employer = styled.div`\n font-weight: 500;\n margin-bottom: .5rem;\n`\n\nexport const Title = styled.div`\n font-weight: 500;\n margin-bottom: .5rem;\n`\n\nexport const Date = styled.div`\n color: #787985;\n font-size: .9rem\n`\n\nexport const Achievements = styled.ul`\n list-style-position: inside;\n margin-left: 0;\n font-size: .9rem;\n line-height: 1.5rem;\n margin-top: 20px;\n color: #787985;\n`\n","import React from 'react'\n\nexport const Search = () => (\n <svg height={25} width={25} viewBox=\"0 0 50 50\">\n <path fill=\"none\" d=\"M0 0h50v50H0z\" />\n <circle\n cx={21}\n cy={20}\n fill=\"none\"\n r={16}\n stroke=\"#000\"\n strokeLinecap=\"round\"\n strokeMiterlimit={10}\n strokeWidth={2}\n />\n <path\n fill=\"none\"\n stroke=\"#000\"\n strokeMiterlimit={10}\n strokeWidth={4}\n d=\"M32.229 32.229L45.5 45.5\"\n />\n </svg>\n)\n\nexport const Status = () => (\n <svg height={25} width={25} viewBox=\"0 0 50 50\">\n <path fill=\"none\" d=\"M0 0h50v50H0z\" />\n <path\n d=\"M25 10V1c13.256 0 24 10.745 24 24 0 13.256-10.744 24-24 24S1 38.256 1 25A23.933 23.933 0 0 1 8.022 8.035\"\n fill=\"none\"\n stroke=\"#000\"\n strokeLinecap=\"round\"\n strokeMiterlimit={10}\n strokeWidth={2}\n />\n <path\n d=\"M27.121 27.122a3 3 0 0 1-4.242 0c-1.172-1.172-10.417-14.66-10.417-14.66s13.487 9.245 14.659 10.417a3 3 0 0 1 0 4.243z\" />\n </svg>\n)\n\nexport const Position = () => (\n <svg height={25} width={25} viewBox=\"0 0 100 100\">\n <title />\n <path\n d=\"M89.13 28.69H67.76v-9.62a4 4 0 0 0-4-4h-27.5a4 4 0 0 0-4 4v9.62H10.87A5.89 5.89 0 0 0 5 34.56V89.1a5.89 5.89 0 0 0 5.87 5.9h78.26A5.89 5.89 0 0 0 95 89.1V34.56a5.89 5.89 0 0 0-5.87-5.87zM35 19.07a1.23 1.23 0 0 1 1.22-1.22h27.5a1.23 1.23 0 0 1 1.22 1.22v9.62H35zM10.87 31.5h78.26a3.06 3.06 0 0 1 3.05 3.05v19H59.84v-2.07A2.81 2.81 0 0 0 57 48.67H43a2.81 2.81 0 0 0-2.81 2.81v2.11H7.81v-19a3.06 3.06 0 0 1 3.06-3.09zM57 51.48v7H43v-7zm32.1 40.67H10.87a3.06 3.06 0 0 1-3.06-3.05V56.41h32.35v2.11A2.81 2.81 0 0 0 43 61.33h14a2.81 2.81 0 0 0 2.81-2.81v-2.11h32.38V89.1a3.06 3.06 0 0 1-3.06 3.06z\" />\n </svg>\n)\n\nexport const Location = () => (\n <svg height={25} width={25} viewBox=\"0 0 50 50\">\n <path fill=\"none\" d=\"M0 0h50v50H0z\" />\n <path\n d=\"M40 17c0 13.604-15 31-15 31S10 30.928 10 17c0-8.285 6.715-15 15-15 8.284 0 15 6.715 15 15z\"\n fill=\"none\"\n stroke=\"#000\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={10}\n strokeWidth={1.765}\n />\n <circle\n cx={25}\n cy={18}\n fill=\"none\"\n r={6}\n stroke=\"#000\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={10}\n strokeWidth={1.765}\n />\n </svg>\n)\n","import React from 'react'\nimport { Wrapper, Info, Employer, Title, Achievements, Date } from './style'\nimport { Position } from '../Icons'\n\nconst Job = props => {\n const { employer, title, date, achievements } = props.job\n\n return (\n <Wrapper>\n <div>\n <Position />\n </div>\n <Info>\n <Employer>{employer}</Employer>\n <Title>{title}</Title>\n <Date>{date}</Date>\n\n <Achievements>\n {achievements.map((achievement, index) => <li key={index}>{achievement}</li>)}\n </Achievements>\n </Info>\n </Wrapper>\n )\n}\n\nexport default Job\n","import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport data from '../../data/jobs'\nimport Job from '../Job'\nimport {Block, BlockTitle} from '../style'\n\nconst {history} = data\n\nconst ExpandButton = styled.button`\n //position: absolute;\n //left: calc(50% - 50px);\n width: 100px;\n`\n\nconst Expand = styled.div`\n background: rgb(255,255,255);\n background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);\n display: flex;\n justify-content: center;\n align-content: center;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n`\n\nconst Jobs = () => {\n const [jobsCount, setJobsCount] = useState(2)\n\n function expand () {\n if (jobsCount === history.length) {\n return setJobsCount(2)\n }\n setJobsCount(history.length)\n }\n\n return (\n <Block>\n <BlockTitle>work history</BlockTitle>\n {history.slice(0, jobsCount).map(job => <Job key={job.employer} job={job} />)}\n\n <Expand>\n <ExpandButton onClick={expand}>toggle</ExpandButton>\n </Expand>\n </Block>\n )\n}\n\nexport default Jobs\n","import React from 'react'\nimport { setConfig } from 'react-hot-loader'\nimport styled from 'styled-components'\nimport Layout from '../components/layout'\nimport Intro from '../components/Intro'\nimport Jobs from '../components/Jobs'\nimport { Wrapper, Block, BlockTitle, AboutMe, AboutMeInfo, AboutMeTitle, Skill } from '../components/style'\nimport { Search, Status, Location } from '../components/Icons'\nimport data from '../data/jobs'\n\nsetConfig({ pureSFC: true })\n\nconst ContactLink = styled.a`\n font-weight: 500;\n display: inline-block;\n margin-right: 20px;\n color: #2B87B1;\n text-decoration: none;\n`\n\nconst IndexPage = () => (\n <Layout>\n <Wrapper>\n <Intro />\n\n <Block>\n <ContactLink href=\"#\">CV</ContactLink>\n <ContactLink href=\"https://www.linkedin.com/in/massimopalmieri\">LinkedIn</ContactLink>\n <ContactLink href=\"mailto:[email protected]\">Email</ContactLink>\n <ContactLink href=\"tel:00447824174839\">0782-417-4839</ContactLink>\n </Block>\n\n <Block>\n <BlockTitle>about me</BlockTitle>\n\n <AboutMe>\n <Location />\n <AboutMeInfo>\n <AboutMeTitle>Willing to work in or near the following areas (or remote):</AboutMeTitle>\n London, United Kingdom\n </AboutMeInfo>\n </AboutMe>\n\n <AboutMe>\n <Status />\n <AboutMeInfo>\n <AboutMeTitle>Job search status:</AboutMeTitle>\n Open to exploring new opportunities\n </AboutMeInfo>\n </AboutMe>\n\n <AboutMe>\n <Search />\n <AboutMeInfo>\n <AboutMeTitle>What I am looking for in a new position:</AboutMeTitle>\n Modern tech stack, flexible working.\n </AboutMeInfo>\n </AboutMe>\n </Block>\n\n <Block>\n <BlockTitle>primary area of expertise</BlockTitle>\n\n <div>\n {data.skills.map(skill => <Skill key={skill}>{skill}</Skill>)}\n </div>\n </Block>\n\n <Jobs />\n\n {/* <Link to=\"/page-2/\">Go to page 2</Link> */}\n </Wrapper>\n </Layout>\n)\n\nexport default IndexPage\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport parsePath from \"./parse-path\"\n\nconst StaticQueryContext = React.createContext({})\n\nconst StaticQuery = props => (\n <StaticQueryContext.Consumer>\n {staticQueryData => {\n if (\n props.data ||\n (staticQueryData[props.query] && staticQueryData[props.query].data)\n ) {\n return (props.render || props.children)(\n props.data ? props.data.data : staticQueryData[props.query].data\n )\n } else {\n return <div>Loading (StaticQuery)</div>\n }\n }}\n </StaticQueryContext.Consumer>\n)\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away,. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n.` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql } from 'gatsby'\n\nimport './layout.css'\n\nconst Layout = ({ children }) => (\n <StaticQuery\n query={graphql`\n query SiteTitleQuery {\n site {\n siteMetadata {\n title\n }\n }\n }\n `}\n render={data => (\n <>\n <Helmet\n title={data.site.siteMetadata.title}\n meta={[\n { name: 'description', content: 'Massimo Palmieri - Front-end developer' },\n { name: 'keywords', content: 'front-end, development, engineer, london, react, javascript' },\n ]}\n >\n <html lang=\"en\" />\n <link href=\"https://fonts.googleapis.com/css?family=Montserrat:300,400,500\" rel=\"stylesheet\" />\n </Helmet>\n\n {children}\n </>\n )}\n />\n)\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\nimport loader from \"./loader\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.getResourcesForPathnameSync(location.pathname)\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","module.exports = __webpack_public_path__ + \"static/profile-09f065bb579d51556e6fafacd31d6f61.jpeg\";"],"sourceRoot":""}