{"version":3,"sources":["webpack:///./src/components/Seo.js","webpack:///./src/components/Newspage/Card.js","webpack:///./src/components/blocks/SimpleHero.js","webpack:///./src/components/Newspage/Link.js","webpack:///./src/components/Newspage/List.js","webpack:///./src/components/Newspage/Pagination/Link.js","webpack:///./src/components/Newspage/Pagination/index.js","webpack:///./src/layout/NewsLayout.js","webpack:///./src/components/Newspage/Category.js","webpack:///./constants/locales.js","webpack:///./src/components/Newspage/Img.js","webpack:///./src/components/Newspage/Posts.js","webpack:///./src/components/Newspage/index.js","webpack:///./src/templates/NewspageTemplate.js"],"names":["Card","children","sx","backgroundColor","borderRadius","height","padding","SimpleHero","title","as","d","alignItems","flexDirection","pt","px","variant","h1","mb","textAlign","wordBreak","alt","src","typeName","linkstyle","color","fontFamily","fontSize","fontWeight","Link","href","slug","to","rel","target","defaultProps","undefined","LOCALE_MAP","List","list","locale","totalCount","useLocaleContext","Array","isArray","length","h3","ul","map","link","li","key","id","mt","name","count","activeClassName","display","justifyContent","position","width","visibility","bottom","content","left","transform","transition","Pagination","pagination","firstpage","lastpage","pages","pagesNum","page","displayFirstpageLink","includes","displayLastpageLink","columns","gap","gridColumn","NewsLayout","variants","space","posts","useThemeUI","theme","data","useStaticQuery","categoryAllMap","fi","useMemo","n","newspages","nodes","find","np","node_locale","c","categories","filter","cat","push","numberOfItems","newspage","Variant","alignSelf","gridTemplateColumns","rowGap","categoryTitle","links","linksTitle","Category","category","module","exports","SE","SV_SE","FI","Img","image","maxHeight","overflow","Image","Posts","post","featuredImage","dangerouslySetInnerHTML","__html","postTitle","excerpt","Newspage","NewspageTemplate","pageContext"],"mappings":"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","file":"component---src-templates-newspage-template-js-a4ca1ae4b1a598183907.js","sourcesContent":["/** @jsx jsx */\nimport { useLocation } from \"@reach/router\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { jsx } from \"theme-ui\"\n\nimport useLocaleContext from \"@hooks/useLocaleContext\"\n\nexport const fragment = graphql`\n fragment Seo on SeoTag {\n content\n name\n property\n tag\n }\n`\n\nconst query = graphql`\n query DefaultSeoQuery {\n allSettings: allContentfulSiteSettings {\n nodes {\n createdAt\n node_locale\n siteDescription {\n siteDescription\n }\n siteImage {\n file {\n details {\n image {\n height\n width\n }\n }\n url\n }\n }\n siteTitle\n twitterUsername\n updatedAt\n }\n }\n site {\n siteMetadata {\n siteUrl\n }\n }\n }\n`\n\nexport default function Seo({ seo }) {\n const { pathname } = useLocation()\n const locale = useLocaleContext()\n const { allSettings, site } = useStaticQuery(query)\n\n if (!Array.isArray(seo) || !seo.length) {\n const settings = allSettings.nodes.find(node => node.node_locale === locale)\n seo = [\n {\n content: settings?.siteTitle,\n tag: \"title\",\n },\n {\n content: settings?.siteTitle,\n property: \"og:title\",\n tag: \"meta\",\n },\n {\n content: settings?.siteTitle,\n name: \"twitter:title\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n name: \"description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n property: \"og:description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteDescription?.siteDescription,\n name: \"twitter:description\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.url,\n property: \"og:image\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.details?.image?.width,\n property: \"og:image:width\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.details?.image?.height,\n property: \"og:image:height\",\n tag: \"meta\",\n },\n {\n content: settings?.siteImage?.file?.url,\n name: \"twitter:image\",\n tag: \"meta\",\n },\n {\n content: settings.node_locale,\n property: \"og:locale\",\n tag: \"meta\",\n },\n {\n content: \"Web\",\n property: \"og:type\",\n tag: \"meta\",\n },\n {\n content: settings.siteTitle,\n property: \"og:site_name\",\n tag: \"meta\",\n },\n {\n content: settings.createdAt,\n property: \"article:published_time\",\n tag: \"meta\",\n },\n {\n content: settings.updatedAt,\n property: \"article:modified_time\",\n tag: \"meta\",\n },\n {\n content: \"Brocc\",\n property: \"article:author\",\n tag: \"meta\",\n },\n {\n content: \"summary_large_image\",\n name: \"twitter:card\",\n tag: \"meta\",\n },\n {\n content: settings?.twitterUsername,\n name: \"twitter:creator\",\n tag: \"meta\",\n },\n ]\n }\n\n return (\n \n \n {Array.isArray(seo)\n ? seo.map(({ content, name, property, tag: Tag }) =>\n Tag === \"title\" ? (\n \n {content}\n \n ) : (\n \n )\n )\n : null}\n \n )\n}\n\nSeo.defaultProps = {\n seo: null,\n}\n\nSeo.propTypes = {\n seo: PropTypes.array,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Card({ children }) {\n return (\n \n {children}\n \n )\n}\n\nCard.propTypes = {\n children: PropTypes.node.isRequired,\n}\n","/** @jsx jsx */\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Variant from \"@components/Variant\"\n\nexport const fragment = graphql`\n fragment ContentfulSimpleHeroBlock on ContentfulSimpleHeroBlock {\n id\n title\n }\n`\n\nexport default function SimpleHero({ title }) {\n return (\n \n \n {title}\n \n \"Underline\"\n \n )\n}\n\nSimpleHero.typeName = \"ContentfulSimpleHeroBlock\"\n\nSimpleHero.propTypes = {\n title: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport { Link as GatsbyLink } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nconst linkstyle = {\n color: \"primary\",\n fontFamily: \"body\",\n fontSize: 3,\n fontWeight: \"bold\",\n}\n\nexport default function Link({ children, href, slug }) {\n if (slug) {\n return (\n \n {children}\n \n )\n }\n\n if (href) {\n return (\n \n {children}\n \n )\n }\n\n return null\n}\n\nLink.defaultProps = {\n children: null,\n href: undefined,\n slug: undefined,\n}\n\nLink.propTypes = {\n children: PropTypes.node,\n href: PropTypes.string,\n slug: PropTypes.string,\n}\n","/** @jsx jsx */\nimport useLocaleContext from \"@src/hooks/useLocaleContext\"\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Link from \"./Link\"\n\nexport const fragment = graphql`\n fragment CategoryList on Category {\n count\n id\n name\n node_locale\n slug\n }\n`\n\nconst LOCALE_MAP = {\n \"en-US\": \"/en\",\n \"fi-FI\": \"/sv\",\n}\nexport default function List({ list, title, totalCount }) {\n const locale = useLocaleContext()\n\n if (Array.isArray(list) && list.length) {\n return (\n \n )\n }\n\n return null\n}\n\nList.defaultProps = {\n list: null,\n title: undefined,\n}\n\nList.propTypes = {\n list: PropTypes.array,\n title: PropTypes.string,\n}\n","/** @jsx jsx */\nimport { Link as GatsbyLink } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Link({ children, slug }) {\n return (\n \n {children}\n \n )\n}\n\nLink.propTypes = {\n children: PropTypes.node.isRequired,\n slug: PropTypes.string.isRequired,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport Link from \"./Link\"\n\nexport default function Pagination({ pagination }) {\n if (pagination) {\n const { firstpage, lastpage, pages } = pagination\n\n const pagesNum = pages.map(page => page.page)\n const displayFirstpageLink = !pagesNum.includes(firstpage.page)\n const displayLastpageLink = !pagesNum.includes(lastpage.page)\n\n return (\n \n {displayFirstpageLink ? (\n \n {firstpage.page}\n ...\n \n ) : null}\n {pages.map(({ page, slug }) => (\n \n {page}\n \n ))}\n {displayLastpageLink ? (\n \n ...\n {lastpage.page}\n \n ) : null}\n \n )\n }\n\n return null\n}\n\nPagination.defaultProps = {\n pagination: null,\n}\n\nPagination.propTypes = {\n pagination: PropTypes.object,\n}\n","/** @jsx jsx */\nimport locales from \"@constants/locales\"\nimport { graphql, useStaticQuery } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { useMemo } from \"react\"\nimport { jsx, useThemeUI } from \"theme-ui\"\nimport List from \"@components/Newspage/List\"\nimport Pagination from \"@components/Newspage/Pagination\"\nimport Variant from \"@components/Variant\"\nimport useLocaleContext from \"@hooks/useLocaleContext\"\n\nexport const fragment = graphql`\n fragment NewsLayout on ContentfulNewspage {\n categoryTitle\n links {\n href\n id\n slug\n title\n }\n linksTitle\n node_locale\n slug\n }\n`\n\nexport default function NewsLayout({ children, variants, pagination, posts }) {\n const {\n theme: { space },\n } = useThemeUI()\n const data = useStaticQuery(\n graphql`\n {\n categories: allCategory(sort: { fields: name, order: ASC }) {\n nodes {\n ...CategoryList\n }\n }\n newspages: allContentfulNewspage {\n nodes {\n ...NewsLayout\n }\n }\n posts: allContentfulBlogPost {\n totalCount\n }\n }\n `\n )\n const locale = useLocaleContext()\n\n const categoryAllMap = {\n fi: \"Kaikki\",\n \"fi-FI\": \"Alla\",\n \"sv-SE\": \"Alla\",\n \"sv-EN\": \"All\",\n }\n\n const [categories, newspage] = useMemo(() => {\n const n = data.newspages.nodes.find(np => np.node_locale === locale)\n\n const c = data.categories.nodes.filter(cat => cat.node_locale === locale)\n\n c.push({\n count: pagination?.numberOfItems,\n id: \"PWopdja394\",\n name: categoryAllMap[locale],\n slug: n.slug,\n })\n\n return [c, n]\n }, [\n data.categories.nodes,\n data.newspages.nodes,\n data.posts.totalCount,\n locale,\n ])\n\n return (\n \n {children}\n \n \n \n \n \n \n )\n}\n\nNewsLayout.defaultProps = {\n pagination: null,\n variants: [\"container\"],\n}\n\nNewsLayout.propTypes = {\n children: PropTypes.node.isRequired,\n pagination: PropTypes.object,\n variants: PropTypes.array,\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nexport default function Category({ categories }) {\n if (Array.isArray(categories) && categories.length) {\n const category = categories[0]\n return (\n \n {category}\n \n )\n }\n\n return null\n}\n\nCategory.defaultProps = {\n categories: null,\n}\n\nCategory.propTypes = {\n categories: PropTypes.array,\n}\n","module.exports = {\n SE: {\n SV_SE: \"sv-SE\",\n //EN_US: \"en-US\",\n },\n FI: {\n FI: \"fi\",\n //FI_FI: \"fi-FI\",\n },\n slug: {\n SE: {\n \"sv-SE\": \"\",\n //\"en-US\": \"en\",\n },\n FI: {\n fi: \"\",\n //\"fi-FI\": \"sv\",\n },\n },\n}\n","/** @jsx jsx */\nimport PropTypes from \"prop-types\"\nimport { jsx } from \"theme-ui\"\n\nimport Image from \"@components/Image\"\n\nexport default function Img({ image }) {\n if (image) {\n return (\n \n \n \n )\n }\n\n return null\n}\n\nImg.defaultProps = {\n image: null,\n}\n\nImg.propTypes = {\n image: PropTypes.object,\n}\n","/** @jsx jsx */\nimport { graphql, Link } from \"gatsby\"\nimport { jsx, Styled } from \"theme-ui\"\n\nimport Card from \"./Card\"\nimport Category from \"./Category\"\nimport Img from \"./Img\"\n\nexport const fragment = graphql`\n fragment Posts on ContentfulBlogPost {\n categories\n excerpt\n featuredImage {\n fluid(maxWidth: 450, quality: 80) {\n ...GatsbyContentfulFluid\n }\n ...ImageFields\n }\n id\n postTitle\n slug\n }\n`\n\nexport default function Posts({ posts }) {\n if (Array.isArray(posts) && posts.length) {\n return posts.map(post => (\n \n \n \n \n \n

\n {post.excerpt}\n

\n
\n \n ))\n }\n\n return null\n}\n","/** @jsx jsx */\nimport SimpleHero from \"@components/blocks/SimpleHero\"\nimport { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport { Fragment } from \"react\"\nimport { Grid, jsx } from \"theme-ui\"\n\nimport NewsLayout from \"@layout/NewsLayout\"\n\nimport Posts from \"./Posts\"\n\n// export const fragment = graphql`\n// fragment Newspage on ContentfulNewspage {\n// seotags {\n// ...Seo\n// }\n// title\n// }\n// `\n\nexport const fragment = graphql`\n fragment Newspage on ContentfulNewspage {\n title\n }\n`\n\nexport default function Newspage({ pagination, posts, title }) {\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nNewspage.defaultProps = {\n pagination: null,\n}\n\nNewspage.propTypes = {\n pagination: PropTypes.object,\n posts: PropTypes.array.isRequired,\n title: PropTypes.string.isRequired,\n}\n","import { graphql } from \"gatsby\"\nimport PropTypes from \"prop-types\"\nimport React, { Fragment } from \"react\"\n\nimport Newspage from \"@components/Newspage\"\nimport Seo from \"@components/Seo\"\n\nexport default function NewspageTemplate({\n data: { newspage, posts },\n pageContext: { pagination },\n}) {\n return (\n \n {/* */}\n \n \n )\n}\n\nexport const query = graphql`\n query getNewspage(\n $contentful_id: String!\n $ids: [String]!\n $locale: String!\n ) {\n newspage: contentfulNewspage(\n contentful_id: { eq: $contentful_id }\n node_locale: { eq: $locale }\n ) {\n ...Newspage\n }\n posts: allContentfulBlogPost(\n filter: { node_locale: { eq: $locale }, id: { in: $ids } }\n ) {\n nodes {\n ...Posts\n }\n }\n }\n`\n\nNewspageTemplate.propTypes = {\n data: PropTypes.shape().isRequired,\n pageContext: PropTypes.object.isRequired,\n}\n"],"sourceRoot":""}