From d13401b6ed891b75dc2d10685b6ce2cdc13a1aeb Mon Sep 17 00:00:00 2001
From: sjaanus <sellinjaanus@gmail.com>
Date: Mon, 9 Jan 2023 15:36:10 +0200
Subject: [PATCH] Plausible for hidden environments (#2837)

Plausible for hidden environments
---
 frontend/src/hooks/useHiddenEnvironments.ts | 18 ++++++++++++------
 frontend/src/hooks/usePlausibleTracker.ts   |  3 ++-
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/frontend/src/hooks/useHiddenEnvironments.ts b/frontend/src/hooks/useHiddenEnvironments.ts
index ea6a0076af..dfe6c4c1f1 100644
--- a/frontend/src/hooks/useHiddenEnvironments.ts
+++ b/frontend/src/hooks/useHiddenEnvironments.ts
@@ -1,13 +1,9 @@
-import { createLocalStorage } from 'utils/createLocalStorage';
 import { useGlobalLocalStorage } from './useGlobalLocalStorage';
 import { useState } from 'react';
-
-interface IGlobalStore {
-    favorites?: boolean;
-    hiddenEnvironments?: Set<string>;
-}
+import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
 
 export const useHiddenEnvironments = () => {
+    const { trackEvent } = usePlausibleTracker();
     const { value: globalStore, setValue: setGlobalStore } =
         useGlobalLocalStorage();
     const [hiddenEnvironments, setStoredHiddenEnvironments] = useState<
@@ -19,8 +15,18 @@ export const useHiddenEnvironments = () => {
             const hiddenEnvironments = new Set(params.hiddenEnvironments);
             if (hiddenEnvironments.has(environment)) {
                 hiddenEnvironments.delete(environment);
+                trackEvent('hidden_environment', {
+                    props: {
+                        eventType: `environment unhidden`,
+                    },
+                });
             } else {
                 hiddenEnvironments.add(environment);
+                trackEvent('hidden_environment', {
+                    props: {
+                        eventType: `environment hidden`,
+                    },
+                });
             }
             setStoredHiddenEnvironments(hiddenEnvironments);
             return {
diff --git a/frontend/src/hooks/usePlausibleTracker.ts b/frontend/src/hooks/usePlausibleTracker.ts
index 295e6bfbc1..be34d5e7a1 100644
--- a/frontend/src/hooks/usePlausibleTracker.ts
+++ b/frontend/src/hooks/usePlausibleTracker.ts
@@ -14,7 +14,8 @@ type CustomEvents =
     | 'change_request'
     | 'favorite'
     | 'maintenance'
-    | 'message_banner';
+    | 'message_banner'
+    | 'hidden_environment';
 
 export const usePlausibleTracker = () => {
     const plausible = useContext(PlausibleContext);