aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Corentin Thomasset <corentin.thomasset74@gmail.com> 2022-12-21 21:02:57 +0100
committerGravatar Corentin Thomasset <corentin.thomasset74@gmail.com> 2022-12-21 21:02:57 +0100
commitdef60e7248003e74ed67e9ff116b438bab410a92 (patch)
tree246ca3b6298b500b5df786bf5624bf34ddad8259 /src/modules
parentbf88836dbe4037019e9545deaae1db06e5768cfb (diff)
downloadit-tools-def60e7248003e74ed67e9ff116b438bab410a92.tar.gz
it-tools-def60e7248003e74ed67e9ff116b438bab410a92.tar.zst
it-tools-def60e7248003e74ed67e9ff116b438bab410a92.zip
refactor(tracker): better tracker injection
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/tracker/tracker.services.ts18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/modules/tracker/tracker.services.ts b/src/modules/tracker/tracker.services.ts
index c05dccc..bd3c0ec 100644
--- a/src/modules/tracker/tracker.services.ts
+++ b/src/modules/tracker/tracker.services.ts
@@ -1,6 +1,8 @@
+import _ from 'lodash';
import type Plausible from 'plausible-tracker';
+import { inject } from 'vue';
-export { createTrackerService };
+export { createTrackerService, useTracker };
function createTrackerService({ plausible }: { plausible: ReturnType<typeof Plausible> }) {
return {
@@ -9,3 +11,17 @@ function createTrackerService({ plausible }: { plausible: ReturnType<typeof Plau
},
};
}
+
+function useTracker() {
+ const plausible: ReturnType<typeof Plausible> | undefined = inject('plausible');
+
+ if (_.isNil(plausible)) {
+ throw new Error('Plausible must be instantiated');
+ }
+
+ const tracker = createTrackerService({ plausible });
+
+ return {
+ tracker,
+ };
+}