aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/plausible.plugin.ts
diff options
context:
space:
mode:
authorGravatar Corentin Thomasset <corentin.thomasset74@gmail.com> 2023-04-04 18:59:49 +0200
committerGravatar Corentin THOMASSET <corentin.thomasset74@gmail.com> 2023-04-04 19:01:59 +0200
commitaa4dc0418e8ce575ae89ae618df53c1d49384b2d (patch)
tree9036164fe4558c7fca80feb51e3e394cd50145fb /src/plugins/plausible.plugin.ts
parenta599528044c127fe0e38a9ca29f5f6ff4327fb0c (diff)
downloadit-tools-aa4dc0418e8ce575ae89ae618df53c1d49384b2d.tar.gz
it-tools-aa4dc0418e8ce575ae89ae618df53c1d49384b2d.tar.zst
it-tools-aa4dc0418e8ce575ae89ae618df53c1d49384b2d.zip
feat(plausible): disable plausible instance for self hosted instance
Diffstat (limited to 'src/plugins/plausible.plugin.ts')
-rw-r--r--src/plugins/plausible.plugin.ts27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/plausible.plugin.ts b/src/plugins/plausible.plugin.ts
index 10975ea..50a694d 100644
--- a/src/plugins/plausible.plugin.ts
+++ b/src/plugins/plausible.plugin.ts
@@ -1,11 +1,36 @@
import { config } from '@/config';
+import { noop } from 'lodash';
import Plausible from 'plausible-tracker';
import type { App } from 'vue';
+function createFakePlausibleInstance(): Pick<ReturnType<typeof Plausible>, 'trackEvent' | 'enableAutoPageviews'> {
+ return {
+ trackEvent: noop,
+ enableAutoPageviews: () => noop,
+ };
+}
+
+function createPlausibleInstance({
+ config,
+}: {
+ config: {
+ isTrackerEnabled: boolean;
+ domain: string;
+ apiHost: string;
+ trackLocalhost: boolean;
+ };
+}) {
+ if (config.isTrackerEnabled) {
+ return Plausible(config);
+ }
+
+ return createFakePlausibleInstance();
+}
+
export const plausible = {
install: (app: App) => {
- const plausible = Plausible(config.plausible);
+ const plausible = createPlausibleInstance({ config: config.plausible });
plausible.enableAutoPageviews();
app.provide('plausible', plausible);