From aa1e32a7c9f0d9a85169654de155ea5a38a23cdb Mon Sep 17 00:00:00 2001 From: vamsikrishnamathala Date: Tue, 1 Jul 2025 17:16:32 +0530 Subject: [PATCH] refactor: added tracker elements for buttons --- packages/constants/src/event-tracker/core.ts | 47 ++++++ .../[projectId]/cycles/(detail)/header.tsx | 5 +- .../[projectId]/modules/(detail)/header.tsx | 5 +- .../views/(detail)/[viewId]/header.tsx | 6 +- web/ce/components/issues/header.tsx | 6 +- web/ce/helpers/command-palette.ts | 7 +- .../components/inbox/content/issue-root.tsx | 55 +++---- .../inbox/modals/create-modal/create-root.tsx | 22 +-- .../attachments/helper.tsx | 48 +++--- .../issue-detail-widgets/relations/helper.tsx | 42 ++--- .../issue-detail-widgets/sub-issues/helper.ts | 78 ++++----- .../issue-detail-quick-actions.tsx | 31 ++-- .../components/issues/issue-detail/root.tsx | 143 +++++----------- .../issue-layouts/empty-states/cycle.tsx | 14 +- .../empty-states/global-view.tsx | 10 +- .../issue-layouts/empty-states/module.tsx | 14 +- .../empty-states/project-issues.tsx | 14 +- .../empty-states/project-view.tsx | 14 +- .../issue-layouts/kanban/base-kanban-root.tsx | 13 +- .../properties/all-properties.tsx | 89 +++------- .../quick-action-dropdowns/all-issue.tsx | 17 +- .../quick-action-dropdowns/archived-issue.tsx | 20 ++- .../quick-action-dropdowns/cycle-issue.tsx | 23 ++- .../quick-action-dropdowns/draft-issue.tsx | 21 ++- .../quick-action-dropdowns/module-issue.tsx | 22 ++- .../quick-action-dropdowns/project-issue.tsx | 23 ++- .../issues/issue-layouts/quick-add/root.tsx | 20 +-- .../spreadsheet/columns/cycle-column.tsx | 19 +-- .../spreadsheet/columns/module-column.tsx | 19 +-- .../spreadsheet/issue-column.tsx | 19 +-- .../components/issues/issue-modal/base.tsx | 29 ++-- .../issues/issue-modal/draft-issue-layout.tsx | 26 ++- .../components/issues/peek-overview/root.tsx | 155 ++++++------------ 33 files changed, 494 insertions(+), 582 deletions(-) diff --git a/packages/constants/src/event-tracker/core.ts b/packages/constants/src/event-tracker/core.ts index 238db14b0fe..b6069eea1e8 100644 --- a/packages/constants/src/event-tracker/core.ts +++ b/packages/constants/src/event-tracker/core.ts @@ -169,8 +169,55 @@ export const WORK_ITEM_TRACKER_EVENTS = { delete: "work_item_deleted", archive: "work_item_archived", restore: "work_item_restored", + attachment: { + add: "work_item_attachment_added", + remove: "work_item_attachment_removed", + }, + sub_issue: { + update: "sub_issue_updated", + remove: "sub_issue_removed", + delete: "sub_issue_deleted", + }, + draft: { + create: "draft_work_item_created", + } }; +export const WORK_ITEM_TRACKER_ELEMENTS = { + HEADER_ADD_BUTTON: { + WORK_ITEMS: "work_items_header_add_work_item_button", + PROJECT_VIEW: "project_view_header_add_work_item_button", + CYCLE: "cycle_header_add_work_item_button", + MODULE: "module_header_add_work_item_button", + }, + COMMAND_PALETTE_ADD_ITEM: "command_palette_add_work_item_item", + EMPTY_STATE_ADD_BUTTON: { + WORK_ITEMS: "work_items_empty_state_add_work_item_button", + PROJECT_VIEW: "project_view_empty_state_add_work_item_button", + CYCLE: "cycle_empty_state_add_work_item_button", + MODULE: "module_empty_state_add_work_item_button", + GLOBAL_VIEW: "global_view_empty_state_add_work_item_button", + }, + QUICK_ACTIONS: { + WORK_ITEMS: "work_items_quick_actions", + PROJECT_VIEW: "project_view_work_items_quick_actions", + CYCLE: "cycle_work_items_quick_actions", + MODULE: "module_work_items_quick_actions", + GLOBAL_VIEW: "global_view_work_items_quick_actions", + ARCHIVED: "archived_work_items_quick_actions", + DRAFT: "draft_work_items_quick_actions", + }, + CONTEXT_MENU: { + WORK_ITEMS: "work_items_context_menu", + PROJECT_VIEW: "project_view_context_menu", + CYCLE: "cycle_context_menu", + MODULE: "module_context_menu", + GLOBAL_VIEW: "global_view_context_menu", + ARCHIVED: "archived_context_menu", + DRAFT: "draft_context_menu", + }, +} as const; + export const STATE_TRACKER_EVENTS = { create: "state_created", update: "state_updated", diff --git a/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx b/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx index 5844c661bd0..9da6ca88992 100644 --- a/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx +++ b/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx @@ -14,6 +14,7 @@ import { EUserPermissionsLevel, EProjectFeatureKey, ISSUE_DISPLAY_FILTERS_BY_PAGE, + WORK_ITEM_TRACKER_ELEMENTS, } from "@plane/constants"; import { usePlatformOS } from "@plane/hooks"; import { useTranslation } from "@plane/i18n"; @@ -34,7 +35,6 @@ import { DisplayFiltersSelection, FiltersDropdown, FilterSelection, LayoutSelect import { useCommandPalette, useCycle, - useEventTracker, useIssues, useLabel, useMember, @@ -68,7 +68,6 @@ export const CycleIssuesHeader: React.FC = observer(() => { } = useIssues(EIssuesStoreType.CYCLE); const { currentProjectCycleIds, getCycleById } = useCycle(); const { toggleCreateIssueModal } = useCommandPalette(); - const { setTrackElement } = useEventTracker(); const { currentProjectDetails, loader } = useProject(); const { projectStates } = useProjectState(); const { projectLabels } = useLabel(); @@ -263,9 +262,9 @@ export const CycleIssuesHeader: React.FC = observer(() => {