{"version":3,"sources":["webpack:///./src/components/Project.js","webpack:///./src/components/Projects.js","webpack:///./src/components/Hero.js","webpack:///./src/constants/services.js","webpack:///./src/components/Services.js","webpack:///./src/components/Jobs.js","webpack:///./src/pages/index.js"],"names":["Project","description","title","stack","url","image","index","className","fluid","childImageSharp","map","item","key","id","href","target","rel","Projects","projects","showLink","Title","project","to","Hero","useStaticQuery","file","icon","text","Services","services","service","Jobs","jobs","allStrapiJobs","nodes","React","useState","value","setValue","company","position","date","desc","strapiId","type","onClick","name","data","allStrapiProjects","SEO"],"mappings":"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","file":"component---src-pages-index-js-c45f69d778049629e4ec.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Image from 'gatsby-image';\nimport { FaShareSquare } from 'react-icons/fa';\n\nconst Project = ({ description, title, stack, url, image, index }) => (\n
\n \n
\n 0{index + 1}.\n

{title}

\n

{description}

\n
\n {stack.map(item => (\n {item.title}\n ))}\n
\n
\n \n \n \n
\n
\n
\n);\n\nProject.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n image: PropTypes.object.isRequired,\n stack: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n\nexport default Project;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { Link } from 'gatsby';\nimport Title from './Title';\nimport Project from './Project';\n\nconst Projects = ({ projects, title, showLink }) => (\n
\n \n <div className=\"section-center projects-center\">\n {projects.map((project, index) => (\n <Project key={project.id} index={index} {...project} />\n ))}\n </div>\n {showLink && (\n <Link to=\"/projects\" className=\"btn center-btn\">\n projects\n </Link>\n )}\n </section>\n);\n\nexport default Projects;\n","import React from 'react';\nimport Image from 'gatsby-image';\nimport { Link, graphql, useStaticQuery } from 'gatsby';\nimport SocialLinks from '../constants/socialLinks';\n\nconst query = graphql`\n {\n file(relativePath: { eq: \"hero-img.png\" }) {\n childImageSharp {\n fluid {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n`;\n\nconst Hero = () => {\n const {\n file: {\n childImageSharp: { fluid },\n },\n } = useStaticQuery(query);\n\n return (\n <header className=\"hero\">\n <div className=\"section-center hero-center\">\n <article className=\"hero-info\">\n <div>\n <div className=\"underline\"></div>\n <h1>I'm Joseph</h1>\n <h4>Web Development examples below.</h4>\n <Link to=\"/contact\" className=\"btn\">\n Get In Touch\n </Link>\n <SocialLinks />\n </div>\n </article>\n <Image fluid={fluid} className=\"hero-img\" />\n </div>\n </header>\n );\n};\n\nexport default Hero;\n","import React from 'react';\nimport { FaCode, FaSketch, FaAndroid } from 'react-icons/fa';\n\nexport default [\n {\n id: 1,\n icon: <FaCode className=\"service-icon\" />,\n title: 'development',\n text: `Clean and sustainable. All sites are coded with performance and functionality in mind, no matter if it's a small business landing page or large web application, the best practices and tools are used.`,\n },\n {\n id: 2,\n icon: <FaSketch className=\"service-icon\" />,\n title: 'design',\n text: `Aesthetic with a purpose. My websites are user-focused with the idea of using a beautiful design to attract the user and keep their attention. All designs look great on any screen no matter how large or small.`,\n },\n {\n id: 3,\n icon: <FaAndroid className=\"service-icon\" />,\n title: 'deploy',\n text: `From setting up the hosting and domain, with site maintenance and updates, the deployment process is a breeze.`,\n },\n];\n","import React from 'react';\nimport Title from './Title';\nimport services from '../constants/services';\n\nconst Services = () => (\n <section className=\"section bg-grey\">\n <Title title=\"services\" />\n <div className=\"section-center services-center\">\n {services.map(service => {\n const { id, icon, text, title } = service;\n\n return (\n <article key={id} className=\"service\">\n {icon}\n <h4>{title}</h4>\n <div className=\"underline\"></div>\n <p>{text}</p>\n </article>\n );\n })}\n </div>\n </section>\n);\n\nexport default Services;\n","import React from 'react';\nimport { FaAngleDoubleRight } from 'react-icons/fa';\nimport { graphql, useStaticQuery, Link } from 'gatsby';\n\nimport Title from './Title';\n\nconst query = graphql`\n {\n allStrapiJobs(sort: { fields: strapiId, order: DESC }) {\n nodes {\n strapiId\n company\n date\n position\n desc {\n name\n id\n }\n }\n }\n }\n`;\n\nconst Jobs = () => {\n const data = useStaticQuery(query);\n const {\n allStrapiJobs: { nodes: jobs },\n } = data;\n const [value, setValue] = React.useState(0);\n const { company, position, date, desc } = jobs[value];\n\n return (\n <section className=\"section jobs\">\n <Title title=\"experience\" />\n <div className=\"jobs-center\">\n <div className=\"btn-container\">\n {jobs.map((item, index) => (\n <button\n key={item.strapiId}\n type=\"button\"\n onClick={() => setValue(index)}\n className={`job-btn ${index === value && 'active-btn'}`}\n >\n {item.company}\n </button>\n ))}\n </div>\n <article className=\"job-info\">\n <h3>{position}</h3>\n <h4>{company}</h4>\n <p className=\"job-description\">{date}</p>\n {desc.map(item => (\n <div key={item.id} className=\"job-desc\">\n <FaAngleDoubleRight className=\"job-icon\" />\n <p>{item.name}</p>\n </div>\n ))}\n </article>\n </div>\n <Link to=\"/about\" className=\"btn center-btn\">\n more info\n </Link>\n </section>\n );\n};\n\nexport default Jobs;\n","import React from 'react';\nimport { graphql } from 'gatsby';\nimport Layout from '../layouts';\nimport Hero from '../components/Hero';\nimport Services from '../components/Services';\nimport Jobs from '../components/Jobs';\nimport Projects from '../components/Projects';\nimport Blogs from '../components/Blogs';\nimport SEO from '../components/SEO';\n\nexport default ({ data }) => {\n const {\n allStrapiProjects: { nodes: projects },\n } = data;\n\n return (\n <Layout>\n <SEO title=\"Home\" description=\"Home\" />\n <Hero />\n <Services />\n <Jobs />\n <Projects\n projects={projects}\n title=\"Some of my latest projects\"\n showLink\n />\n </Layout>\n );\n};\n\nexport const query = graphql`\n {\n allStrapiProjects(filter: { featured: { eq: true } }) {\n nodes {\n id\n description\n title\n url\n image {\n childImageSharp {\n fluid {\n ...GatsbyImageSharpFluid\n }\n }\n }\n stack {\n id\n title\n }\n }\n }\n }\n`;\n"],"sourceRoot":""}