diff --git a/functions/package-lock.json b/functions/package-lock.json index 0d3172f85..0e4a9a45a 100644 --- a/functions/package-lock.json +++ b/functions/package-lock.json @@ -982,9 +982,12 @@ } }, "basic-auth-connect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", - "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.1.0.tgz", + "integrity": "sha512-rKcWjfiRZ3p5WS9e5q6msXa07s6DaFAMXoyowV+mb2xQG+oYdw2QEUyKi0Xp95JvXzShlM+oGy5QuqSK6TfC1Q==", + "requires": { + "tsscmp": "^1.0.6" + } }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -1801,11 +1804,11 @@ "optional": true }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decompress-response": { @@ -5124,7 +5127,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -5724,6 +5727,11 @@ } } }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" + }, "tsutils": { "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", diff --git a/lib/yarn.lock b/lib/yarn.lock index 217ccbe5a..2897a1952 100644 --- a/lib/yarn.lock +++ b/lib/yarn.lock @@ -583,9 +583,11 @@ base64-js@^1.3.0, base64-js@^1.3.1: integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== basic-auth-connect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" - integrity sha512-kiV+/DTgVro4aZifY/hwRwALBISViL5NP4aReaR2EVJEObpbUBHIkdJh/YpcoEiYt7nBodZ6U2ajZeZvSxUCCg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.1.0.tgz#b44af37d5b3bd7561b56491e58cf26ae1578f0c7" + integrity sha512-rKcWjfiRZ3p5WS9e5q6msXa07s6DaFAMXoyowV+mb2xQG+oYdw2QEUyKi0Xp95JvXzShlM+oGy5QuqSK6TfC1Q== + dependencies: + tsscmp "^1.0.6" basic-auth@~2.0.1: version "2.0.1" @@ -4042,6 +4044,11 @@ tslib@^2.0.1, tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== +tsscmp@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" diff --git a/src/components/Home/index.tsx b/src/components/Home/index.tsx index a015c0b1f..7341a0861 100644 --- a/src/components/Home/index.tsx +++ b/src/components/Home/index.tsx @@ -60,12 +60,6 @@ const IndexPage: React.FC = () => { . We encourage you to take a look if you'd like to see how anything is done. - Support for UA & GA4 - - There is support for both Universal Analytics (UA) and Google Analytics - 4 (GA4). Click the toggle in the nav bar to switch between the UA and - GA4 versions of the site. - Demos Live demos to help you learn about Google Analytics features. diff --git a/src/components/ga4/DimensionsMetricsExplorer/Field.tsx b/src/components/ga4/DimensionsMetricsExplorer/Field.tsx index 34c2b4dec..182fccd97 100644 --- a/src/components/ga4/DimensionsMetricsExplorer/Field.tsx +++ b/src/components/ga4/DimensionsMetricsExplorer/Field.tsx @@ -58,68 +58,6 @@ const Root = styled('div')(( } })); -const knownLinks: [string, JSX.Element][] = [ - [ - "", - - Set up and manage conversion events - , - ], - [ - "", - - Keywords: Definition - , - ], - [ - "", - - User-ID for cross-platform analysis - , - ], - [ - "", - - Data filters - , - ], -] - -const linkifyText = ( - remainingString: string, - elements: (JSX.Element | string)[] -): [string, (JSX.Element | string)[]] => { - const firstMatch = knownLinks.reduce( - (acc, [inText], idx) => { - const { matchIndex } = acc - const currentMatchIndex = remainingString.indexOf(inText) - if (currentMatchIndex !== -1) { - if (currentMatchIndex < matchIndex || matchIndex === -1) { - return { - matchIndex: currentMatchIndex, - knownLinksIndex: idx, - } - } - } - return acc - }, - { knownLinksIndex: -1, matchIndex: -1 } - ) - if (firstMatch.matchIndex === -1) { - elements.push(remainingString) - return ["", elements] - } else { - const [inText, link] = knownLinks[firstMatch.knownLinksIndex] - const before = remainingString.substring(0, firstMatch.matchIndex) - const after = remainingString.substring( - firstMatch.matchIndex + inText.length - ) - elements.push(before) - elements.push(link) - return [after, elements] - } -} - interface FieldProps extends CompatibleHook { field: | { type: "dimension"; value: Dimension } diff --git a/src/components/ga4/DimensionsMetricsExplorer/index.tsx b/src/components/ga4/DimensionsMetricsExplorer/index.tsx index 0f0d4bb76..10ae8a8e2 100644 --- a/src/components/ga4/DimensionsMetricsExplorer/index.tsx +++ b/src/components/ga4/DimensionsMetricsExplorer/index.tsx @@ -82,8 +82,8 @@ const RenderSuccessful: React.FC = ({ d.apiName === c.apiName) === undefined && compatibility.incompatibleMetrics?.find(d => d.apiName === c.apiName) === undefined - return viewMode === 'all' || viewMode === 'compatible' && - isCompatible || viewMode === 'incompatible' && !isCompatible; + return viewMode === 'all' || (viewMode === 'compatible' && + isCompatible) || (viewMode === 'incompatible' && !isCompatible); }, [viewMode, compatibility.incompatibleDimensions, @@ -97,9 +97,7 @@ const RenderSuccessful: React.FC = ({ dimensions: c.dimensions.filter(fieldDisplayFilter), metrics: c.metrics.filter(fieldDisplayFilter), })), - [viewMode, compatibility.metrics, - compatibility.dimensions, compatibility.incompatibleDimensions, - compatibility.incompatibleMetrics, categories] + [categories, fieldDisplayFilter] ) const resetAllCategoryAccordions = (expanded: boolean) =>