{ version: 3, file: "component---gatsby-theme-husky-src-templates-academy-academy-tsx-a872af7632e24900a6c0.js", mappings: "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", sources: [ "webpack://husky-site/../gatsby-theme-husky/src/components/TagEventTracker/TagEventTracker.tsx", "webpack://husky-site/../gatsby-theme-husky/src/templates/Academy/Academy.tsx", "webpack://husky-site/../gatsby-theme-husky/src/utils/functions.ts" ], sourcesContent: [ "import React, { FC, useEffect } from 'react'; import { EventDataProps, TagEventTrackerProps } from './models'; const TagEventTracker: FC = ({ children, eventType, data: { value, userId, itemListId, itemListName, currency, ecommerce, pageTemplate }, }) => { useEffect(() => { if (typeof window !== undefined) { switch (eventType) { case 'view_item': window.dataLayer.push({ event: eventType, userId, currency, value, ecommerce, }); break; case 'view_item_list': window.dataLayer.push({ event: eventType, userId, itemListId, itemListName, ecommerce, }); break; case 'page_view': window.dataLayer.push({ pageTemplate, userId, }); break; default: console.error('No dataLayer event found'); break; } } }, [ecommerce, value, eventType, currency, itemListId, itemListName, pageTemplate, userId]); return <>{children}; }; const handleDataLayerClick = ( { retailerName, userId, ecommerce }: EventDataProps, eventType: string, url?: string ) => { window.dataLayer.push({ event: eventType, retailerName, userId, ecommerce, }); if (eventType === 'retailer_link_click') { window.open(url, '_blank'); } }; export { handleDataLayerClick, TagEventTracker }; ", "import React, { FC } from 'react'; import { graphql, Link } from 'gatsby'; import { useLocation } from '@reach/router'; import DangerouslySetInnerHtml from 'layout/DangerouslySetInnerHtml'; import Layout from 'layout/Layout'; import Image from 'common/Image'; import PageSchema from 'common/PageSchema'; import Seo from 'common/Seo'; import { TagEventTracker } from 'components/TagEventTracker'; import { filterByTagId, nl2br } from '../../utils/functions'; import { AcademyProps } from './models'; import './Academy.scss'; const Academy: FC<{ data: AcademyProps }> = ({ data: { academy: { urls, seo, title, description, imageDesktop, imageMobile, headband }, global, allArticleList: { nodes: articleLists }, allArticle: { nodes: articles }, }, }) => { const { title: seoTitle, keywords: seoKeywords, description: seoDescription } = seo; const location = useLocation(); return (
{imageDesktop.altText} {imageMobile.altText}

{title}

{articleLists.map( ({ id, title: name, description: adescription, imageItemDesktop, imageItemMobile, url, tags, }) => (
{imageItemDesktop.altText} {imageItemMobile.altText}

{name}

{filterByTagId(articles, tags.id, 2).map((article) => (
{article.altText}

{article.title}

{`${global.read} +`}
))}
{global.allArticles}
) )}
); }; export const query = graphql` query ($url: String) { academy(url: { eq: $url }) { urls { lang href } headband { cta { url name } imageDesktop { name childImageSharp { gatsbyImageData } } imageMobile { name childImageSharp { gatsbyImageData } } } seo { ...SEOStructureFragment } title description imageDesktop { altText desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } } imageMobile { altText desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } } } global { allArticles read } allArticle { nodes { id title url tags { id name } thumbnail { altText desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 220) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 220) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 220) } } } } } allArticleList { nodes { id title description url tags { id name } imageItemDesktop { altText desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 1920) } } } imageItemMobile { altText desktop { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } mobile { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } tablet { childImageSharp { gatsbyImageData(placeholder: BLURRED, width: 700) } } } } } } `; export default Academy; ", "export const isEmpty = (obj): boolean => { if (obj === undefined || obj === null) { return true; } if (Array.isArray(obj)) { return !obj.length; } if (typeof obj === 'object') { return !Object.keys(obj).length; } return !obj; }; export const getYoutubeId = (value) => { const SRC_REGEX = /src="(.*?)"/im; const url = SRC_REGEX.test(value) ? value.match(SRC_REGEX)[1] : value; const { searchParams, pathname } = new URL(url); return searchParams.get('v') || pathname.replace('/embed', '').replace('/', ''); }; export const nl2br = (str: string = '', isXhtml: boolean = false): string => { if (typeof str === 'undefined' || str === null) { return ''; } const breakTag = isXhtml || typeof isXhtml === 'undefined' ? '
' : '
'; return `${str}`.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, `$1${breakTag}$2`); }; export const filterByTagId = (items, tid: string, limit: number = 0) => { let filtered; if (tid === '') { filtered = items; } else { filtered = items.filter((item) => item.tags.id === tid); } return limit === 0 ? filtered : filtered.slice(0, limit); }; export default isEmpty; " ], names: [ "TagEventTracker", "children", "eventType", "data", "value", "userId", "itemListId", "itemListName", "currency", "ecommerce", "pageTemplate", "useEffect", "undefined", "window", "dataLayer", "push", "event", "console", "error", "handleDataLayerClick", "url", "retailerName", "open", "academy", "urls", "seo", "title", "description", "imageDesktop", "imageMobile", "headband", "global", "articleLists", "allArticleList", "nodes", "articles", "allArticle", "seoTitle", "seoKeywords", "keywords", "seoDescription", "location", "useLocation", "headerTransparent", "type", "name", "metaTitle", "metaDescription", "metaKeywords", "pathname", "className", "imageData", "alt", "altText", "html", "nl2br", "element", "map", "id", "adescription", "imageItemDesktop", "imageItemMobile", "tags", "key", "filterByTagId", "article", "Link", "to", "thumbnail", "read", "allArticles", "getYoutubeId", "SRC_REGEX", "test", "match", "URL", "searchParams", "get", "replace", "str", "isXhtml", "items", "tid", "limit", "filtered", "filter", "item", "slice" ], sourceRoot: "" }