{"version":3,"file":"component---src-templates-events-js-379463777dd8901155dd.js","mappings":"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","sources":["webpack://gatsbyjs-blog/./src/components/Events.js","webpack://gatsbyjs-blog/./src/templates/events.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 === 'event_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 EventSummary = ({ event, id }) => {\n\n const {data, uid, url} = event\n const detail = data.body.find(item => {\n return item.slice_type === 'event_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 moment.locale('de')\n const startDate = moment(event.data.start_time).format(\"DD MMMM YYYY\")\n const startTime = moment(event.data.start_time).format(\"HH:mm\")\n const finishDate = moment(event.data.finish_time).format(\"DD MMMM YYYY\")\n\n const now = moment().utc()\n const finishUtc = moment(data.finish_time).tz(\"Europe/Berlin\")\n const isOver = now.isAfter(finishUtc)\n\n let showType = true\n if (useLocation().pathname == \"/weinangebote\") {\n showType = false\n }\n\n return (\n
\n\t\t\t
\n \n {image && }\n {/*showType && {\"Rabattaktionen\"}*/}\n \n\t\t\t\t
\n
\n
\n\t\t\t\t\t \n \n {startDate}{\" - \"}{finishDate}\n \n
\n \n {(isOver ? \"ABGELAUFEN: \" : \"\") + event.data.title.text || 'Untitled'}\n \n
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n )\n}\n\nexport const Events = ({ docs }) => {\n if (!docs) return null\n\n const events = docs.events\n\n return (\n
\n {events.map((event) => (\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 {Events} from '../components/Events'\nimport { components } from '../slices'\n\n\nconst EventsTemplate = ({ data }) => {\n const [events,setEvents] = useState([])\n \n useEffect( ()=> {\n const docs = data.allPrismicEvent || []\n const now = moment()\n const filtered = docs.nodes.filter(item => {\n const data = item.data\n const startTime = moment(data.start_time)\n const finishTime = moment(data.finish_time)\n // return (startTime < now)\n return true;\n })\n setEvents(filtered)\n }, [data.allPrismicEvent])\n \n if (!data) return null\n\n const homepage = data.prismicEvents || {}\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.allPrismicEvent\n docs.events = events\n\n return (\n \n
\n
\n
\n

{homepage.data.title.text}

\n
\n
\n
\n \n
\n
\n )\n}\n\nexport const query = graphql`\n query myEventsQuery($lang: String) {\n prismicEvents(lang: { eq: $lang }) {\n _previewable\n data {\n seo_title\n seo_description\n seo_keywords\n title {\n text\n }\n description {\n richText\n }\n }\n alternate_languages {\n uid\n type\n lang\n }\n lang\n url\n type\n }\n\n allPrismicEvent(\n sort: {fields: data___finish_time, order: DESC}\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 data {\n title {\n text\n }\n start_time\n finish_time\n body {\n ... on PrismicEventDataBodyEventInfo {\n id\n slice_label\n slice_type\n items {\n ... on PrismicEventDataBodyEventInfoItem {\n image {\n url\n }\n }\n }\n primary {\n ... on PrismicEventDataBodyEventInfoPrimary {\n description {\n text\n }\n }\n }\n }\n }\n }\n }\n }\n}\n`\n\nexport default withPrismicPreview(EventsTemplate)\n"],"names":["EventSummary","event","data","id","url","uid","detail","body","find","item","slice_type","items","firstImgItem","primary","image","moment","startDate","start_time","format","finishDate","finish_time","now","utc","finishUtc","tz","isOver","isAfter","useLocation","pathname","className","href","src","height","width","title","text","Events","docs","events","map","key","withPrismicPreview","useState","setEvents","useEffect","allPrismicEvent","filtered","nodes","filter","homepage","prismicEvents","seo","seo_title","description","seo_description","keywords","seo_keywords","activeDoc","lang","type","alternateLanguages","alternate_languages","Layout","activeDocMeta","style"],"sourceRoot":""}