{"version":3,"sources":["webpack:///./src/templates/author.js","webpack:///./src/components/tipList.js"],"names":["options","renderText","text","split","flatMap","i","authorTemplate","render","props","author","get","this","authorBio","documentToReactComponents","bio","json","authorTips","title","name","height","imageData","coverPhoto","fluid","ProfileWrapper","src","photo","file","url","alt","style","width","marginTop","position","border","SocialList","href","instagram","target","rel","className","website","email","Main","location","photographerType","data","tipHeight","headingText","itemWidth","React","Component","styled","div","ul","tipList","tips","headingClass","Container","TeaserList","map","node","TeaserListItem","key","slug","flex","tip","li"],"mappings":"6PAWMA,EAAU,CACZC,WAAY,SAAAC,GAAI,OAAIA,EAAKC,MAAM,MAAMC,SAAQ,SAACF,EAAMG,GAAP,MAAa,CAACA,EAAI,GAAK,6BAAQH,QAG1EI,E,kGACFC,OAAA,SAAOC,GAEP,IAAMC,EAASC,IAAIC,KAAKH,MAAO,yBACzBI,EAAYC,oCAA0BJ,EAAOK,IAAIC,KAAMf,GACvDgB,EAAaN,IAAIC,KAAM,+BAG7B,OAEI,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAKM,MAAK,WAAaR,EAAOS,OAE9B,kBAAC,IAAD,CAAiBC,OAAO,QAAQC,UAAWX,EAAOY,WAAWC,QAG7D,kBAACC,EAAD,KAEI,yBAAKC,IAAKf,EAAOgB,MAAMC,KAAKC,IAAKC,IAAKnB,EAAOS,KAAMW,MAAO,CAAEC,MAAM,QAAUX,OAAO,OAASY,UAAU,SAAWC,SAAS,WAAaC,OAAO,qBAG9I,kBAACC,EAAD,KACI,4BACI,uBAAGC,KAAM1B,EAAO2B,UAAWC,OAAO,SAASC,IAAI,uBAC3C,uBAAGC,UAAU,uBAGrB,4BACI,uBAAGJ,KAAM1B,EAAO+B,QAASH,OAAO,SAASC,IAAI,uBACzC,uBAAGC,UAAU,mBAGrB,4BACI,uBAAGJ,KAAM,UAAY1B,EAAOgC,MAAOJ,OAAO,SAASC,IAAI,uBACnD,uBAAGC,UAAU,wBAO7B,kBAACG,EAAD,KACI,4BAAMjC,EAAOS,MACb,2BAAG,uBAAGqB,UAAU,sBAAhB,IAA0C9B,EAAOkC,SAAjD,IAA2D,6BACvD,2BAAIlC,EAAOmC,mBAEf,mCACChC,EAED,kBAAC,IAAD,CAASiC,KAAM7B,EAAY8B,UAAU,QAAQC,YAAY,oBAAoBC,UAAU,W,GAjD1EC,IAAMC,WA6DpB5C,YAIR,IAyEDiB,EAAiB4B,IAAOC,IAAV,6EAAGD,CAAH,oCAMdjB,EAAaiB,IAAOE,GAAV,yEAAGF,CAAH,qRA0BVT,EAAOS,IAAOC,IAAV,mEAAGD,CAAH,2K,sHCpLJG,E,kGACF/C,OAAA,SAAOC,GACH,IAAM+C,EAAO7C,IAAIC,KAAKH,MAAO,QACvBuC,EAAcrC,IAAIC,KAAKH,MAAO,eAC9BgD,EAAe9C,IAAIC,KAAKH,MAAO,gBAC/BsC,EAAYpC,IAAIC,KAAKH,MAAO,aAC5BwC,EAAYtC,IAAIC,KAAKH,MAAO,aAElC,OAEI,kBAACiD,EAAD,KAEI,wBAAIlB,UAAWiB,GAAeT,GAE9B,kBAACW,EAAD,KACKH,EAAKI,KAAI,YAAe,IAAZC,EAAW,EAAXA,KACT,OACI,kBAACC,EAAD,CAAgBC,IAAKF,EAAKG,KAAMlC,MAAO,CAAEmC,KAAK,OAAQhB,IAClD,kBAAC,IAAD,CAAW7B,OAAQ2B,EAAWmB,IAAKL,W,GAlB7CX,IAAMC,WA8BbI,MAEf,IAAMG,EAAYN,IAAOC,IAAV,yEAAGD,CAAH,8RA0BTO,EAAaP,IAAOE,GAAV,0EAAGF,CAAH,wHAWVU,EAAiBV,IAAOe,GAAV,8EAAGf,CAAH","file":"component---src-templates-author-js-b3905dd708bb9541cb57.js","sourcesContent":["import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport get from 'lodash/get'\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer';\nimport Layout from \"../components/layout\"\nimport SEO from \"../components/seo\"\nimport styled from 'styled-components'\nimport BackgroundImage from '../components/BackgroundImage'\nimport TipList from '../components/tipList'\n\n\nconst options = {\n renderText: text => text.split('\\n').flatMap((text, i) => [i > 0 &&
, text])\n};\n\nclass authorTemplate extends React.Component {\n render(props) {\n\n const author = get(this.props, 'data.contentfulAuthor');\n const authorBio = documentToReactComponents(author.bio.json, options);\n const authorTips = get(this, 'props.data.authorTips.edges');\n\n\n return(\n\n \n \n\n \n\n\n \n\n {author.name}\n\n\n \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n
  • \n \n \n \n
  • \n
    \n\n
    \n\n
    \n

    { author.name }

    \n

    {author.location}
    \n {author.photographerType}

    \n\n

    Bio

    \n {authorBio}\n\n \n\n
    \n
    \n )\n\n\n }\n}\n\n\n\nexport default authorTemplate\n\n\n\nexport const PageQuery = graphql`\n query AuthorBySlug($slug: String!, $authorName: String) {\n site {\n siteMetadata {\n title\n }\n }\n contentfulAuthor(slug: { eq: $slug }) {\n name\n slug\n instagram\n email\n website\n photographerType\n location\n bio {\n json\n }\n photo {\n file {\n url\n }\n fluid(maxWidth: 1400, maxHeight: 900, resizingBehavior: SCALE) {\n ...GatsbyContentfulFluid\n }\n }\n \n coverPhoto {\n file {\n url\n }\n fluid(maxWidth: 1400, maxHeight: 900, resizingBehavior: SCALE) {\n ...GatsbyContentfulFluid\n }\n }\n }\n \n placeholderImage: file(relativePath: { eq: \"author-cover-photo.jpg\" }) {\n childImageSharp {\n fixed(width: 1500, height: 500) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n \n authorTips: allContentfulTip(filter: { author: {name: {eq: $authorName}}}, limit: 4, sort: {fields: createdAt, order: DESC}) {\n edges {\n node {\n title\n slug\n timeToRead\n category {\n name\n }\n author {\n name\n }\n image {\n file {\n url\n }\n fluid(maxWidth: 1400, maxHeight: 900, resizingBehavior: SCALE) {\n ...GatsbyContentfulFluid\n }\n }\n }\n }\n }\n \n \n }\n `;\n\nconst ProfileWrapper = styled.div`\n max-width 800px;\n margin: 0 auto;\n`;\n\n\nconst SocialList = styled.ul`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n list-style: none;\n margin-top: 20px;\n \n li {\n margin-right: 10px;\n a {\n color: #fff;\n font-size: 25px;\n background: #3c7db6;\n border: 1px solid #3c7db6;\n padding: 3px 8px;\n \n &:hover {\n background: transparent;\n color: #3c7db6;\n border: 1px solid #3c7db6;\n }\n }\n }\n`;\n\n\nconst Main = styled.div`\n max-width: 800px;\n margin: 70px auto 60px auto; \n color: white;\n \n h1 {\n font-size: 28px;\n margin: 0;\n }\n \n h2 {\n font-size: 24px;\n }\n\n @media(max-width: 768px) {\n flex-direction: column;\n padding: 0 20px;\n }\n`;","import React from \"react\"\nimport styled from 'styled-components'\nimport get from 'lodash/get'\nimport TipTeaser from '../components/TipTeaser'\n\nclass tipList extends React.Component {\n render(props) {\n const tips = get(this.props, 'data');\n const headingText = get(this.props, 'headingText');\n const headingClass = get(this.props, 'headingClass');\n const tipHeight = get(this.props, 'tipHeight');\n const itemWidth = get(this.props, 'itemWidth');\n\n return (\n\n \n\n

    {headingText}

    \n\n \n {tips.map(({ node }) => {\n return (\n \n \n \n )\n })}\n \n\n
    \n\n )\n }\n}\n\nexport default tipList\n\nconst Container = styled.div`\n h2.uppercase {\n color: #fff;\n margin: 20px 10px;\n text-align: center;\n text-transform: uppercase;\n font-weight: 300;\n letter-spacing: 2px;\n font-size: 25px;\n\n &:before,\n &:after {\n content: '';\n border: 1px solid #3c7db6;\n display: inline-block;\n width: 50px;\n margin-right: 10px;\n }\n\n &:after {\n margin-right: 0;\n margin-left: 10px;\n }\n }\n`;\n\nconst TeaserList = styled.ul`\n margin: 0;\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n\n @media(max-width: 500px) {\n flex-direction: column;\n }\n`;\n\nconst TeaserListItem = styled.li`\n list-style: none;\n margin: 10px; \n`;"],"sourceRoot":""}