From e9f58a9b26891df7773d7c3da0184b033cba6b33 Mon Sep 17 00:00:00 2001 From: Palanikannan M Date: Tue, 1 Jul 2025 17:01:24 +0530 Subject: [PATCH 1/2] added events for most page events --- packages/constants/src/event-tracker/core.ts | 23 +++ .../components/pages/header/lock-control.tsx | 17 +- web/ce/helpers/command-palette.ts | 7 +- .../actions/project-actions.tsx | 3 +- .../components/pages/dropdowns/actions.tsx | 38 ++++- .../pages/header/favorite-control.tsx | 13 +- .../pages/list/block-item-action.tsx | 6 + .../pages/modals/create-page-modal.tsx | 16 +- .../pages/modals/delete-page-modal.tsx | 13 +- .../pages/pages-list-main-content.tsx | 6 +- web/core/hooks/use-page-operations.ts | 145 +++++++++++++++--- 11 files changed, 234 insertions(+), 53 deletions(-) diff --git a/packages/constants/src/event-tracker/core.ts b/packages/constants/src/event-tracker/core.ts index 238db14b0fe..862d425580f 100644 --- a/packages/constants/src/event-tracker/core.ts +++ b/packages/constants/src/event-tracker/core.ts @@ -181,8 +181,31 @@ export const PROJECT_PAGE_TRACKER_EVENTS = { create: "project_page_created", update: "project_page_updated", delete: "project_page_deleted", + archive: "project_page_archived", + restore: "project_page_restored", + lock: "project_page_locked", + unlock: "project_page_unlocked", + access_update: "project_page_access_updated", + duplicate: "project_page_duplicated", + favorite: "project_page_favorited", + unfavorite: "project_page_unfavorited", + move: "project_page_moved", }; +export const PROJECT_PAGE_TRACKER_ELEMENTS = { + COMMAND_PALETTE_SHORTCUT_CREATE_BUTTON: "command_palette_shortcut_create_page_button", + EMPTY_STATE_CREATE_BUTTON: "empty_state_create_page_button", + COMMAND_PALETTE_CREATE_BUTTON: "command_palette_create_page_button", + CONTEXT_MENU: "page_context_menu", + QUICK_ACTIONS: "page_quick_actions", + LIST_ITEM: "page_list_item", + FAVORITE_BUTTON: "page_favorite_button", + ARCHIVE_BUTTON: "page_archive_button", + LOCK_BUTTON: "page_lock_button", + ACCESS_TOGGLE: "page_access_toggle", + DUPLICATE_BUTTON: "page_duplicate_button", +} as const; + export const MEMBER_TRACKER_EVENTS = { invite: "member_invited", accept: "member_accepted", diff --git a/web/ce/components/pages/header/lock-control.tsx b/web/ce/components/pages/header/lock-control.tsx index f06ba2ad5bb..e8a33601920 100644 --- a/web/ce/components/pages/header/lock-control.tsx +++ b/web/ce/components/pages/header/lock-control.tsx @@ -4,7 +4,10 @@ import { useState, useEffect, useRef } from "react"; import { observer } from "mobx-react"; import { LockKeyhole, LockKeyholeOpen } from "lucide-react"; // plane imports +import { PROJECT_PAGE_TRACKER_ELEMENTS } from "@plane/constants"; import { Tooltip } from "@plane/ui"; +// helpers +import { captureClick } from "@/helpers/event-tracker.helper"; // hooks import { usePageOperations } from "@/hooks/use-page-operations"; // store @@ -77,7 +80,12 @@ export const PageLockControl = observer(({ page }: Props) => {