This commit is contained in:
chamikaJ
2025-04-17 18:28:54 +05:30
parent f583291d8a
commit 8825b0410a
2837 changed files with 241385 additions and 127578 deletions

View File

@@ -0,0 +1,315 @@
import { IRPTDuration } from '@/types/reporting/reporting.types';
import {
CheckCircleOutlined,
ClockCircleOutlined,
CloseCircleOutlined,
StopOutlined,
} from '@ant-design/icons';
import dayjs from 'dayjs';
export const avatarNamesMap: { [x: string]: string } = {
A: '#154c9b',
B: '#3b7ad4',
C: '#70a6f3',
D: '#7781ca',
E: '#9877ca',
F: '#c178c9',
G: '#ee87c5',
H: '#ca7881',
I: '#75c9c0',
J: '#75c997',
K: '#80ca79',
L: '#aacb78',
M: '#cbbc78',
N: '#cb9878',
O: '#bb774c',
P: '#905b39',
Q: '#903737',
R: '#bf4949',
S: '#f37070',
T: '#ff9c3c',
U: '#fbc84c',
V: '#cbc8a1',
W: '#a9a9a9',
X: '#767676',
Y: '#cb9878',
Z: '#903737',
'+': '#9e9e9e',
};
export const AvatarNamesMap: { [x: string]: string } = {
A: '#154c9b',
B: '#3b7ad4',
C: '#70a6f3',
D: '#7781ca',
E: '#9877ca',
F: '#c178c9',
G: '#ee87c5',
H: '#ca7881',
I: '#75c9c0',
J: '#75c997',
K: '#80ca79',
L: '#aacb78',
M: '#cbbc78',
N: '#cb9878',
O: '#bb774c',
P: '#905b39',
Q: '#903737',
R: '#bf4949',
S: '#f37070',
T: '#ff9c3c',
U: '#fbc84c',
V: '#cbc8a1',
W: '#a9a9a9',
X: '#767676',
Y: '#cb9878',
Z: '#903737',
'+': '#9e9e9e',
};
export const NumbersColorMap: { [x: string]: string } = {
'0': '#154c9b',
'1': '#3b7ad4',
'2': '#70a6f3',
'3': '#7781ca',
'4': '#9877ca',
'5': '#c178c9',
'6': '#ee87c5',
'7': '#ca7881',
'8': '#75c9c0',
'9': '#75c997',
};
export const ProjectsDefaultColorCodes = [
'#154c9b',
'#3b7ad4',
'#70a6f3',
'#7781ca',
'#9877ca',
'#c178c9',
'#ee87c5',
'#ca7881',
'#75c9c0',
'#75c997',
'#80ca79',
'#aacb78',
'#cbbc78',
'#cb9878',
'#bb774c',
'#905b39',
'#903737',
'#bf4949',
'#f37070',
'#ff9c3c',
'#fbc84c',
'#cbc8a1',
'#a9a9a9',
'#767676',
];
export const PhaseColorCodes = [
'#154c9b',
'#3b7ad4',
'#70a6f3',
'#7781ca',
'#9877ca',
'#c178c9',
'#ee87c5',
'#ca7881',
'#75c9c0',
'#75c997',
'#80ca79',
'#aacb78',
'#cbbc78',
'#cb9878',
'#bb774c',
'#905b39',
'#903737',
'#bf4949',
'#f37070',
'#ff9c3c',
'#fbc84c',
'#cbc8a1',
'#a9a9a9',
'#767676',
'#cb9878',
'#903737',
'#9e9e9e',
];
export const PriorityColorCodes: { [x: number]: string } = {
0: '#75c997',
1: '#fbc84c',
2: '#f37070',
};
export const API_BASE_URL = '/api/v1';
export const AUTH_API_BASE_URL = '/secure';
export const DEFAULT_TASK_NAME = 'Untitled Task';
export const YESTERDAY = 'YESTERDAY';
export const LAST_WEEK = 'LAST_WEEK';
export const LAST_MONTH = 'LAST_MONTH';
export const LAST_QUARTER = 'LAST_QUARTER';
export const PREV_WEEK = 'PREV_WEEK';
export const PREV_MONTH = 'PREV_MONTH';
export const ALL_TIME = 'ALL_TIME';
export const PASSWORD_POLICY =
'Minimum of 8 characters, with upper and lowercase and a number and a symbol.';
export const HTML_TAG_REGEXP = /<\/?[^>]+>/gi;
export const UNMAPPED = 'Unmapped';
export const TASK_STATUS_TODO_COLOR = '#a9a9a9';
export const TASK_STATUS_DOING_COLOR = '#70a6f3';
export const TASK_STATUS_DONE_COLOR = '#75c997';
export const TASK_PRIORITY_LOW_COLOR = '#75c997';
export const TASK_PRIORITY_MEDIUM_COLOR = '#fbc84c';
export const TASK_PRIORITY_HIGH_COLOR = '#f37070';
export const TASK_DUE_COMPLETED_COLOR = '#75c997';
export const TASK_DUE_UPCOMING_COLOR = '#70a6f3';
export const TASK_DUE_OVERDUE_COLOR = '#f37070';
export const TASK_DUE_NO_DUE_COLOR = '#a9a9a9';
export const DEFAULT_PAGE_SIZE = 20;
export const PAGE_SIZE_OPTIONS = ['5', '10', '15', '20', '50', '100'];
export const ALPHA_CHANNEL = '69';
export const FILTER_INDEX_KEY = 'worklenz.projects.filter_index';
export const DISPLAY_MODE_KEY = 'worklenz.projects.display_as';
export const WORKLENZ_REDIRECT_PROJ_KEY = 'worklenz.redirect_proj';
export const PROJECT_SORT_FIELD = 'worklenz.projects.sort_field';
export const PROJECT_SORT_ORDER = 'worklenz.projects.sort_order';
export const PROJECT_LIST_COLUMNS = 'worklenz.reporting.projects.column_list';
export const PROJECT_STATUS_ICON_MAP = {
'check-circle': CheckCircleOutlined,
'clock-circle': ClockCircleOutlined,
'clock-circle-two-tone': ClockCircleOutlined,
'close-circle': CloseCircleOutlined,
stop: StopOutlined,
};
export const DRAWER_ANIMATION_INTERVAL = 200;
export const DATE_FORMAT_OPTIONS: Intl.DateTimeFormatOptions = {
year: 'numeric',
month: 'short',
day: 'numeric',
};
export const NOTIFICATION_OPTION_UNREAD = 'Unread';
export const NOTIFICATION_OPTION_READ = 'Read';
export const NOTIFICATION_OPTIONS = [NOTIFICATION_OPTION_UNREAD, NOTIFICATION_OPTION_READ];
export const MY_DASHBOARD_ACTIVE_FILTER = 'my-dashboard-active-filter';
export const MY_DASHBOARD_DEFAULT_VIEW = 'All';
export const CELL_WIDTH = 75;
export const SUBSCRIPTION_STATUS = {
ACTIVE: 'active',
PASTDUE: 'past_due',
PAUSED: 'paused',
DELETED: 'deleted',
TRIALING: 'trialing',
FREE: 'free',
};
export enum IPaddlePlans {
FREE = "FREE",
ANNUAL = "ANNUAL",
MONTHLY = "MONTHLY",
}
export enum ISUBSCRIPTION_TYPE {
LIFE_TIME_DEAL = "LIFE_TIME_DEAL",
PADDLE = "PADDLE",
TRIAL = "TRIAL",
CUSTOM = "CUSTOM",
FREE = "FREE",
CREDIT = "CREDIT",
}
export const IconsMap: { [x: string]: string; } = {
ai: "ai.png",
avi: "avi.png",
css: "css.png",
csv: "csv.png",
doc: "doc.png",
docx: "doc.png",
exe: "exe.png",
html: "html.png",
js: "js.png",
jpg: "jpg.png",
jpeg: "jpg.png",
json: "json.png",
mp3: "mp3.png",
mp4: "mp4.png",
pdf: "pdf.png",
png: "png.png",
ppt: "ppt.png",
psd: "psd.png",
search: "search.png",
svg: "svg.png",
txt: "txt.png",
xls: "xls.png",
xml: "xml.png",
zip: "zip.png",
}
export const durations: IRPTDuration[] = [
{
key: YESTERDAY,
label: 'yesterdayText',
dates: new Date(dayjs().subtract(1, 'day').format()).toString(),
},
{
key: LAST_WEEK,
label: 'lastSevenDaysText',
dates:
new Date(dayjs().subtract(7, 'day').format()).toString() +
' - ' +
new Date(dayjs().format()).toString(),
},
{
key: PREV_WEEK,
label: 'lastWeekText',
dates:
new Date(dayjs().startOf('week').subtract(1, 'week').format()).toString() +
' - ' +
new Date(dayjs().endOf('week').subtract(1, 'week').format()).toString(),
},
{
key: LAST_MONTH,
label: 'lastThirtyDaysText',
dates:
new Date(dayjs().subtract(30, 'day').format()).toString() +
' - ' +
new Date(dayjs().format()).toString(),
},
{
key: PREV_MONTH,
label: 'lastMonthText',
dates:
new Date(dayjs().startOf('month').subtract(1, 'month').format()).toString() +
' - ' +
new Date(dayjs().endOf('month').subtract(1, 'month').format()).toString(),
},
{
key: LAST_QUARTER,
label: 'lastThreeMonthsText',
dates:
new Date(dayjs().subtract(3, 'month').format()).toString() +
' - ' +
new Date(dayjs().format()).toString(),
},
{
key: ALL_TIME,
label: 'allTimeText',
dates: '',
},
];

View File

@@ -0,0 +1,61 @@
// Sync with the backend
export enum SocketEvents {
LOGIN,
LOGOUT,
INVITATIONS_UPDATE,
NOTIFICATIONS_UPDATE,
TEAM_MEMBER_REMOVED,
TASK_COMMENTS_UPDATED,
QUICK_TASK,
QUICK_ASSIGNEES_UPDATE,
TASK_STATUS_CHANGE,
TASK_PRIORITY_CHANGE,
TASK_NAME_CHANGE,
TASK_LABELS_CHANGE,
CREATE_LABEL,
TASK_END_DATE_CHANGE,
TASK_START_DATE_CHANGE,
TASK_TIME_ESTIMATION_CHANGE,
TASK_DESCRIPTION_CHANGE,
GET_TASK_PROGRESS,
TASK_TIMER_START,
TASK_TIMER_STOP,
TASK_SORT_ORDER_CHANGE,
JOIN_OR_LEAVE_PROJECT_ROOM,
PROJECT_UPDATES_AVAILABLE,
TASK_SUBSCRIBERS_CHANGE,
PROJECT_SUBSCRIBERS_CHANGE,
TASK_PHASE_CHANGE,
ROADMAP_SORT_ORDER_CHANGE,
PHASE_START_DATE_CHANGE,
PHASE_END_DATE_CHANGE,
NEW_PROJECT_COMMENT_RECEIVED,
PROJECT_HEALTH_CHANGE,
PROJECT_START_DATE_CHANGE,
PROJECT_END_DATE_CHANGE,
PROJECT_STATUS_CHANGE,
PROJECT_CATEGORY_CHANGE,
CREATE_PROJECT_CATEGORY,
PT_QUICK_TASK,
PT_NAME_CHANGE,
PT_TASK_SORT_ORDER_CHANGE,
PT_TASK_NAME_CHANGE,
PT_TASK_TIME_ESTIMATION_CHANGE,
PT_TASK_DESCRIPTION_CHANGE,
PT_TASK_LABELS_CHANGE,
PT_CREATE_LABEL,
PT_TASK_PHASE_CHANGE,
PT_TASK_STATUS_CHANGE,
PT_TASK_PRIORITY_CHANGE,
GANNT_DRAG_CHANGE,
SCHEDULE_MEMBER_ALLOCATION_CREATE,
SCHEDULE_MEMBER_START_DATE_CHANGE,
SCHEDULE_MEMBER_END_DATE_CHANGE,
PROJECT_DATA_CHANGE,
TASK_BILLABLE_CHANGE,
TASK_RECURRING_CHANGE,
TASK_ASSIGNEES_CHANGE,
TASK_CUSTOM_COLUMN_UPDATE,
CUSTOM_COLUMN_PINNED_CHANGE,
TEAM_MEMBER_ROLE_CHANGE,
}

View File

@@ -0,0 +1,167 @@
// Analytics event constants organized by feature area
// Authentication & Login
export const evt_login_page_visit = 'login_page_visit';
export const evt_login_with_email_click = 'login_with_email_click';
export const evt_login_with_google_click = 'login_with_google_click';
export const evt_login_remember_me_click = 'login_remember_me_click';
// Registration & Signup
export const evt_signup_page_visit = 'signup_page_visit';
export const evt_signup_with_email_click = 'signup_with_email_click';
export const evt_signup_with_google_click = 'signup_with_google_click';
export const evt_forgot_password_page_visit = 'forgot_password_page_visit';
export const evt_verify_reset_email_page_visit = 'verify_reset_email_page_visit';
// Account Setup & Onboarding
export const evt_account_setup_visit = 'account_setup_visit';
export const evt_account_setup_complete = 'account_setup_complete';
export const evt_account_setup_skip_invite = 'account_setup_skip_invite';
export const evt_account_setup_template_complete = 'account_setup_template_complete';
// Password Management
export const evt_reset_password_click = 'reset_password_click';
// Project Management
export const evt_projects_page_visit = 'projects_page_visit';
export const evt_projects_create_click = 'projects_create_click';
export const evt_projects_create = 'projects_create';
export const evt_projects_refresh_click = 'projects_refresh_click';
export const evt_projects_search = 'projects_search';
export const evt_projects_archive = 'projects_archive';
export const evt_projects_unarchive = 'projects_unarchive';
export const evt_projects_settings_click = 'projects_settings_click';
export const evt_projects_archive_all = 'projects_archive_all';
export const evt_projects_unarchive_all = 'projects_unarchive_all';
// Project Views & Navigation
export const evt_project_board_visit = 'project_board_visit';
export const evt_project_workload_visit = 'project_workload_visit';
export const evt_project_roadmap_visit = 'project_roadmap_visit';
export const evt_project_insights_overview_visit = 'project_insights_overview_visit';
export const evt_project_insights_members_visit = 'project_insights_members_visit';
export const evt_project_insights_tasks_visit = 'project_insights_tasks_visit';
export const evt_project_files_visit = 'project_files_visit';
export const evt_project_members_visit = 'project_members_visit';
// Project Actions
export const evt_project_task_create = 'project_task_create';
export const evt_project_invite_members_click = 'project_invite_members_click';
export const evt_project_invite_members = 'project_invite_members';
export const evt_project_refresh_click = 'project_refresh_click';
export const evt_project_settings_click = 'project_settings_click';
export const evt_project_import_tasks_click = 'project_import_tasks_click';
export const evt_project_import_tasks = 'project_import_tasks';
export const evt_project_update = 'project_update';
// Board Interactions
export const evt_project_board_open_task = 'project_board_open_task';
export const evt_project_board_transition_task = 'project_board_transition_task';
export const evt_project_board_update_task_order = 'project_board_update_task_order';
export const evt_project_board_column_setting_click = 'project_board_column_setting_click';
export const evt_project_board_create_status_click = 'project_board_create_status_click';
export const evt_project_board_create_status = 'project_board_create_status';
export const evt_project_board_create_task_click = 'project_board_create_task_click';
// Task List Management
export const evt_project_task_list_visit = 'project_task_list_visit';
export const evt_project_task_list_show_archived = 'project_task_list_show_archived';
export const evt_project_task_list_bulk_change_status = 'project_task_list_bulk_change_status';
export const evt_project_task_list_bulk_change_priority = 'project_task_list_bulk_change_priority';
export const evt_project_task_list_bulk_change_phase = 'project_task_list_bulk_change_phase';
export const evt_project_task_list_bulk_update_labels = 'project_task_list_bulk_update_labels';
export const evt_project_task_list_bulk_assign_me = 'project_task_list_bulk_assign_me';
export const evt_project_task_list_bulk_assign_members = 'project_task_list_bulk_assign_members';
export const evt_project_task_list_bulk_archive = 'project_task_list_bulk_archive';
export const evt_project_task_list_bulk_delete = 'project_task_list_bulk_delete';
export const evt_project_task_list_context_menu_assign_me =
'project_task_list_context_menu_assign_me';
export const evt_project_task_list_context_menu_archive = 'project_task_list_context_menu_archive';
export const evt_project_task_list_context_menu_delete = 'project_task_list_context_menu_delete';
export const evt_project_task_list_create_task = 'project_task_list_create_task';
export const evt_project_task_list_create_subtask = 'project_task_list_create_subtask';
export const evt_project_task_list_open_task = 'project_task_list_open_task';
export const evt_project_task_list_drag_and_move = 'project_task_list_drag_and_move';
export const evt_project_task_list_show_fields = 'project_task_list_show_fields';
export const evt_project_task_list_search_task = 'project_task_list_search_task';
// Team & People Management
export const evt_people_page_visit = 'people_page_visit';
export const evt_people_refresh_click = 'people_refresh_click';
export const evt_people_search = 'people_search';
export const evt_people_create_click = 'people_create_click';
export const evt_people_click = 'people_click';
export const evt_people_create = 'people_create';
export const evt_people_delete = 'people_delete';
export const evt_people_activate = 'people_activate';
export const evt_people_deactivate = 'people_deactivate';
export const evt_project_import_from_template_click = 'project_import_from_template_click';
// Schedule & Planning
export const evt_schedule_page_visit = 'schedule_page_visit';
// Workload Management
export const evt_workload_drag_change_date = 'workload_drag_change_date';
export const evt_workload_drag_move = 'workload_drag_move';
export const evt_workload_task_open = 'workload_task_open';
// Roadmap Features
export const evt_roadmap_task_create = 'roadmap_task_create';
export const evt_roadmap_sub_task_create = 'roadmap_sub_task_create';
export const evt_roadmap_drag_change_date = 'roadmap_drag_change_date';
export const evt_roadmap_drag_move = 'roadmap_drag_move';
export const evt_roadmap_task_open = 'roadmap_task_open';
export const evt_roadmap_task_drag_n_sort = 'roadmap_task_drag_n_sort';
// Settings & Configuration
export const evt_settings_profile_visit = 'settings_profile_visit';
export const evt_settings_profile_avatar_upload = 'settings_profile_avatar_upload';
export const evt_settings_profile_name_change = 'settings_profile_name_change';
export const evt_settings_notifications_visit = 'settings_notifications_visit';
export const evt_settings_clients_visit = 'settings_clients_visit';
export const evt_settings_job_titles_visit = 'settings_job_titles_visit';
export const evt_settings_labels_visit = 'settings_labels_visit';
export const evt_settings_categories_visit = 'settings_categories_visit';
export const evt_settings_task_templates_visit = 'settings_task_templates_visit';
export const evt_settings_teams_visit = 'settings_teams_visit';
export const evt_settings_change_password_visit = 'settings_change_password_visit';
export const evt_settings_language_and_region_visit = 'settings_language_and_region_visit';
export const evt_settings_language_changed = 'settings_language_changed';
export const evt_settings_profile_update = 'settings_profile_update';
export const evt_settings_notifications_update = 'settings_notifications_update';
export const evt_settings_clients_create = 'settings_clients_create';
export const evt_settings_job_titles_create = 'settings_job_titles_create';
export const evt_settings_labels_delete = 'settings_labels_delete';
export const evt_settings_category_delete = 'settings_category_delete';
export const evt_settings_task_templates_delete = 'settings_task_templates_delete';
export const evt_settings_profile_picture_update = 'settings_profile_picture_update';
// Common Actions
export const evt_common_switch_team = 'common_switch_team';
export const evt_common_display_notifications = 'common_display_notifications';
export const evt_common_logout = 'common_logout';
// Analytics & Reporting
export const evt_reporting_overview = 'reporting_overview_visit';
export const evt_reporting_allocation = 'reporting_allocation_visit';
export const evt_reporting_projects_overview = 'reporting_projects_overview_visit';
export const evt_reporting_projects_custom = 'reporting_projects_custom_visit';
// Billing & Subscription
export const evt_billing_current_bill = 'billing_current_bill';
export const evt_billing_configuration = 'billing_configuration';
export const evt_billing_view_plans_modal = 'billing_view_plans_modal';
export const evt_billing_pause_plan = 'billing_pause_plan';
export const evt_billing_resume_plan = 'billing_resume_plan';
export const evt_billing_add_more_seats = 'billing_add_more_seats';
// Admin Center
export const evt_admin_center_teams_visit = 'admin_center_teams_visit';
export const evt_admin_center_users_visit = 'admin_center_users_visit';
export const evt_admin_center_overview_visit = 'admin_center_overview_visit';
export const evt_admin_center_teams_delete = 'admin_center_teams_delete';
export const evt_admin_center_team_settings = 'admin_center_team_settings';
export const evt_admin_center_projects_visit = 'admin_center_projects_visit';
// Project Preferences
export const evt_project_default_view_pinned = 'pin_default_project_view';