From ba2dc089a38ab9df551687b9c7f8697eafab79b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vandr=C3=A9=20Leal?= Date: Fri, 14 Jul 2023 13:34:39 -0300 Subject: [PATCH] chore:: add GOOGLE_TAG_TRACKING_ID --- src/define-env-vars-plugin.js | 10 ++++++---- src/environment.js | 5 +++-- src/theme/Layout/index.js | 24 ++++++++++++------------ 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/define-env-vars-plugin.js b/src/define-env-vars-plugin.js index bb59bfc..34917d5 100644 --- a/src/define-env-vars-plugin.js +++ b/src/define-env-vars-plugin.js @@ -5,11 +5,12 @@ const environment = require("./environment") // We are limiting ourselves to the ones declared in the environment.js file const OPTIONAL_VARIABLES = [ - "ALGOLIA_APP_ID", "ALGOLIA_API_KEY", - "WEBSITE_BASE_URL", + "ALGOLIA_APP_ID", "DEPLOYMENT_ENV", + "GOOGLE_TAG_TRACKING_ID", "PRODUCT", + "WEBSITE_BASE_URL", ] const filteredVariables = Object.keys(environment).reduce((acc, item) => { @@ -25,11 +26,12 @@ module.exports = function () { return { plugins: [ new webpack.EnvironmentPlugin({ - ALGOLIA_APP_ID: "DEFAULT", ALGOLIA_API_KEY: "DEFAULT", - WEBSITE_BASE_URL: "DEFAULT", + ALGOLIA_APP_ID: "DEFAULT", DEPLOYMENT_ENV: process.env.DEPLOYMENT_ENV ?? "staging", + GOOGLE_TAG_TRACKING_ID: process.env.GOOGLE_TAG_TRACKING_ID ?? "", PRODUCT: process.env.PRODUCT ?? "chat", + WEBSITE_BASE_URL: "DEFAULT", ...filteredVariables, }), ], diff --git a/src/environment.js b/src/environment.js index 23c672e..b5fcc14 100644 --- a/src/environment.js +++ b/src/environment.js @@ -2,9 +2,10 @@ // it exposed with the define-env-vars-plugin module.exports = { - ALGOLIA_APP_ID: process.env.ALGOLIA_APP_ID, ALGOLIA_API_KEY: process.env.ALGOLIA_API_KEY, - WEBSITE_BASE_URL: process.env.WEBSITE_BASE_URL, + ALGOLIA_APP_ID: process.env.ALGOLIA_APP_ID, DEPLOYMENT_ENV: process.env.DEPLOYMENT_ENV, + GOOGLE_TAG_TRACKING_ID: process.env.DEPLOYMENT_ENV, PRODUCT: process.env.PRODUCT, + WEBSITE_BASE_URL: process.env.WEBSITE_BASE_URL, } diff --git a/src/theme/Layout/index.js b/src/theme/Layout/index.js index 9042ab2..2bd8068 100644 --- a/src/theme/Layout/index.js +++ b/src/theme/Layout/index.js @@ -11,17 +11,7 @@ import { AuthContextProvider } from "../../contexts/AuthContext" const isBrowser = typeof window !== `undefined` const isProd = process.env.DEPLOYMENT_ENV === "production" - -const trackingScript = - isProd && - process.env.GOOGLE_TAG_TRACKING_ID && - ` - (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': - new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], - j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= - 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); - })(window,document,'script','dataLayer','${process.env.GOOGLE_TAG_TRACKING_ID}'); -` +const gtmId = process.env.GOOGLE_TAG_TRACKING_ID export default function Layout(props) { const isRootPath = isBrowser && window.location.pathname === URLS.docs.root @@ -43,10 +33,20 @@ export default function Layout(props) { return null } + const trackingScript = + !!gtmId && + ` + (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': + new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], + j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= + 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); + })(window,document,'script','dataLayer','${gtmId}'); +` + return ( - {isProd && ( + {trackingScript && ( )}