import React from 'react' import PropTypes from 'prop-types' import { graphql } from 'gatsby' import FullWidth from '../components/atoms/FullWidth' import ProjectImage from '../components/molecules/ProjectImage' import ProjectTechstack from '../components/molecules/ProjectTechstack' import ProjectLinks from '../components/molecules/ProjectLinks' import ProjectNav from '../components/molecules/ProjectNav' import SEO from '../components/atoms/SEO' import styles from './Project.module.scss' const ProjectMeta = ({ links, techstack }) => ( ) const ProjectImages = ({ projectImages, title }) => ( {projectImages.map(({ node }) => (
))}
) const Project = ({ data }) => { const project = data.projectsYaml const projectImages = data.projectImages.edges const { title, links, techstack } = project const description = data.projectsYaml.description const descriptionWithLineBreaks = description.split('\n').join('\n\n') return ( <>

{title}

) } ProjectMeta.propTypes = { links: PropTypes.array, techstack: PropTypes.array } ProjectImages.propTypes = { projectImages: PropTypes.array, title: PropTypes.string } Project.propTypes = { data: PropTypes.object.isRequired, location: PropTypes.object.isRequired } export default Project export const projectAndProjectsQuery = graphql` query($slug: String!) { projectsYaml(slug: { eq: $slug }) { title slug description links { title url type } techstack img { childImageSharp { twitterImage: resize(width: 980) { src } } } } projectImages: allImageSharp( filter: { fluid: { originalName: { regex: $slug } } } sort: { fields: [fluid___originalName], order: ASC } ) { edges { node { id ...ProjectImageFluid } } } } `