From 74a87b34168938d78b30be026c09b71b715dcf54 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Thu, 14 Sep 2023 12:18:26 +0530 Subject: [PATCH] chore: docs analytics Signed-off-by: Pranav C --- packages/noco-docs/docusaurus.config.js | 1 + packages/noco-docs/package-lock.json | 23 +++++++++++++++++++++++ packages/noco-docs/package.json | 1 + packages/noco-docs/src/modules/tele.js | 16 ++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 packages/noco-docs/src/modules/tele.js diff --git a/packages/noco-docs/docusaurus.config.js b/packages/noco-docs/docusaurus.config.js index 83849d1517..e315c8bff0 100644 --- a/packages/noco-docs/docusaurus.config.js +++ b/packages/noco-docs/docusaurus.config.js @@ -121,6 +121,7 @@ const config = { darkTheme: darkCodeTheme, }, }), + clientModules: [require.resolve('./src/modules/tele.js')], }; module.exports = config; diff --git a/packages/noco-docs/package-lock.json b/packages/noco-docs/package-lock.json index cc2c41cba6..337d3a7901 100644 --- a/packages/noco-docs/package-lock.json +++ b/packages/noco-docs/package-lock.json @@ -14,6 +14,7 @@ "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "docusaurus-plugin-sass": "^0.2.5", + "nc-analytics": "^0.0.2", "prism-react-renderer": "^1.3.5", "react": "^17.0.2", "react-dom": "^17.0.2", @@ -28,6 +29,18 @@ "node": ">=16.14" } }, + "../../../nc-tele": { + "name": "xc-test123", + "version": "2.0.1", + "extraneous": true, + "license": "ISC", + "devDependencies": { + "@types/lodash.debounce": "^4.0.7", + "esbuild": "^0.19.3", + "lodash.debounce": "^4.0.8", + "uuid": "^9.0.1" + } + }, "node_modules/@algolia/autocomplete-core": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", @@ -8219,6 +8232,11 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/nc-analytics": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/nc-analytics/-/nc-analytics-0.0.2.tgz", + "integrity": "sha512-uox2mjQ+Rj5BdDVNCQ3c19499bxR822Iq0Sq2qiIFb5tB/mIYjsGEFG/jk2vo7oqlSo/W3JEA0qeVQ6lczfXOQ==" + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -18723,6 +18741,11 @@ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, + "nc-analytics": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/nc-analytics/-/nc-analytics-0.0.2.tgz", + "integrity": "sha512-uox2mjQ+Rj5BdDVNCQ3c19499bxR822Iq0Sq2qiIFb5tB/mIYjsGEFG/jk2vo7oqlSo/W3JEA0qeVQ6lczfXOQ==" + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", diff --git a/packages/noco-docs/package.json b/packages/noco-docs/package.json index 208c65ef4e..c4a7559576 100644 --- a/packages/noco-docs/package.json +++ b/packages/noco-docs/package.json @@ -33,6 +33,7 @@ "@mdx-js/react": "^1.6.22", "clsx": "^1.2.1", "docusaurus-plugin-sass": "^0.2.5", + "nc-analytics": "^0.0.2", "prism-react-renderer": "^1.3.5", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/packages/noco-docs/src/modules/tele.js b/packages/noco-docs/src/modules/tele.js new file mode 100644 index 0000000000..97692fb371 --- /dev/null +++ b/packages/noco-docs/src/modules/tele.js @@ -0,0 +1,16 @@ +import { init, push } from 'nc-analytics'; + +init(); + +export function onRouteDidUpdate({ location, previousLocation }) { + // Don't execute if we are still on the same page; the lifecycle may be fired + // because the hash changes (e.g. when navigating between headings) + if (location.pathname !== previousLocation?.pathname || location.hash !== previousLocation?.hash) { + push({ + event: '$pageview', + $current_url: location.pathname, + hash: location.hash, + }); + } +} +