chore: added page viewed event

This commit is contained in:
LAKHAN BAHETI 2024-03-14 14:00:22 +05:30
parent 05c08effbf
commit 75d8560343
3 changed files with 31 additions and 9 deletions

View File

@ -20,7 +20,15 @@ import { CustomMenu, Tooltip } from "@plane/ui";
import { CreateUpdatePageModal, DeletePageModal } from "components/pages";
// constants
import { EUserProjectRoles } from "constants/project";
import { PAGE_ARCHIVED, PAGE_FAVORITED, PAGE_RESTORED, PAGE_UNFAVORITED, PAGE_UPDATED } from "constants/event-tracker";
import {
E_PROJECT_PAGES,
PAGE_ARCHIVED,
PAGE_FAVORITED,
PAGE_RESTORED,
PAGE_UNFAVORITED,
PAGE_UPDATED,
PAGE_VIEWED,
} from "constants/event-tracker";
import { renderFormattedTime, renderFormattedDate } from "helpers/date-time.helper";
import { copyUrlToClipboard } from "helpers/string.helper";
// hooks
@ -56,7 +64,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
const {
project: { getProjectMemberDetails },
} = useMember();
const { captureEvent } = useEventTracker();
const { captureEvent, capturePageEvent } = useEventTracker();
if (!pageStore) return null;
@ -88,7 +96,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
addToFavorites().then(() => {
captureEvent(PAGE_FAVORITED, {
page_id: pageId,
element: "Project pages page",
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -101,6 +109,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
removeFromFavorites().then(() => {
captureEvent(PAGE_UNFAVORITED, {
page_id: pageId,
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -114,7 +123,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
captureEvent(PAGE_UPDATED, {
page_id: pageId,
access: "public",
element: "Project pages page",
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -128,7 +137,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
captureEvent(PAGE_UPDATED, {
page_id: pageId,
access: "private",
element: "Project pages page",
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -142,7 +151,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
captureEvent(PAGE_ARCHIVED, {
page_id: pageId,
access: access == 1 ? "private" : "public",
element: "Project pages page",
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -156,7 +165,7 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
captureEvent(PAGE_RESTORED, {
page_id: pageId,
access: access == 1 ? "private" : "public",
element: "Project pages page",
element: E_PROJECT_PAGES,
state: "SUCCESS",
});
});
@ -197,7 +206,18 @@ export const PagesListItem: FC<IPagesListItem> = observer(({ pageId, projectId }
/>
<DeletePageModal isOpen={deletePageModal} onClose={() => setDeletePageModal(false)} pageId={pageId} />
<li>
<Link href={`/${workspaceSlug}/projects/${projectId}/pages/${pageId}`}>
<Link
href={`/${workspaceSlug}/projects/${projectId}/pages/${pageId}`}
onClick={() =>
capturePageEvent({
eventName: PAGE_VIEWED,
payload: {
...pageStore,
element: E_PROJECT_PAGES,
},
})
}
>
<div className="relative rounded p-3 md:p-4 text-custom-text-200 hover:bg-custom-background-80">
<div className="flex items-center justify-between">
<div className="flex items-center gap-2 overflow-hidden">

View File

@ -163,7 +163,6 @@ export const ProjectSidebarListItem: React.FC<Props> = observer((props) => {
if (window.innerWidth < 768) {
themeStore.toggleSidebar();
}
setTrackElement("Project sidebar");
};
useOutsideClickDetector(actionSectionRef, () => setIsMenuActive(false));

View File

@ -254,6 +254,7 @@ export const ESTIMATE_DELETED = "Estimate deleted";
export const ESTIMATE_USED = "Estimate used";
export const ESTIMATE_DISABLED = "Estimate disabled";
// Project Page Events
export const PAGE_VIEWED = "Page viewed";
export const PAGE_CREATED = "Page created";
export const PAGE_UPDATED = "Page updated";
export const PAGE_DELETED = "Page deleted";
@ -334,3 +335,5 @@ export const SNOOZED_NOTIFICATIONS = "Snoozed notifications viewed";
export const ARCHIVED_NOTIFICATIONS = "Archived notifications viewed";
// Groups
export const GROUP_WORKSPACE = "Workspace_metrics";
// Elements
export const E_PROJECT_PAGES = "Project pages page";