{"version":3,"file":"component---src-templates-blog-post-template-tsx-fe37d6810c3d795e23f8.js","mappings":"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","sources":["webpack://brko/./src/components/buttonLink.tsx","webpack://brko/./src/components/htmlcontent.tsx","webpack://brko/./src/templates/blogPostTemplate.tsx","webpack://brko/./src/templates/renderPageBlock.tsx"],"sourcesContent":["import React, { FC, ReactNode } from \"react\";\nimport { Link } from \"gatsby\";\nimport classNames from \"classnames\";\n\ntype Props = {\n url: string,\n children: ReactNode,\n className?: string,\n target?: '_blank',\n}\n\nexport const ButtonLink: FC = ({ url, children, className, target }) => {\n const global = isGlobalUrl(url);\n const cls = classNames('btn', className);\n\n if (global) {\n return (\n {children}\n );\n }\n\n return (\n {children}\n );\n}\n\nfunction isGlobalUrl(url: string): boolean {\n if (!url) {\n return false;\n }\n\n if (url.startsWith('http:')) {\n return true;\n }\n\n if (url.startsWith('https:')) {\n return true;\n }\n\n return false;\n}\n","import React from 'react';\n\ntype Props = {\n htmlContent: string,\n className?: string\n}\n\nfunction createMarkup(content: string) {\n\n return {__html: content};\n}\n\nconst HtmlContent: React.FC = (props) => {\n\n return (\n
\n
\n );\n}\n\nexport default HtmlContent;","import React, { useCallback, useMemo, useState } from 'react';\nimport Layout from '../components/layout';\nimport SEO from \"../components/seo\";\nimport { BlogModel } from '../servermodels/blogModel';\nimport { GalleryStateObj, renderPageBlock } from './renderPageBlock';\nimport { Gallery, GalleryPhoto } from '../components/gallery';\nimport { PageBlockImages, PageBlockModel } from '../servermodels/pageBlockModels';\nimport { Link } from 'gatsby';\nimport { ButtonLink } from '../components/buttonLink';\n\n\ntype Props = {\n pageContext: {\n blog: BlogModel\n }\n};\n\nconst BlogPostTemplate: React.FC = ({ pageContext: { blog } }) => {\n const [showGallery, setShowGallery] = useState(false);\n const [galleryIndex, setGalleryIndex] = useState(0);\n\n const handleHide = useCallback(() => { setShowGallery(false) }, [false]);\n const handleShow = useCallback((imgIndex: number) => {\n setShowGallery(true);\n setGalleryIndex(imgIndex);\n }, [true]);\n\n const galleryData = useMemo(() => createGalleryData(blog.PageBlock), [blog.PageBlock]);\n\n const stateObj: GalleryStateObj = {\n imageIndex: 0,\n }\n\n return (\n \n \n \n
\n

\n {blog.Title}\n

\n {blog.PageBlock ?\n blog.PageBlock.map((block, i) => (\n \n {renderPageBlock(block, 'blog-detail', stateObj, handleShow)}\n \n ))\n : null}\n Další blogové posty →\n
\n
\n )\n}\n\nfunction createGalleryData(pageBlocks: PageBlockModel[]): GalleryPhoto[] {\n if (!pageBlocks) {\n return []\n }\n\n const result: GalleryPhoto[] = [];\n\n pageBlocks.filter(p => p.strapi_component === 'page-blocks.images')\n .forEach(p => {\n const b = p as PageBlockImages;\n b.Images?.forEach(i => {\n result.push({\n original: i.localFile.publicURL,\n thumbnail: i.localFile.publicURL,\n originalTitle: i.caption,\n description: i.caption,\n });\n });\n });\n\n return result;\n}\n\nexport default BlogPostTemplate;","import React from 'react';\nimport { PageBlockImages, PageBlockModel, PageBlockOfferButton, PageBlockRichText, PageBlockTwoColumnsRichText } from \"../servermodels/pageBlockModels\";\nimport HtmlContent from '../components/htmlcontent';\nimport { getEventSystem } from '../events';\nimport classNames from 'classnames';\n\nexport type GalleryStateObj = {\n imageIndex: number;\n}\n\nexport function renderPageBlock(\n block: PageBlockModel,\n blockExtraClassName: string | undefined,\n stateObj: GalleryStateObj,\n showGallery: (imgIndex: number) => void\n): React.ReactNode {\n switch (block.strapi_component) {\n case 'page-blocks.rich-text': {\n const b = block as PageBlockRichText;\n return
\n \n
\n
;\n }\n case 'page-blocks.two-columns-rich-text': {\n const b = block as PageBlockTwoColumnsRichText;\n return
\n
\n \n
\n
\n \n
\n
;\n }\n case 'page-blocks.offer-button': {\n const b = block as PageBlockOfferButton;\n\n return (\n
\n \n
\n )\n }\n case 'page-blocks.images': {\n const b = block as PageBlockImages;\n\n return (\n
\n {b.Images?.map(img => {\n const imgIndex = stateObj.imageIndex;\n stateObj.imageIndex++;\n return (\n {img.alternativeText}\n img.width ? 'portrait' : 'landscape'}`}\n onClick={() => showGallery(imgIndex)} />\n )\n })}\n
\n )\n }\n default:\n throw new Error('Unknown strapi component. Component: ' + block.strapi_component);\n }\n}\n"],"names":["ButtonLink","url","children","className","target","global","startsWith","isGlobalUrl","cls","classNames","React","href","Link","to","props","dangerouslySetInnerHTML","content","htmlContent","__html","blog","pageContext","useState","showGallery","setShowGallery","galleryIndex","setGalleryIndex","handleHide","useCallback","handleShow","imgIndex","galleryData","useMemo","pageBlocks","result","filter","p","strapi_component","forEach","Images","_b$Images","i","push","original","localFile","publicURL","thumbnail","originalTitle","caption","description","createGalleryData","PageBlock","stateObj","imageIndex","Layout","currentPageTitle","Title","breadcrumbs","title","contentIsPage","SEO","MetaDescription","keywords","MetaKeywords","Gallery","show","photos","onClose","startIndex","map","block","key","renderPageBlock","blockExtraClassName","b","HtmlContent","Content","_b$Content","data","_b$Content$data","ContentLeft","_b$ContentLeft","_b$ContentLeft$data","ContentRight","_b$ContentRight","_b$ContentRight$data","onClick","getEventSystem","emit","OfferButton","_b3$Images","img","src","alt","alternativeText","height","width","Error"],"sourceRoot":""}