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) =>