chore: posthog events improved (#3554)
* chore: events naming convention changed * chore: track element added for project related events * chore: track element added for cycle related events * chore: track element added for module related events * chore: issue related events updated * refactor: event tracker store * refactor: event-tracker store * fix: posthog changes --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
This commit is contained in:
parent
7d07afd59c
commit
0165abab3e
103 changed files with 1385 additions and 596 deletions
|
|
@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
|
|||
import { Tab } from "@headlessui/react";
|
||||
import { useTheme } from "next-themes";
|
||||
// hooks
|
||||
import { useApplication, useProject, useUser } from "hooks/store";
|
||||
import { useApplication, useEventTracker, useProject, useUser } from "hooks/store";
|
||||
// layouts
|
||||
import { AppLayout } from "layouts/app-layout";
|
||||
// components
|
||||
|
|
@ -22,8 +22,8 @@ const AnalyticsPage: NextPageWithLayout = observer(() => {
|
|||
// store hooks
|
||||
const {
|
||||
commandPalette: { toggleCreateProjectModal },
|
||||
eventTracker: { setTrackElement },
|
||||
} = useApplication();
|
||||
const { setTrackElement } = useEventTracker();
|
||||
const {
|
||||
membership: { currentWorkspaceRole },
|
||||
currentUser,
|
||||
|
|
@ -72,7 +72,7 @@ const AnalyticsPage: NextPageWithLayout = observer(() => {
|
|||
primaryButton={{
|
||||
text: "Create Cycles and Modules first",
|
||||
onClick: () => {
|
||||
setTrackElement("ANALYTICS_EMPTY_STATE");
|
||||
setTrackElement("Analytics empty state");
|
||||
toggleCreateProjectModal(true);
|
||||
},
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { observer } from "mobx-react-lite";
|
|||
import { Tab } from "@headlessui/react";
|
||||
import { useTheme } from "next-themes";
|
||||
// hooks
|
||||
import { useCycle, useUser } from "hooks/store";
|
||||
import { useEventTracker, useCycle, useUser } from "hooks/store";
|
||||
import useLocalStorage from "hooks/use-local-storage";
|
||||
// layouts
|
||||
import { AppLayout } from "layouts/app-layout";
|
||||
|
|
@ -26,6 +26,7 @@ const ProjectCyclesPage: NextPageWithLayout = observer(() => {
|
|||
// theme
|
||||
const { resolvedTheme } = useTheme();
|
||||
// store hooks
|
||||
const { setTrackElement } = useEventTracker();
|
||||
const {
|
||||
membership: { currentProjectRole },
|
||||
currentUser,
|
||||
|
|
@ -91,6 +92,7 @@ const ProjectCyclesPage: NextPageWithLayout = observer(() => {
|
|||
primaryButton={{
|
||||
text: "Set your first cycle",
|
||||
onClick: () => {
|
||||
setTrackElement("Cycle empty state");
|
||||
setCreateModal(true);
|
||||
},
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { useRouter } from "next/router";
|
|||
import { observer } from "mobx-react-lite";
|
||||
import { Search } from "lucide-react";
|
||||
// hooks
|
||||
import { useApplication, useMember, useUser } from "hooks/store";
|
||||
import { useEventTracker, useMember, useUser } from "hooks/store";
|
||||
import useToast from "hooks/use-toast";
|
||||
// layouts
|
||||
import { AppLayout } from "layouts/app-layout";
|
||||
|
|
@ -27,9 +27,7 @@ const WorkspaceMembersSettingsPage: NextPageWithLayout = observer(() => {
|
|||
const router = useRouter();
|
||||
const { workspaceSlug } = router.query;
|
||||
// store hooks
|
||||
const {
|
||||
eventTracker: { postHogEventTracker, setTrackElement },
|
||||
} = useApplication();
|
||||
const { captureEvent, setTrackElement } = useEventTracker();
|
||||
const {
|
||||
membership: { currentWorkspaceRole },
|
||||
} = useUser();
|
||||
|
|
@ -45,7 +43,7 @@ const WorkspaceMembersSettingsPage: NextPageWithLayout = observer(() => {
|
|||
return inviteMembersToWorkspace(workspaceSlug.toString(), data)
|
||||
.then(() => {
|
||||
setInviteModal(false);
|
||||
postHogEventTracker("MEMBER_INVITED", { state: "SUCCESS" });
|
||||
captureEvent("Member invited", { state: "SUCCESS" });
|
||||
setToastAlert({
|
||||
type: "success",
|
||||
title: "Success!",
|
||||
|
|
@ -53,7 +51,7 @@ const WorkspaceMembersSettingsPage: NextPageWithLayout = observer(() => {
|
|||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
postHogEventTracker("MEMBER_INVITED", { state: "FAILED" });
|
||||
captureEvent("Member invited", { state: "FAILED" });
|
||||
setToastAlert({
|
||||
type: "error",
|
||||
title: "Error!",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { CheckCircle2 } from "lucide-react";
|
|||
import { WorkspaceService } from "services/workspace.service";
|
||||
import { UserService } from "services/user.service";
|
||||
// hooks
|
||||
import { useApplication, useUser } from "hooks/store";
|
||||
import { useEventTracker, useUser } from "hooks/store";
|
||||
import useToast from "hooks/use-toast";
|
||||
// layouts
|
||||
import DefaultLayout from "layouts/default-layout";
|
||||
|
|
@ -40,9 +40,7 @@ const UserInvitationsPage: NextPageWithLayout = observer(() => {
|
|||
const [invitationsRespond, setInvitationsRespond] = useState<string[]>([]);
|
||||
const [isJoiningWorkspaces, setIsJoiningWorkspaces] = useState(false);
|
||||
// store hooks
|
||||
const {
|
||||
eventTracker: { postHogEventTracker },
|
||||
} = useApplication();
|
||||
const { captureEvent } = useEventTracker();
|
||||
const { currentUser, currentUserSettings } = useUser();
|
||||
// router
|
||||
const router = useRouter();
|
||||
|
|
@ -84,7 +82,7 @@ const UserInvitationsPage: NextPageWithLayout = observer(() => {
|
|||
mutate("USER_WORKSPACES");
|
||||
const firstInviteId = invitationsRespond[0];
|
||||
const redirectWorkspace = invitations?.find((i) => i.id === firstInviteId)?.workspace;
|
||||
postHogEventTracker("MEMBER_ACCEPTED", {
|
||||
captureEvent("Member accepted", {
|
||||
...res,
|
||||
state: "SUCCESS",
|
||||
accepted_from: "App",
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { ChevronDown } from "lucide-react";
|
|||
import { Menu, Transition } from "@headlessui/react";
|
||||
import { Controller, useForm } from "react-hook-form";
|
||||
// hooks
|
||||
import { useApplication, useUser, useWorkspace } from "hooks/store";
|
||||
import { useEventTracker, useUser, useWorkspace } from "hooks/store";
|
||||
import useUserAuth from "hooks/use-user-auth";
|
||||
// services
|
||||
import { WorkspaceService } from "services/workspace.service";
|
||||
|
|
@ -35,9 +35,7 @@ const OnboardingPage: NextPageWithLayout = observer(() => {
|
|||
// router
|
||||
const router = useRouter();
|
||||
// store hooks
|
||||
const {
|
||||
eventTracker: { postHogEventTracker },
|
||||
} = useApplication();
|
||||
const { captureEvent } = useEventTracker();
|
||||
const { currentUser, currentUserLoader, updateCurrentUser, updateUserOnBoard } = useUser();
|
||||
const { workspaces, fetchWorkspaces } = useWorkspace();
|
||||
// custom hooks
|
||||
|
|
@ -81,7 +79,7 @@ const OnboardingPage: NextPageWithLayout = observer(() => {
|
|||
|
||||
await updateUserOnBoard()
|
||||
.then(() => {
|
||||
postHogEventTracker("USER_ONBOARDING_COMPLETE", {
|
||||
captureEvent("User onboarding completed", {
|
||||
user_role: user.role,
|
||||
email: user.email,
|
||||
user_id: user.id,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue