{"version":3,"file":"component---src-templates-post-js-3d6ebf0bc3fd32b44e17.js","mappings":"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","sources":["webpack://parrot-analytics-gatsby/./src/pages/insights/premium.js","webpack://parrot-analytics-gatsby/./src/images/icons/locked.png","webpack://parrot-analytics-gatsby/./src/templates/post.js","webpack://parrot-analytics-gatsby/./src/utils/demand-academy.js","webpack://parrot-analytics-gatsby/./src/utils/is-browser.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n// eslint-disable-next-line no-unused-vars\nimport { PageFragment } from \"components/fragments\"\nimport tw, { styled } from \"twin.macro\"\nimport striptags from \"striptags\"\n\nimport { brandRules } from \"utils/brand\"\nimport { insightsPath } from \"utils/insights\"\nimport Layout from \"components/layout\"\nimport SEO from \"components/seo\"\nimport Post from \"components/post\"\nimport Locked from \"images/icons/locked.png\"\nimport ButtonLE from \"components/button-le\"\nimport isBrowser from \"utils/is-browser\"\n\nexport const Loading = styled.div`\n ${tw`py-32 font-display font-bold text-white bg-black h-screen flex flex-col items-center justify-center text-center`}\n\n img {\n @media (max-width: 720px) {\n height: 50px;\n width: 50px;\n }\n }\n\n h1 {\n font-size: 24px;\n\n @media (min-width: 720px) {\n font-size: 36px;\n }\n }\n`\n\nexport async function getPremiumPost(token) {\n const url = `${process.env.GATSBY_DEMAND360_SIGNUP_API}/premium_insights?token=${token}`\n try {\n const [response] = await Promise.all([\n fetch(url),\n new Promise((r) => setTimeout(r, 3000)),\n ])\n const body = await response.json()\n if (body.insightsArticle) {\n const post = body.insightsArticle\n return post\n }\n } catch (e) {\n return null\n }\n return null\n}\n\nexport const LoadingScreen = ({ loading }) => {\n const data = useStaticQuery(graphql`\n {\n gcms {\n loading: websiteSetting(\n where: { name: \"Premium Insights loading message\" }\n ) {\n value\n }\n expired: websiteSetting(\n where: { name: \"Premium Insights invalid link\" }\n ) {\n value\n }\n sharedContent: contentBlocks(\n where: { identifier: \"shared-premium-insight-cta\" }\n ) {\n title\n mainContent {\n html\n }\n callToAction\n linkUrl\n }\n }\n }\n `)\n const { value: loadingMessage } = data.gcms.loading\n const { value: expiredMessage } = data.gcms.expired\n const cb = data.gcms.sharedContent[0]\n\n return (\n \n {!!loading && (\n <>\n
\n \n >\n )}\n {!loading && (\n <>\n \n \n \n \n >\n )}\n \n )\n}\n\nexport default () => {\n const [loading, setLoading] = useState(true)\n const [post, setPost] = useState(null)\n\n async function loadPost(token) {\n const post = await getPremiumPost(token)\n post.relativePath = insightsPath(post)\n setPost(post)\n setLoading(false)\n if (isBrowser) {\n window.history.replaceState({}, post.title, post.relativePath)\n }\n }\n\n useEffect(() => {\n if (isBrowser && window.location.hash) {\n const token = window.location.hash.substring(1)\n loadPost(token)\n }\n }, [])\n\n return (\n \n {post === null && }\n {post !== null && (\n <>\n \n \n >\n )}\n \n )\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAC/VBMVEVHcEzJGjzjJ0viJ0vjKEziJ0vjKUzjJ0viKEzjKEzhJ0vhJkrgJkrfJUnfJkreJUneJEjeJEndJEjdI0fcI0fcJEjcI0jbI0fbIkfbIkbaIkbaIUbgQWDncYjrlqfyt8L31dv64+j77vH++PneRmTaIUXaJknkbYTwq7n55en////76u3urbrYK03ZIUXgU2/vprT88fP99ff1xc/0ytPhXXf1z9ffTmrYIUXYIEX++vv+/f3toK/YIET43uPkdYvlgJTtnKz65+r22N7XIET34ebXH0TywszVJEfXH0PaNVbXL1Dxsr7WH0PqjqDxusXcP17+/v723OHWHkLWIUXVHkLmfJHVHkPxvsjUHkLUHULiZ3/UHUHTHUHTHEDSHEDRGz/SHEHSHUHRHEDRG0DliJrXS2fUPlvQGz/QGj/usL3QGj7PHUHPGj7PGj/PGz/OGT3OGT7OGj7NGT3NGD3NGj/NGDzMGDzMGj7MFzzLFzvLFzzcZ3/li53XTmnLGDz88/XWUGvKFzvQOVfts7/KFjvZW3TKFjrVSWXJFjrJJUbJFTrIFTnVVnDonq3WT2rIFTrHFTnHFDnHFDjssb3opLLGFDjGEzjGEzfFEzfFEjfEEzfEEjfEEjbrsLznorDDEjbDETbDETXCETXCETbBEDTWaoDquMLILEvBEDXCFDjBETXdh5nAEDTgkaHADzTmoa/ADzPUX3fVX3e/DzPpr7u/DjO+DjK+DjPTXXW9DjK9DTK9DTG8DDG8DDDorrrkoK+7DDC7DDG6Cy+6CzC6DDDPVW7BL07XdIi5Cy+5Ci/uxs6/J0fjn625Ci64Ci63CS63CS23Ci62CS22CC22CCzrvce1CCy6Fzq4EjW1Byy8HT+5GDm0ByvswcrDOVa0ByzgmqizByuzBiu1Ci+zBiqyBirWeY2yBSqxBSmxBSqxBCmwBCmwBSmwBCivBCivAyivAyeuAietAietAiasAiasASasASWrASWrACWrACSqACSqACSqACWsASb04CiXAAAA/3RSTlMAHKbm///m7f/t////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6ab//6Y+3sRqAAAT+UlEQVR4AcyRh3IjQQhEW1naHEY5/P9nXtsUtYyKvXxnurBgGl47AYvlar3ZrDfrn9LGud18Nb9dLoDFjov8kGKTeb/Z79f7PIQGJT6NCPxhgaXCNkDD87Dc1/sY/BIrOeSHK39n/Rj8Cpui2BRiFDLnsBNWWCYKj8JflJuSJe+yKFn0vdsoPAqRHqscT6F8F4VHVX6qKquqqPKj984DnmmAvoPwEFgXlCwtqGGU+iztQXhUKhuQeazvzFF4VL+nuqpZHKLwEINluwf437yOwoODyjkyvv/N6ig86qapm5ol/V0KWtnbJgoPDm3TtnVbu/IDjBeFRy0h7dSNxOvqjpXf9G3f1z3nKDxqOWw7Ab1QLllTqM6qEDzaKUQhiu0n5yg8BnkM3fCpdsjDaXClkPX1PggPHvVd3w+9ABqo84xHVr9JEB7DOA7jYGVh9z0aZozCY2aRhsQaKJnHJL7zjWPwGKZjim0+zN1F4ZFyccly374XhQe/junIsm7undKJlXxF4XFO6ZzOH2KTBQdW3i/nyyVd1DN3UXic/cC5b3JJEnhN1+v5Sj8Kj/OV3rTgh8rxdZZOsQXhcVHMHsm/8io7Azk3UXjcpqDb9ZaJhoIfO5btehOEB4f79X6/3W2ADXYD7O08/3i+vpFWLrrJwzAUznOAoBTaUvL/pN3YIAG8G122vv8LzZJlTS5mRconK/F8cnx0GWq2yJer1TJfZPNZMepPyDcTopyUWPKelhQw1HCIEvWI7q/W9cYO+Pd/ttX96fkGDzdxWPyQJTLgwToie0bxN+2DVXmsG92fmm9Kh4iHEtKwrvvSlViKv9nZP3h61v1p+cbpsIGZuinWYK5T7OwI+4PuTMk37jbeeSzqgwtYbpzt/GhHOZ230pWebxyABzKAAyxtkQSER/bFi72L/CD86fkGtGXiZsQcoV76X1f2To5vwp+cb3wIPnjc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\"","import React, { useEffect, useState } from \"react\"\nimport { graphql, navigate } from \"gatsby\"\nimport { useLocation } from \"@reach/router\"\nimport striptags from \"striptags\"\nimport moment from \"moment\"\n\nimport Post from \"components/post\"\nimport Layout from \"components/layout\"\nimport SEO from \"components/seo\"\nimport { getPost, insightsPath } from \"utils/insights\"\nimport { daArticlePath } from \"utils/demand-academy\"\nimport { LoadingScreen, getPremiumPost } from \"pages/insights/premium\"\n\n// Rules for loading posts dynamically\n// If context === 404 (loaded by catch all route)\n// => if id (CMS preview) => load regular with apiKey\n// => if pathname (not yet published post) => load regular\n// If context !== 404 (article exists)\n// => if more than 6 months since publication => mark post as non premium\n// (this loads the whole article during build without restrictions)\n// => if key query param (premium token) => load premium with token\n// => if no key query param (premium token) => load regular\n\nexport default ({ data, pageContext }) => {\n const { insightsArticle: cmsPost } = data.gcms\n const expireAt = moment().subtract(6, \"months\")\n if (\n cmsPost &&\n cmsPost?.publishingDate < expireAt.toISOString() &&\n cmsPost?.body?.text !== null &&\n cmsPost?.body?.text.trim() !== \"\"\n ) {\n cmsPost.premium = false\n }\n\n const location = useLocation()\n const queryParams = new URLSearchParams(location.search)\n const [post, setPost] = useState(cmsPost)\n // Post will be ready to use from the beginning if it's not\n // unknown (loaded by the catch all route) and not premium.\n const [ready, setReady] = useState(\n pageContext?.id !== \"404\" && !cmsPost.premium\n )\n const [premiumLoading, setPremiumLoading] = useState(false)\n const [shared, setShared] = useState(false)\n const [premium, setPremium] = useState(false)\n const [premiumPost, setPremiumPost] = useState(null)\n\n async function loadPremiumPost(token) {\n setPremium(true)\n setPremiumLoading(true)\n setReady(true)\n\n let loadedPost\n\n try {\n loadedPost = await getPremiumPost(token)\n } catch (error) {\n console.log(\"Error loading post\", error)\n }\n\n if (loadedPost) {\n setShared(true)\n loadedPost.relativePath = insightsPath(loadedPost)\n setPremiumPost(loadedPost)\n window.history.replaceState({}, loadedPost.title, loadedPost.relativePath)\n }\n\n setPremiumLoading(false)\n }\n\n async function loadPost(path, id, apiKey) {\n const dPost = await getPost(path, id, apiKey)\n if (dPost) {\n if (dPost.premium && dPost?.body?.text?.trim()) {\n dPost.premium = false\n }\n setPost(dPost)\n setReady(true)\n } else {\n navigate(\"/404\")\n }\n }\n\n useEffect(() => {\n async function load() {\n const pathname = location.pathname || \"\"\n const id = queryParams.get(\"id\") || \"\"\n const apiKey = queryParams.get(\"api-key\") || \"\"\n const premiumToken = queryParams.get(\"key\")\n\n if (premiumToken) {\n // Attempt to load premium content\n await loadPremiumPost(premiumToken)\n } else if (pathname || id) {\n // Attempt to load post by pathname or by id\n await loadPost(encodeURIComponent(pathname), id, apiKey)\n }\n }\n\n if (!ready) {\n load()\n }\n }, [])\n\n if (post) {\n post.relativePath = insightsPath(post)\n if (post.youtubeId && !post.externalUrl) {\n post.externalUrl = \"https://www.youtube.com/watch?v=\" + post.youtubeId\n }\n }\n const imageURL = post?.featuredImage?.url\n const category = post?.insightsCategories?.length\n ? post.insightsCategories[0]\n : false\n const path = post\n ? post.demandAcademyTier\n ? daArticlePath(post)\n : insightsPath(post)\n : null\n const meta = [\n {\n property: \"og:type\",\n content: \"article\",\n },\n {\n property: \"article:section\",\n content: category?.name,\n },\n ]\n const sharePreviewUrls = {\n social: imageURL,\n twitter: imageURL,\n }\n\n return (\n \n \n {!!ready && (\n <>\n {!!premium && !premiumPost && (\n \n )}\n {!!premium && !!premiumPost && (\n \n )}\n {!premium && !!post && }\n >\n )}\n {!ready && (\n \n Loading...\n
\n )}\n \n )\n}\n\nexport const query = graphql`\n query PostById($id: ID!) {\n gcms {\n insightsArticle(where: { id: $id }) {\n id\n title\n slug\n body {\n html\n text\n }\n legacyBody\n legacySummary\n summary {\n html\n text\n }\n insightsCategories {\n name\n slug\n }\n publishingDate\n featuredImage {\n url\n altText\n handle\n }\n premium\n wordpressId\n metadata\n articlePublisher {\n publisher\n }\n externalUrl\n youtubeId\n format\n markets {\n name\n isoCode\n }\n titlesJson\n moviesJson\n talentJson\n platforms {\n name\n slug\n }\n metrics {\n name\n }\n genres {\n name\n slug\n }\n industries {\n title\n slug\n }\n applications {\n title\n slug\n }\n demandAcademyTier {\n name\n }\n demandAcademySlug\n }\n }\n }\n`\n","function daArticlePath(article) {\n const { slug, demandAcademySlug } = article\n\n // TODO: This shouldn't be necessary if DA title is set\n // and the backend function is generating slugs for\n // it as expected\n return `/academy/${demandAcademySlug || slug}`\n}\n\nfunction daArticleTitle(article) {\n const { title, demandAcademyTitle } = article\n\n // TODO: This shouldn't be necessary if DA title is set\n return demandAcademyTitle || title\n}\n\nmodule.exports = { daArticlePath, daArticleTitle }\n","const isBrowser = typeof window !== \"undefined\"\n\nexport default isBrowser\n"],"names":["Loading","styled","div","withConfig","displayName","componentId","async","getPremiumPost","token","url","process","response","Promise","all","fetch","r","setTimeout","body","json","insightsArticle","e","LoadingScreen","_ref","loading","data","useStaticQuery","value","loadingMessage","gcms","expiredMessage","expired","cb","sharedContent","React","src","height","width","alt","className","dangerouslySetInnerHTML","__html","brandRules","ButtonLE","to","linkUrl","callToAction","_post$insightsCategor","_post$featuredImage","_post$featuredImage2","setLoading","useState","post","setPost","useEffect","isBrowser","window","location","hash","relativePath","insightsPath","history","replaceState","title","loadPost","substring","Layout","SEO","description","striptags","excerpt","meta","property","content","insightsCategories","length","name","path","sharePreviewUrls","social","featuredImage","twitter","Post","shared","_cmsPost$body","_cmsPost$body2","_post$summary","pageContext","cmsPost","expireAt","moment","subtract","publishingDate","toISOString","text","trim","premium","useLocation","queryParams","URLSearchParams","search","ready","setReady","id","premiumLoading","setPremiumLoading","setShared","setPremium","premiumPost","setPremiumPost","pathname","get","apiKey","premiumToken","loadedPost","error","console","log","loadPremiumPost","dPost","getPost","_dPost$body","_dPost$body$text","navigate","encodeURIComponent","load","youtubeId","externalUrl","imageURL","category","demandAcademyTier","daArticlePath","summary","legacySummary","module","exports","article","slug","demandAcademySlug","daArticleTitle","demandAcademyTitle"],"sourceRoot":""}