{"version":3,"file":"component---src-templates-author-js-92ac01787f790ae71388.js","mappings":"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","sources":["webpack://shadepro-gatsby/./src/components/Blog/CategoryWidget.js","webpack://shadepro-gatsby/./src/components/Blog/Pager.js","webpack://shadepro-gatsby/./src/components/Blog/IndexPostContent.js","webpack://shadepro-gatsby/./src/i18n/Helmet.js","webpack://shadepro-gatsby/./src/assets/image/spyserp/ogp-image.jpg","webpack://shadepro-gatsby/./src/components/Seo/MetaTags.js","webpack://shadepro-gatsby/./src/components/Blog/AuthorPosts.js","webpack://shadepro-gatsby/./src/templates/author.js","webpack://shadepro-gatsby/./src/assets/icons/font-awesome/solid/search.svg","webpack://shadepro-gatsby/./src/assets/icons/font-awesome/solid/times.svg"],"sourcesContent":["import React, { useContext, useLayoutEffect, useRef } from 'react';\nimport { navigate } from 'gatsby';\nimport { useTranslation } from 'react-i18next';\nimport GlobalContext from '../../context/GlobalContext';\nimport Link, { getLocalizedPath } from '../../i18n/Link';\nimport './BlogIndex.css';\nimport SearchIcon from '../../assets/icons/font-awesome/solid/search.svg';\nimport TimesIcon from '../../assets/icons/font-awesome/solid/times.svg';\n\nconst CategoryWidget = ({\n categories,\n usedCategories = false,\n disableSearch = false,\n showOnlyUsedCategories = false,\n}) => {\n const gContext = useContext(GlobalContext);\n const { i18n } = useTranslation();\n const { language } = i18n;\n const searchInputRef = useRef(null);\n let categoriesList;\n\n function goToBlogIndex() {\n const link = getLocalizedPath(language, '/blog/');\n return navigate(link);\n }\n\n if (showOnlyUsedCategories) {\n categoriesList = categories.filter((category) =>\n usedCategories.some((usedCategory) => usedCategory.slug === category.slug)\n );\n } else {\n categoriesList = categories;\n }\n\n const clickSearch = () => {\n if (gContext.blogSearchActive) {\n // Make search\n makeSearch(gContext.blogSearchActive);\n } else {\n gContext.setBlogSearchActive(true);\n }\n };\n\n const offSearch = () => {\n gContext.setBlogSearchActive(false);\n gContext.setBlogSearchQuery('');\n goToBlogIndex();\n };\n\n const handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n makeSearch(e.target.value);\n } else {\n gContext.setBlogSearchQuery(e.target.value);\n goToBlogIndex();\n }\n };\n\n const makeSearch = (value) => {\n gContext.setBlogSearchQuery(value);\n };\n\n useLayoutEffect(() => {\n if (gContext.blogSearchActive && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [gContext.blogSearchActive]);\n\n return (\n
\n {(!gContext.blogSearchActive || disableSearch) && (\n
\n
\n {categoriesList.map(({ id, title, slug }) => {\n let className =\n 'badge p-4 mr-5 mb-5 text-primary gr-text-15 gr-bg-blue-opacity-1 rounded-pill text-uppercase';\n if (usedCategories) {\n usedCategories.forEach(({ slug: usedSlug }) => {\n if (usedSlug === slug) {\n className += ' bg-primary text-white';\n }\n });\n }\n\n return (\n \n {title}\n \n );\n })}\n
\n\n {!disableSearch && (\n \n \n \n \n \n )}\n
\n )}\n\n {gContext.blogSearchActive && !disableSearch && (\n
\n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n
\n
\n )}\n
\n );\n};\n\nexport default CategoryWidget;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Link from '../../i18n/Link';\n\nconst Pager = (props) => {\n const { currentPage, numPages, type } = props;\n const { t } = useTranslation('Blog');\n\n const isFirst = currentPage === 1;\n const isLast = currentPage === numPages;\n const prevPage =\n currentPage - 1 === 1 ? '' : '/p' + (currentPage - 1).toString() + '/';\n const nextPage = '/p' + (currentPage + 1).toString() + '/';\n\n if (numPages <= 1) {\n return null;\n }\n\n const linksNum = 9;\n const linkCenter = Math.ceil(linksNum / 2);\n let startFrom = 1;\n if (currentPage > linkCenter) {\n startFrom = currentPage - linkCenter + 1;\n }\n\n const pagesArray = [];\n let pagesDisplayedCount = linksNum + startFrom;\n if (pagesDisplayedCount > numPages) {\n pagesDisplayedCount = numPages;\n }\n\n for (let i = startFrom; i <= pagesDisplayedCount; i++) {\n pagesArray.push(i);\n }\n\n return (\n \n );\n};\n\nexport default Pager;\n","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\nimport Pager from './Pager';\nimport PostItem from './PostItem';\nimport useDateFormat from '../../hooks/useDateFormat';\nimport useSiteMetadata from '../../hooks/useSiteMetadata';\nimport { usePageContext } from '../../i18n/PageContext';\nimport { getLocalizedPath } from '../../i18n/Link';\n\nconst IndexPostContent = ({ nodes, currentPage, numPages, type }) => {\n const format = useDateFormat();\n const { url } = useSiteMetadata();\n const { i18n } = usePageContext();\n const { language } = i18n;\n\n const logoUrl = `${url}/blog-posting-logo.png`;\n\n return (\n
\n \n {nodes.map((item) => {\n const pageUrl = getLocalizedPath(language, `/blog/${item.slug}/`);\n const authorPath = getLocalizedPath(\n language,\n `/author/${item.author.remoteId}/`\n );\n const postDate = format(new Date(item.postDate), 'yyyy-dd-MM');\n const dateUpdated = format(new Date(item.dateUpdated), 'yyyy-dd-MM');\n const image =\n item.featuredImageRetina?.[0] || item.featuredImage?.[0];\n const imageOriginalUrl =\n image?.localFile?.childImageSharp?.gatsbyImageData?.images?.fallback\n ?.src;\n\n return (\n \n \n {type === 'blog' && (\n \n \n \n \n \n {imageOriginalUrl && (\n \n )}\n\n \n\n \n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n )}\n \n );\n })}\n \n\n \n
\n
\n \n
\n
\n
\n \n );\n};\n\nexport default IndexPostContent;\n","import React from 'react';\nimport { Helmet as ReactHelmet } from 'react-helmet-async';\nimport { usePageContext } from './PageContext';\nimport { getLocalizedPath } from './Link';\nimport useSiteMetadata from '../hooks/useSiteMetadata';\nimport { defaultLanguage } from '../../constants';\nimport { getHrefLang } from '../../utils';\n\nfunction Helmet(props) {\n const { children, ...restProps } = props;\n const { i18n, getLocalizedPageUrl, currentPage, category, authorId } =\n usePageContext();\n const { language, localized } = i18n;\n const { url } = useSiteMetadata();\n const htmlLang = getHrefLang(language);\n\n let canonicalPath;\n if (\n ['/terms-of-service/', '/privacy-policy/'].includes(i18n.originalPath) &&\n language !== defaultLanguage\n ) {\n canonicalPath = i18n.originalPath;\n } else if (currentPage && i18n.originalPath.startsWith('/blog/p')) {\n canonicalPath = getLocalizedPath(language, '/blog/');\n } else if (currentPage && category) {\n canonicalPath = getLocalizedPath(language, `/${category}/`);\n } else if (currentPage && authorId) {\n canonicalPath = getLocalizedPath(language, `/author/${authorId}/`);\n } else {\n canonicalPath = getLocalizedPath(language, i18n.originalPath);\n }\n const canonicalUrl = `${url}${canonicalPath}`;\n\n return (\n \n \n \n\n {localized.length > 0 &&\n localized.map((item) => (\n \n ))}\n\n {localized.length > 0 && (\n \n )}\n\n {localized.length > 0 && (\n \n )}\n\n {children}\n \n );\n}\n\nexport default Helmet;\n","export default __webpack_public_path__ + \"static/ogp-image-a66d3c5fc41ce617f7d54c791d8064b5.jpg\";","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Helmet from '../../i18n/Helmet';\nimport { usePageContext } from '../../i18n/PageContext';\nimport ogpImage from '../../assets/image/spyserp/ogp-image.jpg';\n\nfunction MetaTags(props) {\n const { title, description, keywords, image, pageTitle, article } = props;\n const { getPageUrl } = usePageContext();\n const url = getPageUrl();\n\n return (\n \n {title}\n {description && (\n \n )}\n\n {keywords && (\n \n )}\n\n \n\n {article && }\n {!article && }\n\n {pageTitle && }\n {!pageTitle && }\n\n {description && }\n\n {image && }\n {image && }\n\n {!image && }\n {!image && }\n \n );\n}\n\nexport default MetaTags;\n\nMetaTags.propTypes = {\n title: PropTypes.string.isRequired,\n pageTitle: PropTypes.string,\n description: PropTypes.string,\n keywords: PropTypes.string,\n image: PropTypes.string,\n article: PropTypes.bool,\n};\n\nMetaTags.defaultProps = {\n title: null,\n pageTitle: null,\n description: null,\n keywords: null,\n image: null,\n article: false,\n};\n","import React from 'react';\nimport { Container, Row } from 'react-bootstrap';\nimport CategoryWidget from './CategoryWidget';\n\nimport './BlogIndex.css';\nimport IndexPostContent from './IndexPostContent';\nimport { useTranslation } from 'react-i18next';\nimport MetaTags from '../Seo/MetaTags';\nimport { StaticImage, GatsbyImage, getImage } from 'gatsby-plugin-image';\n\nconst AuthorPosts = ({\n propsData: {\n data: { allCraftBlogBlogEntry, craftUser },\n pageContext,\n },\n}) => {\n const { currentPage, numPages, categories } = pageContext;\n const { nodes } = allCraftBlogBlogEntry;\n const { t } = useTranslation('Blog');\n\n const title = t('author.seo.title', { name: craftUser.name });\n const description = t('author.seo.description', { name: craftUser.name });\n\n const pageTitle = t('author.title', { name: craftUser.name });\n const gatsbyImage = craftUser.photo && getImage(craftUser.photo.localFile);\n\n return (\n <>\n \n\n
\n \n \n
\n
\n {gatsbyImage && (\n \n )}\n\n {!craftUser.photo && (\n \n )}\n\n

{pageTitle}

\n
\n
\n
\n\n \n\n \n
\n
\n \n );\n};\n\nexport default AuthorPosts;\n","import React from 'react';\nimport AuthorPosts from '../components/Blog/AuthorPosts';\nimport { graphql } from 'gatsby';\n\nconst BlogAuthorPage = (props) => {\n return ;\n};\n\nexport default BlogAuthorPage;\n\nexport const authorPostsQuery = graphql`\n query authorPostsQuery(\n $skip: Int!\n $limit: Int!\n $authorId: Int!\n $siteId: Int!\n $userId: ID!\n ) {\n craftUser(remoteId: { eq: $userId }) {\n remoteId\n name\n photo {\n title\n ... on Craft_imagesEn_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(width: 72)\n }\n }\n }\n ... on Craft_imagesRu_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(width: 72)\n }\n }\n }\n }\n }\n\n allCraftBlogBlogEntry(\n limit: $limit\n skip: $skip\n sort: { fields: postDate, order: DESC }\n filter: { authorId: { eq: $authorId }, siteId: { eq: $siteId } }\n ) {\n nodes {\n id\n title\n slug\n author {\n name\n remoteId\n }\n postDate\n dateUpdated\n metaDescription\n featuredImage {\n id\n title\n url\n ... on Craft_imagesEn_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(\n width: 350\n aspectRatio: 3.68\n transformOptions: { cropFocus: CENTER }\n )\n }\n }\n }\n ... on Craft_imagesRu_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(\n width: 350\n aspectRatio: 3.68\n transformOptions: { cropFocus: CENTER }\n )\n }\n }\n }\n }\n featuredImageRetina {\n id\n title\n url\n ... on Craft_imagesEn_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(\n width: 350\n aspectRatio: 3.68\n transformOptions: { cropFocus: CENTER }\n )\n }\n }\n }\n ... on Craft_imagesRu_Asset {\n localFile {\n childImageSharp {\n gatsbyImageData(\n width: 350\n aspectRatio: 3.68\n transformOptions: { cropFocus: CENTER }\n )\n }\n }\n }\n }\n category {\n title\n id\n slug\n }\n }\n }\n }\n`;\n","var React = require('react');\n\nfunction Search (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M31.563 27.669a1.508 1.508 0 0 1-.006 2.125l-1.769 1.769a1.493 1.493 0 0 1-2.119 0l-6.231-6.231A1.5 1.5 0 0 1 21 24.269V23.25A12.935 12.935 0 0 1 13 26C5.819 26 0 20.181 0 13S5.819 0 13 0s13 5.819 13 13c0 3.019-1.025 5.794-2.75 8h1.019c.4 0 .781.156 1.063.438zM13 21c4.425 0 8-3.581 8-8 0-4.425-3.581-8-8-8-4.425 0-8 3.581-8 8 0 4.425 3.581 8 8 8z\"}));\n}\n\nSearch.defaultProps = {\"viewBox\":\"0 0 32 32\"};\n\nmodule.exports = Search;\n\nSearch.default = Search;\n","var React = require('react');\n\nfunction Times (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"m15.17 16 6.254 6.254a1.965 1.965 0 0 1 0 2.78l-1.39 1.39a1.965 1.965 0 0 1-2.78 0L11 20.17l-6.254 6.254a1.965 1.965 0 0 1-2.78 0l-1.39-1.39a1.965 1.965 0 0 1 0-2.78L6.83 16 .576 9.746a1.965 1.965 0 0 1 0-2.78l1.39-1.39a1.965 1.965 0 0 1 2.78 0L11 11.83l6.254-6.254a1.965 1.965 0 0 1 2.78 0l1.39 1.39a1.965 1.965 0 0 1 0 2.78z\"}));\n}\n\nTimes.defaultProps = {\"viewBox\":\"0 0 22 32\"};\n\nmodule.exports = Times;\n\nTimes.default = Times;\n"],"names":["categoriesList","categories","usedCategories","disableSearch","showOnlyUsedCategories","gContext","useContext","GlobalContext","language","useTranslation","i18n","searchInputRef","useRef","goToBlogIndex","link","getLocalizedPath","navigate","filter","category","some","usedCategory","slug","handleKeyDown","e","key","preventDefault","makeSearch","target","value","setBlogSearchQuery","useLayoutEffect","blogSearchActive","current","focus","className","map","id","title","forEach","to","onClick","setBlogSearchActive","width","action","ref","onKeyDown","onChange","type","placeholder","blogSearchQuery","props","currentPage","numPages","t","isFirst","isLast","prevPage","toString","nextPage","linkCenter","Math","ceil","linksNum","startFrom","pagesArray","pagesDisplayedCount","i","push","Link","rel","Array","from","pageNumber","nodes","format","useDateFormat","url","useSiteMetadata","usePageContext","logoUrl","style","minHeight","Row","item","pageUrl","authorPath","author","remoteId","postDate","Date","dateUpdated","image","featuredImageRetina","featuredImage","imageOriginalUrl","localFile","childImageSharp","gatsbyImageData","images","fallback","src","Col","md","lg","PostItem","itemProp","itemScope","itemType","content","metaDescription","itemID","name","href","children","restProps","getLocalizedPageUrl","authorId","localized","htmlLang","getHrefLang","canonicalUrl","includes","originalPath","defaultLanguage","startsWith","lang","length","hrefLang","MetaTags","description","keywords","pageTitle","article","getPageUrl","itemprop","property","ogpImage","defaultProps","propsData","data","allCraftBlogBlogEntry","craftUser","pageContext","gatsbyImage","photo","getImage","Container","G","imgClassName","alt","S","CategoryWidget","IndexPostContent","React","Search","createElement","module","exports","default","Times"],"sourceRoot":""}