{"version":3,"file":"component---src-templates-blog-js-b499a136b67b52d5b211.js","mappings":"iPA+BMA,G,gBAAc,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,KAEdC,GAF6B,EAATC,GAEsBF,EAA1CC,MAAWE,GAA+BH,EAApCI,IAAoCJ,EAA/BG,KAAKE,EAA0BL,EAA1BK,uBACjBC,EAASL,EAAKM,KAAKC,MAAK,SAAAC,GAC5B,MAA2B,cAApBA,EAAKC,cAEd,IAAKJ,EAAQ,OAAO,KACpB,IAAOK,EAAkBL,EAAlBK,MACDC,GADmBN,EAAXO,QACOF,EAAM,IACvBG,EAAQ,GACRF,GAAgBA,EAAaE,OAASF,EAAaE,MAAMX,MAC3DW,EAAQF,EAAaE,MAAMX,KAG7B,IAAMY,EAAWC,GAAAA,CAAOX,GAAwBY,OAAO,gBAEvD,OACE,uBAAKC,UAAU,4BAChB,uBAAKA,UAAW,6DACX,qBAAGC,KAAMhB,EAAKe,UAAU,qDACrBJ,GAAS,uBAAKI,UAAU,cAAcE,IAAKN,KAElD,uBAAKI,UAAU,iEACT,uBAAKA,UAAU,aACb,uBAAKA,UAAU,WAAWH,GAC1B,qBAAGG,UAAU,iCAAiCC,KAAMhB,GAClD,uBAAKe,UAAU,gBAAgBlB,EAAKC,KAAKoB,MAAMC,MAAQ,mBASxDC,EAAO,SAAC,GAAc,IAAZC,EAAW,EAAXA,KACrB,IAAKA,EAAM,OAAO,KAElB,IAAMC,EAAOD,EAAKC,KAElB,OACE,uBAAKP,UAAU,gBACZO,EAAKC,KAAI,SAAC1B,GAAD,OACR,gBAACD,EAAD,CAAaC,KAAMA,EAAM2B,IAAK3B,EAAKI,WCqD3C,G,SAAewB,EAAAA,EAAAA,KAnHM,SAAC,GAAc,IAAZ3B,EAAW,EAAXA,KACtB,GAAyB4B,EAAAA,EAAAA,UAAS,IAA3BJ,EAAP,KAAYK,EAAZ,KAaA,IAXAC,EAAAA,EAAAA,YAAW,WACT,IAAMP,EAAOvB,EAAK+B,gBAAkB,GAE9BC,GADMjB,GAAAA,GACKQ,EAAKU,MAAMC,QAAO,SAAA1B,GACpBA,EAAKR,KAElB,OAAO,MAET6B,EAAUG,KACT,CAAChC,EAAK+B,kBAEJ/B,EAAM,OAAO,KAElB,IAAMmC,EAAWnC,EAAKoC,aAAe,GAC/BC,EAAM,CACVjB,MAAOe,EAASnC,KAAKsC,UACrBC,YAAaJ,EAASnC,KAAKwC,gBAC3BC,SAAUN,EAASnC,KAAK0C,cAG1B,EAA4BP,GAAY,GAElCQ,EAAY,CAChBC,KAHF,EAAQA,KAINC,KAJF,EAAcA,KAKZ3C,IALF,EAAoBA,IAMlB4C,mBALyBX,EAASY,qBAAuB,IAQrDxB,EAAOvB,EAAK+B,eAGlB,OAFAR,EAAKC,KAAOA,EAGV,gBAACwB,EAAA,EAAD,CAAQC,cAAeN,EAAWN,IAAKA,GACrC,uBAAKpB,UAAU,iBACb,uBAAKiC,MAAO,CAACC,OAAO,UAClB,uBAAKlC,UAAU,kBACX,sBAAIA,UAAU,mBAAmBkB,EAASnC,KAAKoD,cAGvD,uBAAKnC,UAAU,kBACb,gBAACK,EAAD,CAAMC,KAAMA","sources":["webpack://gatsbyjs-blog/./src/components/Blog.js","webpack://gatsbyjs-blog/./src/templates/blog.js"],"sourcesContent":["import * as React from 'react'\nimport { Link } from 'gatsby'\nimport * as prismicH from '@prismicio/helpers'\nimport moment from 'moment-timezone'\nimport 'moment/locale/de' // without this line it didn't work\nimport { useLocation } from '@reach/router';\n\n// Function to retrieve a small preview of the post's text\nconst firstParagraph = (post) => {\n // // Find the first text slice of post's body\n const firstTextSlice = post.body.find((slice) => slice.slice_type === 'post_info')\n if (firstTextSlice != null) {\n // Set the character limit for the text we'll show in the homepage\n const textLimit = 100\n const text = firstTextSlice.primary.description.text\n const limitedText = text.substring(0, textLimit)\n\n if (text.length > textLimit) {\n // Cut only up to the last word and attach '...' for readability\n return (\n

{`${limitedText.substring(0, limitedText.lastIndexOf(' '))}...`}

\n )\n }\n // If it's shorter than the limit, just show it normally\n return

{text}

\n }\n // If there are no slices of type 'text', return nothing\n return null\n}\n\n// A summary of the Blog Post\nconst PostSummary = ({ post, id }) => {\n\n const {data, uid, url, first_publication_date} = post\n const detail = data.body.find(item => {\n return item.slice_type === 'post_info'\n })\n if (!detail) return null\n const {items, primary} = detail\n const firstImgItem = items[0]\n let image = \"\"\n if (firstImgItem && firstImgItem.image && firstImgItem.image.url) {\n image = firstImgItem.image.url\n }\n\n const pub_date = moment(first_publication_date).format(\"DD MMMM YYYY\")\n\n return (\n
\n\t\t\t
\n \n {image && }\n \n\t\t\t\t
\n
\n
{pub_date}
\n \n
{post.data.title.text || 'Untitled'}
\n
\n
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n )\n}\n\nexport const Blog = ({ docs }) => {\n if (!docs) return null\n\n const blog = docs.blog\n\n return (\n
\n {blog.map((post) => (\n \n ))}\n {/* */}\n
\n )\n}\n","// import * as React from 'react'\nimport React, { useState, useEffect } from 'react';\nimport { graphql } from 'gatsby'\nimport { withPrismicPreview } from 'gatsby-plugin-prismic-previews'\nimport { SliceZone } from '@prismicio/react'\nimport moment from 'moment';\n\nimport { Layout } from '../components/Layout'\nimport {Blog} from '../components/Blog'\nimport { components } from '../slices'\n\n\nconst BlogTemplate = ({ data }) => {\n const [blog,setEvents] = useState([])\n \n useEffect( ()=> {\n const docs = data.allPrismicPost || []\n const now = moment()\n const filtered = docs.nodes.filter(item => {\n const data = item.data\n // return (startTime < now)\n return true;\n })\n setEvents(filtered)\n }, [data.allPrismicPost])\n \n if (!data) return null\n\n const homepage = data.prismicBlog || {}\n const seo = {\n title: homepage.data.seo_title,\n description: homepage.data.seo_description,\n keywords: homepage.data.seo_keywords,\n }\n\n const { lang, type, url } = homepage || {}\n const alternateLanguages = homepage.alternate_languages || []\n const activeDoc = {\n lang,\n type,\n url,\n alternateLanguages,\n }\n\n const docs = data.allPrismicPost\n docs.blog = blog\n\n return (\n \n
\n
\n
\n

{homepage.data.page_title}

\n
\n
\n
\n \n
\n
\n )\n}\n\nexport const query = graphql`\n query myBlogQuery($lang: String) {\n prismicBlog(lang: { eq: $lang }) {\n _previewable\n data {\n seo_title\n seo_description\n seo_keywords\n page_title\n }\n alternate_languages {\n uid\n type\n lang\n }\n lang\n url\n type\n }\n\n allPrismicPost(\n limit: 10\n skip: 0\n #filter: {\n\t\t\t#data:{\n #finish_time:{gte: $now}\n #}\n #}\n ) {\n nodes {\n _previewable\n uid\n url\n first_publication_date\n data {\n title {\n text\n }\n body {\n ... on PrismicPostDataBodyPostInfo {\n id\n slice_label\n slice_type\n items {\n ... on PrismicPostDataBodyPostInfoItem {\n image {\n url\n }\n }\n }\n primary {\n ... on PrismicPostDataBodyPostInfoPrimary {\n description {\n text\n }\n }\n }\n }\n }\n }\n }\n }\n}\n`\n\nexport default withPrismicPreview(BlogTemplate)\n"],"names":["PostSummary","post","data","id","url","uid","first_publication_date","detail","body","find","item","slice_type","items","firstImgItem","primary","image","pub_date","moment","format","className","href","src","title","text","Blog","docs","blog","map","key","withPrismicPreview","useState","setEvents","useEffect","allPrismicPost","filtered","nodes","filter","homepage","prismicBlog","seo","seo_title","description","seo_description","keywords","seo_keywords","activeDoc","lang","type","alternateLanguages","alternate_languages","Layout","activeDocMeta","style","height","page_title"],"sourceRoot":""}