{"version":3,"sources":["webpack://tyler-karu/./src/components/seo/index.tsx","webpack://tyler-karu/./src/components/projectFooter/index.tsx","webpack://tyler-karu/./src/templates/project/index.tsx"],"names":["props","lang","location","metaDescription","description","metaTitle","title","metaImage","image","twitterCard","twitterSite","twitterCreator","metaKeywords","keywords","rel","href","name","content","property","projects","carousel","useRef","className","timeout","ref","itemsToScroll","breakPoints","width","itemsToShow","itemPadding","showArrows","pagination","enableSwipe","isRTL","map","node","index","key","G","mainImage","asset","gatsbyImageData","alt","objectFit","button","slug","current","type","ProjectContent","loadable","HeroTitle","ProjectInfo","data","sanityProject","sanityProjects","metadata","seo","heroImage","findIndex","project","next","length","prev","_rawDescription","sector","category","featuredIn","photos","filter"],"mappings":"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","file":"component---src-templates-project-index-tsx-8f05179fb2c651cb6bfb.js","sourcesContent":["import React from 'react'\nimport { Helmet } from 'react-helmet'\nimport { SEO as SEOTypes } from '@utils/types'\n\nconst SEO = (props: SEOTypes) => {\n const { lang = 'en', location } = props\n const metaDescription = props.description || 'Tyler Karu description'\n const metaTitle = props.title || 'Tyler Karu'\n const metaImage = props.image || ''\n const twitterCard = props.twitterCard || ''\n const twitterSite = props.twitterSite || ''\n const twitterCreator = props.twitterCreator || ''\n const metaKeywords = props.keywords || ''\n\n return (\n \n \n {metaTitle}\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default SEO\n","import React, { useRef } from 'react'\nimport './index.scss'\nimport { ProjectType } from '@utils/types'\nimport Carousel from 'react-elastic-carousel'\nimport { GatsbyImage } from 'gatsby-plugin-image'\nimport ButtonComponent from '@components/buttonComponent'\nimport { FadeInSection } from '@components/Animations'\n\ntype Props = {\n projects: Array\n}\n\nconst ProjectFooter = ({ projects }: Props) => {\n const carousel = useRef(null)\n const breakpoints = [\n {\n width: 1,\n itemsToShow: 1,\n itemPadding: [0, 0],\n },\n {\n width: 500,\n itemsToShow: 2,\n itemPadding: [0, 10],\n },\n {\n width: 767,\n itemsToShow: 3,\n itemPadding: [0, 20],\n },\n ]\n\n return (\n
\n \n

More Projects

\n
\n \n {projects.map((node, index) => {\n return (\n
\n
\n
\n \n
\n
\n

{node?.title}

\n \n
\n
\n )\n })}\n \n
\n \n
\n )\n}\n\nexport default ProjectFooter\n","import React from 'react'\nimport { graphql } from 'gatsby'\nimport { ProjectType } from '@utils/types'\nimport SEO from '@components/seo'\nimport loadable from '@loadable/component'\nimport ProjectFooter from '@components/projectFooter'\nconst ProjectContent = loadable(() => import('@components/projectContent'))\nconst HeroTitle = loadable(() => import('@components/heroTitle'))\nconst ProjectInfo = loadable(() => import('@components/projectInfo'))\n\ntype Props = {\n data: {\n sanityProject: ProjectType\n sanityProjects: {\n projects: Array\n }\n }\n location: Location\n}\n\nconst ProjectPage = ({\n data: {\n sanityProject,\n sanityProjects: { projects },\n },\n location,\n}: Props) => {\n const metadata = {\n location: location.href,\n ...sanityProject?.seo,\n }\n\n const getNextProject = () => {\n const index = projects.findIndex(\n (project) => project.slug.current === sanityProject.slug.current,\n )\n const next = projects[index === projects.length - 1 ? 0 : index + 1]?.slug\n const prev = projects[index === 0 ? projects.length - 1 : index - 1]?.slug\n return { next, prev }\n }\n\n return (\n <>\n \n \n \n \n project?.slug.current !== sanityProject?.slug.current,\n )}\n />\n \n )\n}\n\nexport default ProjectPage\n\nexport const pageQuery = graphql`\n query sanityProjectQuery($slug: String) {\n sanityProject(slug: { current: { eq: $slug } }) {\n title\n seo {\n description\n keywords\n image\n title\n twitterCard\n twitterCreator\n twitterSite\n }\n featuredIn\n slug {\n current\n }\n _rawDescription(resolveReferences: { maxDepth: 10 })\n heroImage {\n alt\n asset {\n gatsbyImageData(\n placeholder: BLURRED\n height: 750\n formats: [AUTO, WEBP, AVIF]\n )\n }\n }\n location\n photos\n category\n content {\n ... on SanityMainImage {\n _type\n alt\n asset {\n gatsbyImageData(\n placeholder: BLURRED\n height: 750\n formats: [AUTO, WEBP, AVIF]\n )\n }\n }\n ... on SanitySquaredSection {\n _type\n _rawText(resolveReferences: { maxDepth: 10 })\n flip\n image {\n alt\n asset {\n gatsbyImageData(\n placeholder: BLURRED\n height: 750\n formats: [AUTO, WEBP, AVIF]\n )\n }\n }\n }\n }\n }\n sanityProjects(_id: { in: [\"drafts.projectsPage\", \"projectsPage\"] }) {\n projects {\n slug {\n current\n }\n title\n mainImage {\n alt\n asset {\n gatsbyImageData(placeholder: BLURRED, formats: [AUTO, WEBP, AVIF])\n }\n }\n hoverImage {\n alt\n asset {\n gatsbyImageData(placeholder: BLURRED, formats: [AUTO, WEBP, AVIF])\n }\n }\n }\n }\n }\n`\n"],"sourceRoot":""}