diff options
author | 2023-04-04 18:59:49 +0200 | |
---|---|---|
committer | 2023-04-04 19:01:59 +0200 | |
commit | aa4dc0418e8ce575ae89ae618df53c1d49384b2d (patch) | |
tree | 9036164fe4558c7fca80feb51e3e394cd50145fb /src/plugins/plausible.plugin.ts | |
parent | a599528044c127fe0e38a9ca29f5f6ff4327fb0c (diff) | |
download | it-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.ts | 27 |
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); |