diff --git a/admin/app/page.tsx b/admin/app/page.tsx index b402fc44d39..1a274025a0a 100644 --- a/admin/app/page.tsx +++ b/admin/app/page.tsx @@ -7,15 +7,15 @@ import { DefaultLayout } from "@/layouts/default-layout"; export const metadata: Metadata = { title: "Plane | Simple, extensible, open-source project management tool.", description: - "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind.", + "Open-source project management tool to manage work items, sprints, and product roadmaps with peace of mind.", openGraph: { title: "Plane | Simple, extensible, open-source project management tool.", description: - "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind.", + "Open-source project management tool to manage work items, sprints, and product roadmaps with peace of mind.", url: "https://plane.so/", }, keywords: - "software development, customer feedback, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration", + "software development, customer feedback, software, accelerate, code management, release management, project management, work items tracking, agile, scrum, kanban, collaboration", twitter: { site: "@planepowers", }, diff --git a/packages/constants/src/analytics.ts b/packages/constants/src/analytics.ts index 69ac2dbe8df..6c8211ae0ab 100644 --- a/packages/constants/src/analytics.ts +++ b/packages/constants/src/analytics.ts @@ -65,7 +65,7 @@ export const ANALYTICS_Y_AXIS_VALUES: { value: TYAxisValues; label: string }[] = [ { value: "issue_count", - label: "Issue Count", + label: "Work item Count", }, { value: "estimate", diff --git a/packages/constants/src/event-tracker.ts b/packages/constants/src/event-tracker.ts index cd2e1c3bec6..4fb1ea15c21 100644 --- a/packages/constants/src/event-tracker.ts +++ b/packages/constants/src/event-tracker.ts @@ -104,7 +104,10 @@ export const getIssueEventPayload = (props: IssueEventProps) => { module_id: payload.module_id, archived_at: payload.archived_at, state: payload.state, - view_id: path?.includes("workspace-views") || path?.includes("views") ? path.split("/").pop() : "", + view_id: + path?.includes("workspace-views") || path?.includes("views") + ? path.split("/").pop() + : "", }; if (eventName === ISSUE_UPDATED) { @@ -166,12 +169,12 @@ export const MODULE_LINK_CREATED = "Module link created"; export const MODULE_LINK_UPDATED = "Module link updated"; export const MODULE_LINK_DELETED = "Module link deleted"; // Issue Events -export const ISSUE_CREATED = "Issue created"; -export const ISSUE_UPDATED = "Issue updated"; -export const ISSUE_DELETED = "Issue deleted"; -export const ISSUE_ARCHIVED = "Issue archived"; -export const ISSUE_RESTORED = "Issue restored"; -export const ISSUE_OPENED = "Issue opened"; +export const ISSUE_CREATED = "Work item created"; +export const ISSUE_UPDATED = "Work item updated"; +export const ISSUE_DELETED = "Work item deleted"; +export const ISSUE_ARCHIVED = "Work item archived"; +export const ISSUE_RESTORED = "Work item restored"; +export const ISSUE_OPENED = "Work item opened"; // Project State Events export const STATE_CREATED = "State created"; export const STATE_UPDATED = "State updated"; diff --git a/packages/constants/src/metadata.ts b/packages/constants/src/metadata.ts index b3563882678..017cc84c252 100644 --- a/packages/constants/src/metadata.ts +++ b/packages/constants/src/metadata.ts @@ -3,9 +3,9 @@ export const SITE_NAME = export const SITE_TITLE = "Plane | Simple, extensible, open-source project management tool."; export const SITE_DESCRIPTION = - "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind."; + "Open-source project management tool to manage work items, cycles, and product roadmaps easily"; export const SITE_KEYWORDS = - "software development, plan, ship, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration"; + "software development, plan, ship, software, accelerate, code management, release management, project management, work items tracking, agile, scrum, kanban, collaboration"; export const SITE_URL = "https://app.plane.so/"; export const TWITTER_USER_NAME = "Plane | Simple, extensible, open-source project management tool."; @@ -18,6 +18,6 @@ export const SPACE_SITE_TITLE = export const SPACE_SITE_DESCRIPTION = "Plane Publish is a customer feedback management tool built on top of plane.so"; export const SPACE_SITE_KEYWORDS = - "software development, customer feedback, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration"; + "software development, customer feedback, software, accelerate, code management, release management, project management, work items tracking, agile, scrum, kanban, collaboration"; export const SPACE_SITE_URL = "https://app.plane.so/"; export const SPACE_TWITTER_USER_NAME = "planepowers"; diff --git a/packages/i18n/src/locales/en/translations.json b/packages/i18n/src/locales/en/translations.json index ddd364e0e77..bff3397ecce 100644 --- a/packages/i18n/src/locales/en/translations.json +++ b/packages/i18n/src/locales/en/translations.json @@ -675,7 +675,7 @@ }, "add": { "press_enter": "Press 'Enter' to add another work item", - "label": "Add Work item", + "label": "Add work item", "cycle": { "failed": "Work item could not be added to the cycle. Please try again.", "success": "{count, plural, one {Work item} other {Work items}} added to the cycle successfully.", @@ -1911,7 +1911,7 @@ "sales_or_business_development": "Sales / Business Development", "support_or_operations": "Support / Operations", "student_or_professor": "Student / Professor", - "human_or_resources": "Human / Resources", + "human_resources": "Human / Resources", "other": "Other" }, diff --git a/packages/i18n/src/locales/es/translations.json b/packages/i18n/src/locales/es/translations.json index e7cfdc29a6b..17873b42b86 100644 --- a/packages/i18n/src/locales/es/translations.json +++ b/packages/i18n/src/locales/es/translations.json @@ -1911,7 +1911,7 @@ "sales_or_business_development": "Sales / Business Development", "support_or_operations": "Support / Operations", "student_or_professor": "Student / Professor", - "human_or_resources": "Human / Resources", + "human_resources": "Human / Resources", "other": "Otro" }, diff --git a/packages/i18n/src/locales/fr/translations.json b/packages/i18n/src/locales/fr/translations.json index 77201173f0c..5db24edf6d6 100644 --- a/packages/i18n/src/locales/fr/translations.json +++ b/packages/i18n/src/locales/fr/translations.json @@ -1911,7 +1911,7 @@ "sales_or_business_development": "Venté / Développement Commercialé", "support_or_operations": "Supporté / Opérationé", "student_or_professor": "Étudianté / Professeué", - "human_or_resources": "Ressourcés Humainé", + "human_resources": "Ressourcés Humainé", "other": "Autré" }, diff --git a/packages/i18n/src/locales/ja/translations.json b/packages/i18n/src/locales/ja/translations.json index d6377892416..e7226961b5c 100644 --- a/packages/i18n/src/locales/ja/translations.json +++ b/packages/i18n/src/locales/ja/translations.json @@ -1911,7 +1911,7 @@ "sales_or_business_development": "営業/ビジネス開発", "support_or_operations": "サポート/オペレーション", "student_or_professor": "学生/教授", - "human_or_resources": "人事/リソース", + "human_resources": "人事/リソース", "other": "その他" }, diff --git a/packages/i18n/src/locales/zh-CN/translations.json b/packages/i18n/src/locales/zh-CN/translations.json index 7fb893cb310..4f616a49fa4 100644 --- a/packages/i18n/src/locales/zh-CN/translations.json +++ b/packages/i18n/src/locales/zh-CN/translations.json @@ -1911,7 +1911,7 @@ "sales_or_business_development": "销售 / 商业发展", "support_or_operations": "支持 / 运营", "student_or_professor": "学生 / 教授", - "human_or_resources": "人力 / 资源", + "human_resources": "人力 / 资源", "other": "其他" }, diff --git a/web/app/[workspaceSlug]/(projects)/drafts/header.tsx b/web/app/[workspaceSlug]/(projects)/drafts/header.tsx index 8c2d8954877..5e1cc66ef60 100644 --- a/web/app/[workspaceSlug]/(projects)/drafts/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/drafts/header.tsx @@ -23,7 +23,7 @@ export const WorkspaceDraftHeader = observer(() => { const { joinedProjectIds } = useProject(); const { t } = useTranslation(); - // check if user is authorized to create draft issue + // check if user is authorized to create draft work item const isAuthorizedUser = allowPermissions( [EUserPermissions.ADMIN, EUserPermissions.MEMBER], EUserPermissionsLevel.WORKSPACE diff --git a/web/app/[workspaceSlug]/(projects)/notifications/page.tsx b/web/app/[workspaceSlug]/(projects)/notifications/page.tsx index 315449618c8..8afe768d80c 100644 --- a/web/app/[workspaceSlug]/(projects)/notifications/page.tsx +++ b/web/app/[workspaceSlug]/(projects)/notifications/page.tsx @@ -41,7 +41,7 @@ const WorkspaceDashboardPage = observer(() => { notificationLiteByNotificationId(currentSelectedNotificationId); const resolvedPath = useResolvedAssetPath({ basePath: "/empty-state/intake/issue-detail" }); - // fetching workspace issue properties + // fetching workspace work item properties useWorkspaceIssueProperties(workspaceSlug); // fetch workspace notifications diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx index 639da9a9610..b7cc14ee833 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/header.tsx @@ -27,7 +27,7 @@ const PROJECT_ARCHIVES_BREADCRUMB_LIST: { }; } = { issues: { - label: "Issues", + label: "Work items", href: "/issues", icon: LayersIcon, }, @@ -92,7 +92,7 @@ export const ProjectArchivesHeader: FC = observer((props: TProps) => { {activeTab === "issues" && issueCount && issueCount > 0 ? ( 1 ? "issues" : "issue"} in project's archived`} + tooltipContent={`There are ${issueCount} ${issueCount > 1 ? "work items" : "work item"} in project's archived`} position="bottom" > diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx index 57b12d63261..877b5d5cd5d 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/archives/issues/(detail)/header.tsx @@ -52,7 +52,7 @@ export const ProjectArchivedIssueDetailsHeader = observer(() => { link={ } /> } diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx index 101c2dcdc8d..1f94184845e 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/cycles/(detail)/header.tsx @@ -7,7 +7,14 @@ import { useParams } from "next/navigation"; // icons import { ArrowRight, PanelRight } from "lucide-react"; // plane constants -import { EIssueLayoutTypes, EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_PAGE , EUserPermissions, EUserPermissionsLevel} from "@plane/constants"; +import { + EIssueLayoutTypes, + EIssueFilterType, + EIssuesStoreType, + ISSUE_DISPLAY_FILTERS_BY_PAGE, + EUserPermissions, + EUserPermissionsLevel, +} from "@plane/constants"; // i18n import { useTranslation } from "@plane/i18n"; // types @@ -204,7 +211,7 @@ export const CycleIssuesHeader: React.FC = observer(() => { 1 ? "issues" : "issue" + issuesCount > 1 ? "work items" : "work item" } in this cycle`} position="bottom" > @@ -283,7 +290,7 @@ export const CycleIssuesHeader: React.FC = observer(() => { @@ -40,4 +40,4 @@ const ProjectDraftIssuesPage = observer(() => { ); }); -export default ProjectDraftIssuesPage; \ No newline at end of file +export default ProjectDraftIssuesPage; diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(detail)/[issueId]/page.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(detail)/[issueId]/page.tsx index 3dbcaccb1de..ffc50ccb472 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(detail)/[issueId]/page.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/issues/(detail)/[issueId]/page.tsx @@ -35,7 +35,7 @@ const IssueDetailsPage = observer(() => { } = useIssueDetail(); const { getProjectById } = useProject(); const { toggleIssueDetailSidebar, issueDetailSidebarCollapsed } = useAppTheme(); - // fetching issue details + // fetching work item details const { isLoading, error } = useSWR( workspaceSlug && projectId && issueId ? `ISSUE_DETAIL_${workspaceSlug}_${projectId}_${issueId}` : null, workspaceSlug && projectId && issueId diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx index 3414c98f28e..68aef255ae2 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/modules/(detail)/header.tsx @@ -206,7 +206,7 @@ export const ModuleIssuesHeader: React.FC = observer(() => { 1 ? "issues" : "issue" + issuesCount > 1 ? "work items" : "work item" } in this module`} position="bottom" > @@ -289,12 +289,12 @@ export const ModuleIssuesHeader: React.FC = observer(() => { ) : ( diff --git a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx index 6efaaebf3dd..eec7a2c3ef6 100644 --- a/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx +++ b/web/app/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/views/(detail)/[viewId]/header.tsx @@ -282,7 +282,7 @@ export const ProjectViewIssuesHeader: React.FC = observer(() => { }} size="sm" > - Add issue + Add work item ) : ( <> diff --git a/web/app/layout.tsx b/web/app/layout.tsx index ef49bee187b..71b7b71d28a 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -18,12 +18,11 @@ export const metadata: Metadata = { description: SITE_DESCRIPTION, openGraph: { title: "Plane | Simple, extensible, open-source project management tool.", - description: - "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind.", + description: "Open-source project management tool to manage work items, cycles, and product roadmaps easily", url: "https://app.plane.so/", }, keywords: - "software development, plan, ship, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration", + "software development, plan, ship, software, accelerate, code management, release management, project management, work item tracking, agile, scrum, kanban, collaboration", twitter: { site: "@planepowers", }, diff --git a/web/app/workspace-invitations/page.tsx b/web/app/workspace-invitations/page.tsx index a6829019892..8d981fff42d 100644 --- a/web/app/workspace-invitations/page.tsx +++ b/web/app/workspace-invitations/page.tsx @@ -82,7 +82,7 @@ const WorkspaceInvitationPage = observer(() => { ) : ( @@ -92,14 +92,14 @@ const WorkspaceInvitationPage = observer(() => { invitationDetail?.accepted ? ( ) : ( {!currentUser ? ( diff --git a/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx b/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx index b832aa5952f..262d95f02e0 100644 --- a/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx +++ b/web/ce/components/active-cycles/workspace-active-cycles-upgrade.tsx @@ -40,7 +40,7 @@ export const WORKSPACE_ACTIVE_CYCLES_DETAILS = [ key: "quickly_see_make_or_break_issues", title: "Quickly see make-or-break issues. ", description: - "Preview high-priority issues for each cycle against due dates. See all of them per cycle in one click.", + "Preview high-priority work items for each cycle against due dates. See all of them per cycle in one click.", icon: AlertOctagon, }, { diff --git a/web/ce/components/cycles/analytics-sidebar/base.tsx b/web/ce/components/cycles/analytics-sidebar/base.tsx index 87f07e387c0..551d0ad53ac 100644 --- a/web/ce/components/cycles/analytics-sidebar/base.tsx +++ b/web/ce/components/cycles/analytics-sidebar/base.tsx @@ -80,7 +80,7 @@ export const SidebarChart: FC = observer((props) => { startDate={cycleStartDate} endDate={cycleEndDate} totalIssues={estimateType === "points" ? totalEstimatePoints : totalIssues} - plotTitle={estimateType === "points" ? "points" : "issues"} + plotTitle={estimateType === "points" ? "points" : "work items"} /> ) : ( diff --git a/web/ce/components/issues/header.tsx b/web/ce/components/issues/header.tsx index 4e567874e7e..7aeba483c03 100644 --- a/web/ce/components/issues/header.tsx +++ b/web/ce/components/issues/header.tsx @@ -5,7 +5,7 @@ import { useParams } from "next/navigation"; // icons import { Circle, ExternalLink } from "lucide-react"; // plane constants -import { EIssuesStoreType,EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; +import { EIssuesStoreType, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui import { Breadcrumbs, Button, LayersIcon, Tooltip, Header } from "@plane/ui"; @@ -104,7 +104,7 @@ export const IssuesHeader = observer(() => { {canUserCreateIssue ? ( )} diff --git a/web/core/components/cycles/active-cycle/cycle-stats.tsx b/web/core/components/cycles/active-cycle/cycle-stats.tsx index b9cf267a62f..b9e96d559f3 100644 --- a/web/core/components/cycles/active-cycle/cycle-stats.tsx +++ b/web/core/components/cycles/active-cycle/cycle-stats.tsx @@ -126,7 +126,7 @@ export const ActiveCycleStats: FC = observer((props) => { ) } > - Priority Issues + Priority work items diff --git a/web/core/components/cycles/active-cycle/productivity.tsx b/web/core/components/cycles/active-cycle/productivity.tsx index 859c3015435..99946c131db 100644 --- a/web/core/components/cycles/active-cycle/productivity.tsx +++ b/web/core/components/cycles/active-cycle/productivity.tsx @@ -87,7 +87,7 @@ export const ActiveCycleProductivity: FC = observe startDate={cycle.start_date ?? ""} endDate={cycle.end_date ?? ""} totalIssues={cycle.total_issues || 0} - plotTitle={"issues"} + plotTitle={"work items"} /> )} diff --git a/web/core/components/cycles/active-cycle/progress.tsx b/web/core/components/cycles/active-cycle/progress.tsx index 0f2c5a419aa..73babfc4843 100644 --- a/web/core/components/cycles/active-cycle/progress.tsx +++ b/web/core/components/cycles/active-cycle/progress.tsx @@ -51,7 +51,7 @@ export const ActiveCycleProgress: FC = observer((props {cycle.total_issues > 0 && ( {`${cycle.completed_issues + cycle.cancelled_issues}/${cycle.total_issues - cycle.cancelled_issues} ${ - cycle.completed_issues + cycle.cancelled_issues > 1 ? "Issues" : "Issue" + cycle.completed_issues + cycle.cancelled_issues > 1 ? "Work items" : "Work item" } closed`} )} @@ -84,7 +84,7 @@ export const ActiveCycleProgress: FC = observer((props {group} {`${groupedIssues[group]} ${ - groupedIssues[group] > 1 ? "Issues" : "Issue" + groupedIssues[group] > 1 ? "Work items" : "Work item" }`} @@ -95,7 +95,7 @@ export const ActiveCycleProgress: FC = observer((props {`${cycle.cancelled_issues} cancelled ${ - cycle.cancelled_issues > 1 ? "issues are" : "issue is" + cycle.cancelled_issues > 1 ? "work items are" : "work item is" } excluded from this report.`}{" "} diff --git a/web/core/components/cycles/analytics-sidebar/issue-progress.tsx b/web/core/components/cycles/analytics-sidebar/issue-progress.tsx index 0efdaded511..f231693ce66 100644 --- a/web/core/components/cycles/analytics-sidebar/issue-progress.tsx +++ b/web/core/components/cycles/analytics-sidebar/issue-progress.tsx @@ -30,7 +30,7 @@ type Options = { }; export const cycleEstimateOptions: Options[] = [ - { value: "issues", label: "Issues" }, + { value: "issues", label: "Work items" }, { value: "points", label: "Points" }, ]; export const cycleChartOptions: Options[] = [ diff --git a/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx b/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx index c60b5dae95c..8cd65db5cbf 100644 --- a/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx +++ b/web/core/components/cycles/analytics-sidebar/sidebar-details.tsx @@ -32,10 +32,10 @@ export const CycleSidebarDetails: FC = observer((props) => { const issueCount = isCompleted && !isEmpty(cycleDetails?.progress_snapshot) ? cycleDetails?.progress_snapshot?.total_issues === 0 - ? "0 Issue" + ? "0 Work item" : `${cycleDetails?.progress_snapshot?.completed_issues}/${cycleDetails?.progress_snapshot?.total_issues}` : cycleDetails?.total_issues === 0 - ? "0 Issue" + ? "0 Work item" : `${cycleDetails?.completed_issues}/${cycleDetails?.total_issues}`; const estimateType = areEstimateEnabled && currentActiveEstimateId && estimateById(currentActiveEstimateId); const cycleOwnerDetails = cycleDetails ? getUserDetails(cycleDetails.owned_by_id) : undefined; @@ -51,10 +51,10 @@ export const CycleSidebarDetails: FC = observer((props) => { const issueEstimatePointCount = isCompleted && !isEmpty(cycleDetails?.progress_snapshot) ? cycleDetails?.progress_snapshot.total_issues === 0 - ? "0 Issue" + ? "0 Work item" : `${cycleDetails?.progress_snapshot.completed_estimate_points}/${cycleDetails?.progress_snapshot.total_estimate_points}` : cycleDetails?.total_issues === 0 - ? "0 Issue" + ? "0 Work item" : `${cycleDetails?.completed_estimate_points}/${cycleDetails?.total_estimate_points}`; return (
diff --git a/web/core/components/cycles/list/cycle-list-item-action.tsx b/web/core/components/cycles/list/cycle-list-item-action.tsx index cc0d77a19e9..dfcd6b4b309 100644 --- a/web/core/components/cycles/list/cycle-list-item-action.tsx +++ b/web/core/components/cycles/list/cycle-list-item-action.tsx @@ -6,7 +6,7 @@ import { useParams, usePathname, useSearchParams } from "next/navigation"; import { Controller, useForm } from "react-hook-form"; import { Eye, Users } from "lucide-react"; // types -import { CYCLE_FAVORITED, CYCLE_UNFAVORITED , EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; +import { CYCLE_FAVORITED, CYCLE_UNFAVORITED, EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { ICycle, TCycleGroups } from "@plane/types"; // ui import { @@ -257,7 +257,7 @@ export const CycleListItemAction: FC = observer((props) => { }} > - Transfer {cycleDetails.pending_issues} issues + Transfer {cycleDetails.pending_issues} work items
)} diff --git a/web/core/components/cycles/transfer-issues-modal.tsx b/web/core/components/cycles/transfer-issues-modal.tsx index 0e9b56c0f75..50cb47b7314 100644 --- a/web/core/components/cycles/transfer-issues-modal.tsx +++ b/web/core/components/cycles/transfer-issues-modal.tsx @@ -41,7 +41,7 @@ export const TransferIssuesModal: React.FC = observer((props) => { setToast({ type: TOAST_TYPE.SUCCESS, title: "Success!", - message: "Issues have been transferred successfully", + message: "Work items have been transferred successfully", }); await getCycleDetails(payload.new_cycle_id); }) @@ -114,7 +114,7 @@ export const TransferIssuesModal: React.FC = observer((props) => {
-

Transfer Issues

+

Transfer work items

)} diff --git a/web/core/components/dashboard/project-empty-state.tsx b/web/core/components/dashboard/project-empty-state.tsx index 5ac091b5e48..eb06d21be00 100644 --- a/web/core/components/dashboard/project-empty-state.tsx +++ b/web/core/components/dashboard/project-empty-state.tsx @@ -23,7 +23,7 @@ export const DashboardProjectEmptyState = observer(() => {

Overview of your projects, activity, and metrics

- Welcome to Plane, we are excited to have you here. Create your first project and track your issues, and this + Welcome to Plane, we are excited to have you here. Create your first project and track your work items, and this page will transform into a space that helps you progress. Admins will also see items which help their team progress.

diff --git a/web/core/components/dashboard/widgets/empty-states/assigned-issues.tsx b/web/core/components/dashboard/widgets/empty-states/assigned-issues.tsx index 1ab091a8b1e..169547846e4 100644 --- a/web/core/components/dashboard/widgets/empty-states/assigned-issues.tsx +++ b/web/core/components/dashboard/widgets/empty-states/assigned-issues.tsx @@ -10,22 +10,22 @@ import UpcomingIssuesLight from "@/public/empty-state/dashboard/light/upcoming-i export const ASSIGNED_ISSUES_EMPTY_STATES = { pending: { - title: "Issues assigned to you that are pending\nwill show up here.", + title: "Work items assigned to you that are pending\nwill show up here.", darkImage: UpcomingIssuesDark, lightImage: UpcomingIssuesLight, }, upcoming: { - title: "Upcoming issues assigned to\nyou will show up here.", + title: "Upcoming work items assigned to\nyou will show up here.", darkImage: UpcomingIssuesDark, lightImage: UpcomingIssuesLight, }, overdue: { - title: "Issues assigned to you that are past\ntheir due date will show up here.", + title: "Work items assigned to you that are past\ntheir due date will show up here.", darkImage: OverdueIssuesDark, lightImage: OverdueIssuesLight, }, completed: { - title: "Issues assigned to you that you have\nmarked Completed will show up here.", + title: "Work items assigned to you that you have\nmarked Completed will show up here.", darkImage: CompletedIssuesDark, lightImage: CompletedIssuesLight, }, @@ -47,7 +47,7 @@ export const AssignedIssuesEmptyState: React.FC = (props) => { return (
- Assigned issues + Assigned work items

{typeDetails.title}

diff --git a/web/core/components/dashboard/widgets/empty-states/created-issues.tsx b/web/core/components/dashboard/widgets/empty-states/created-issues.tsx index bf698d28087..49a96f1fb3b 100644 --- a/web/core/components/dashboard/widgets/empty-states/created-issues.tsx +++ b/web/core/components/dashboard/widgets/empty-states/created-issues.tsx @@ -10,22 +10,22 @@ import UpcomingIssuesLight from "@/public/empty-state/dashboard/light/upcoming-i export const CREATED_ISSUES_EMPTY_STATES = { pending: { - title: "Issues created by you that are pending\nwill show up here.", + title: "Work items created by you that are pending\nwill show up here.", darkImage: UpcomingIssuesDark, lightImage: UpcomingIssuesLight, }, upcoming: { - title: "Upcoming issues you created\nwill show up here.", + title: "Upcoming work items you created\nwill show up here.", darkImage: UpcomingIssuesDark, lightImage: UpcomingIssuesLight, }, overdue: { - title: "Issues created by you that are past their\ndue date will show up here.", + title: "Work items created by you that are past their\ndue date will show up here.", darkImage: OverdueIssuesDark, lightImage: OverdueIssuesLight, }, completed: { - title: "Issues created by you that you have\nmarked completed will show up here.", + title: "Work items created by you that you have\nmarked completed will show up here.", darkImage: CompletedIssuesDark, lightImage: CompletedIssuesLight, }, @@ -47,7 +47,7 @@ export const CreatedIssuesEmptyState: React.FC = (props) => { return (
- Assigned issues + Assigned work items

{typeDetails.title}

diff --git a/web/core/components/dashboard/widgets/empty-states/issues-by-priority.tsx b/web/core/components/dashboard/widgets/empty-states/issues-by-priority.tsx index 262c68d699a..7f70d3bf303 100644 --- a/web/core/components/dashboard/widgets/empty-states/issues-by-priority.tsx +++ b/web/core/components/dashboard/widgets/empty-states/issues-by-priority.tsx @@ -13,10 +13,10 @@ export const IssuesByPriorityEmptyState = () => { return (
- Issues by state group + Work items by state group

- Issues assigned to you, broken down by + Work items assigned to you, broken down by
priority will show up here.

diff --git a/web/core/components/dashboard/widgets/empty-states/issues-by-state-group.tsx b/web/core/components/dashboard/widgets/empty-states/issues-by-state-group.tsx index ad7ac82b82a..69d4761e5ec 100644 --- a/web/core/components/dashboard/widgets/empty-states/issues-by-state-group.tsx +++ b/web/core/components/dashboard/widgets/empty-states/issues-by-state-group.tsx @@ -13,10 +13,10 @@ export const IssuesByStateGroupEmptyState = () => { return (
- Issues by state group + Work items by state group

- Issue assigned to you, broken down by state, + Work items assigned to you, broken down by state,
will show up here.

diff --git a/web/core/components/dashboard/widgets/empty-states/recent-activity.tsx b/web/core/components/dashboard/widgets/empty-states/recent-activity.tsx index 6daeae5a719..f25f3992088 100644 --- a/web/core/components/dashboard/widgets/empty-states/recent-activity.tsx +++ b/web/core/components/dashboard/widgets/empty-states/recent-activity.tsx @@ -13,10 +13,10 @@ export const RecentActivityEmptyState = () => { return (
- Issues by state group + Work items by state group

- All your issue activities across + All your work items activities across
projects will show up here.

diff --git a/web/core/components/dashboard/widgets/issue-panels/issues-list.tsx b/web/core/components/dashboard/widgets/issue-panels/issues-list.tsx index 2b31d8f27b3..925e2ee9af8 100644 --- a/web/core/components/dashboard/widgets/issue-panels/issues-list.tsx +++ b/web/core/components/dashboard/widgets/issue-panels/issues-list.tsx @@ -83,7 +83,7 @@ export const WidgetIssuesList: React.FC = (props) => { "col-span-9": type === "created" && tab === "completed", })} > - Issues + Work items {widgetStats.count} @@ -126,7 +126,7 @@ export const WidgetIssuesList: React.FC = (props) => { "w-min my-3 mx-auto py-1 px-2 text-xs hover:bg-custom-primary-100/20" )} > - View all issues + View all work items )} diff --git a/web/core/components/dashboard/widgets/issues-by-state-group.tsx b/web/core/components/dashboard/widgets/issues-by-state-group.tsx index 6dbcc39c4dc..fec4204cfc3 100644 --- a/web/core/components/dashboard/widgets/issues-by-state-group.tsx +++ b/web/core/components/dashboard/widgets/issues-by-state-group.tsx @@ -29,7 +29,7 @@ export const STATE_GROUP_GRAPH_COLORS: Record = { completed: "#3E9B4F", cancelled: "#E5484D", }; -// colors for issues by state group widget graph arcs +// colors for work items by state group widget graph arcs export const STATE_GROUP_GRAPH_GRADIENTS = [ linearGradientDef("gradientBacklog", [ { offset: 0, color: "#DEDEDE" }, diff --git a/web/core/components/dashboard/widgets/overview-stats.tsx b/web/core/components/dashboard/widgets/overview-stats.tsx index 62200102777..20421f33b49 100644 --- a/web/core/components/dashboard/widgets/overview-stats.tsx +++ b/web/core/components/dashboard/widgets/overview-stats.tsx @@ -30,25 +30,25 @@ export const OverviewStatsWidget: React.FC = observer((props) => { const STATS_LIST = [ { key: "assigned", - title: "Issues assigned", + title: "Work items assigned", count: widgetStats?.assigned_issues_count, link: `/${workspaceSlug}/workspace-views/assigned`, }, { key: "overdue", - title: "Issues overdue", + title: "Work items overdue", count: widgetStats?.pending_issues_count, link: `/${workspaceSlug}/workspace-views/assigned/?state_group=backlog,unstarted,started&target_date=${today};before`, }, { key: "created", - title: "Issues created", + title: "Work items created", count: widgetStats?.created_issues_count, link: `/${workspaceSlug}/workspace-views/created`, }, { key: "completed", - title: "Issues completed", + title: "Work items completed", count: widgetStats?.completed_issues_count, link: `/${workspaceSlug}/workspace-views/assigned?state_group=completed`, }, diff --git a/web/core/components/dashboard/widgets/recent-activity.tsx b/web/core/components/dashboard/widgets/recent-activity.tsx index dd21815ccce..84ac985e10c 100644 --- a/web/core/components/dashboard/widgets/recent-activity.tsx +++ b/web/core/components/dashboard/widgets/recent-activity.tsx @@ -40,7 +40,7 @@ export const RecentActivityWidget: React.FC = observer((props) => { return ( - Your issue activities + Your work item activities {widgetStats.length > 0 ? (
diff --git a/web/core/components/dashboard/widgets/recent-collaborators/collaborators-list.tsx b/web/core/components/dashboard/widgets/recent-collaborators/collaborators-list.tsx index 2dc1f0d3d99..415809e0433 100644 --- a/web/core/components/dashboard/widgets/recent-collaborators/collaborators-list.tsx +++ b/web/core/components/dashboard/widgets/recent-collaborators/collaborators-list.tsx @@ -47,7 +47,7 @@ const CollaboratorListItem: React.FC = observer((prop {isCurrentUser ? "You" : userDetails?.display_name}

- {issueCount} active issue{issueCount > 1 ? "s" : ""} + {issueCount} active work items{issueCount > 1 ? "s" : ""}

); diff --git a/web/core/components/estimates/delete/modal.tsx b/web/core/components/estimates/delete/modal.tsx index 5ad704249f4..fffea41942a 100644 --- a/web/core/components/estimates/delete/modal.tsx +++ b/web/core/components/estimates/delete/modal.tsx @@ -63,8 +63,8 @@ export const DeleteEstimateModal: FC = observer((props) =>
Deleting the estimate {estimate?.name} -  system will remove it from all issues permanently. This action cannot be undone. If you add estimates - again, you will need to update all the issues. +  system will remove it from all work items permanently. This action cannot be undone. If you add + estimates again, you will need to update all the issues.
diff --git a/web/core/components/graphs/issues-by-priority.tsx b/web/core/components/graphs/issues-by-priority.tsx index a4b2e6156f2..faed3709ec6 100644 --- a/web/core/components/graphs/issues-by-priority.tsx +++ b/web/core/components/graphs/issues-by-priority.tsx @@ -7,7 +7,7 @@ import { BarGraph } from "@/components/ui"; // helpers import { capitalizeFirstLetter } from "@/helpers/string.helper"; -// gradients for issues by priority widget graph bars +// gradients for work items by priority widget graph bars export const PRIORITY_GRAPH_GRADIENTS = [ linearGradientDef( "gradient_urgent", diff --git a/web/core/components/inbox/content/inbox-issue-header.tsx b/web/core/components/inbox/content/inbox-issue-header.tsx index 76d4e9cf249..375f56d9345 100644 --- a/web/core/components/inbox/content/inbox-issue-header.tsx +++ b/web/core/components/inbox/content/inbox-issue-header.tsx @@ -402,7 +402,7 @@ export const InboxIssueActionsHeader: FC = observer((p handleActionWithPermission( isProjectAdmin, () => setSelectDuplicateIssue(true), - "Only project admins can mark issues as duplicate" + "Only project admins can mark work item as duplicate" ) } > diff --git a/web/core/components/inbox/content/inbox-issue-mobile-header.tsx b/web/core/components/inbox/content/inbox-issue-mobile-header.tsx index 987a663a5ea..d157c1a392a 100644 --- a/web/core/components/inbox/content/inbox-issue-mobile-header.tsx +++ b/web/core/components/inbox/content/inbox-issue-mobile-header.tsx @@ -127,7 +127,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) =
- Copy issue link + Copy work item link
)} @@ -139,7 +139,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) = >
- Open issue + Open work item
)} @@ -149,7 +149,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) = handleActionWithPermission( isProjectAdmin, handleIssueSnoozeAction, - "Only project admins can snooze/Un-snooze issues" + "Only project admins can snooze/Un-snooze work items" ) } > @@ -165,7 +165,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) = handleActionWithPermission( isProjectAdmin, () => setSelectDuplicateIssue(true), - "Only project admins can mark issues as duplicate" + "Only project admins can mark work items as duplicate" ) } > @@ -181,7 +181,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) = handleActionWithPermission( isProjectAdmin, () => setAcceptIssueModal(true), - "Only project admins can accept issues" + "Only project admins can accept work items" ) } > @@ -197,7 +197,7 @@ export const InboxIssueActionsMobileHeader: React.FC = observer((props) = handleActionWithPermission( isProjectAdmin, () => setDeclineIssueModal(true), - "Only project admins can deny issues" + "Only project admins can deny work items" ) } > diff --git a/web/core/components/inbox/content/issue-root.tsx b/web/core/components/inbox/content/issue-root.tsx index 2b749321baa..0b64b220a55 100644 --- a/web/core/components/inbox/content/issue-root.tsx +++ b/web/core/components/inbox/content/issue-root.tsx @@ -91,23 +91,23 @@ export const InboxIssueMainContent: React.FC = observer((props) => { setToast({ title: "Success!", type: TOAST_TYPE.SUCCESS, - message: "Issue deleted successfully", + message: "Work item deleted successfully", }); captureIssueEvent({ eventName: ISSUE_DELETED, - payload: { id: _issueId, state: "SUCCESS", element: "Issue detail page" }, + payload: { id: _issueId, state: "SUCCESS", element: "Work item detail page" }, path: pathname, }); } catch (error) { - console.log("Error in deleting issue:", error); + console.log("Error in deleting work item:", error); setToast({ title: "Error!", type: TOAST_TYPE.ERROR, - message: "Issue delete failed", + message: "Work item delete failed", }); captureIssueEvent({ eventName: ISSUE_DELETED, - payload: { id: _issueId, state: "FAILED", element: "Issue detail page" }, + payload: { id: _issueId, state: "FAILED", element: "Work item detail page" }, path: pathname, }); } @@ -116,7 +116,7 @@ export const InboxIssueMainContent: React.FC = observer((props) => { try { await inboxIssue.updateIssue(data); captureIssueEvent({ - eventName: "Inbox issue updated", + eventName: "Inbox work item updated", payload: { ...data, state: "SUCCESS", element: "Inbox" }, updates: { changed_property: Object.keys(data).join(","), @@ -126,12 +126,12 @@ export const InboxIssueMainContent: React.FC = observer((props) => { }); } catch (error) { setToast({ - title: "Issue update failed", + title: "Work item update failed", type: TOAST_TYPE.ERROR, - message: "Issue update failed", + message: "Work item update failed", }); captureIssueEvent({ - eventName: "Inbox issue updated", + eventName: "Inbox work item updated", payload: { state: "SUCCESS", element: "Inbox" }, updates: { changed_property: Object.keys(data).join(","), @@ -146,14 +146,14 @@ export const InboxIssueMainContent: React.FC = observer((props) => { await archiveIssue(workspaceSlug, projectId, issueId); captureIssueEvent({ eventName: ISSUE_ARCHIVED, - payload: { id: issueId, state: "SUCCESS", element: "Issue details page" }, + payload: { id: issueId, state: "SUCCESS", element: "Work item details page" }, path: pathname, }); } catch (error) { console.log("Error in archiving issue:", error); captureIssueEvent({ eventName: ISSUE_ARCHIVED, - payload: { id: issueId, state: "FAILED", element: "Issue details page" }, + payload: { id: issueId, state: "FAILED", element: "Work item details page" }, path: pathname, }); } diff --git a/web/core/components/inbox/modals/create-modal/create-root.tsx b/web/core/components/inbox/modals/create-modal/create-root.tsx index 0d404d4b20b..48b566c978a 100644 --- a/web/core/components/inbox/modals/create-modal/create-root.tsx +++ b/web/core/components/inbox/modals/create-modal/create-root.tsx @@ -180,7 +180,7 @@ export const InboxIssueCreateRoot: FC = observer((props) setToast({ type: TOAST_TYPE.SUCCESS, title: `Success!`, - message: "Issue created successfully.", + message: "Work item created successfully.", }); }) .catch((error) => { diff --git a/web/core/components/inbox/modals/create-modal/issue-properties.tsx b/web/core/components/inbox/modals/create-modal/issue-properties.tsx index 47a4074b149..c5bcc965af1 100644 --- a/web/core/components/inbox/modals/create-modal/issue-properties.tsx +++ b/web/core/components/inbox/modals/create-modal/issue-properties.tsx @@ -194,7 +194,7 @@ export const InboxIssueProperties: FC = observer((props) > <> setParentIssueModalOpen(true)}> - Change parent issue + Change parent work item = observer((props) setSelectedParentIssue(undefined); }} > - Remove parent issue + Remove parent work item diff --git a/web/core/components/inbox/modals/decline-issue-modal.tsx b/web/core/components/inbox/modals/decline-issue-modal.tsx index fb5ea5c0405..206eae71fed 100644 --- a/web/core/components/inbox/modals/decline-issue-modal.tsx +++ b/web/core/components/inbox/modals/decline-issue-modal.tsx @@ -44,7 +44,7 @@ export const DeclineIssueModal: React.FC = (props) => { // TODO: Need to translate the confirmation message content={ <> - Are you sure you want to decline issue{" "} + Are you sure you want to decline work item{" "} {projectDetails?.identifier}-{data?.sequence_id} diff --git a/web/core/components/inbox/modals/delete-issue-modal.tsx b/web/core/components/inbox/modals/delete-issue-modal.tsx index 058e6c67b91..d2f05e63004 100644 --- a/web/core/components/inbox/modals/delete-issue-modal.tsx +++ b/web/core/components/inbox/modals/delete-issue-modal.tsx @@ -42,7 +42,7 @@ export const DeleteInboxIssueModal: React.FC = observer(({ isOpen, onClos }); }) .catch((errors) => { - const isPermissionError = errors?.error === "Only admin or creator can delete the issue"; + const isPermissionError = errors?.error === "Only admin or creator can delete the work item"; const currentError = isPermissionError ? PROJECT_ERROR_MESSAGES.permissionError : PROJECT_ERROR_MESSAGES.issueDeleteError; @@ -65,11 +65,11 @@ export const DeleteInboxIssueModal: React.FC = observer(({ isOpen, onClos // TODO: Need to translate the confirmation message content={ <> - Are you sure you want to delete issue{" "} + Are you sure you want to delete work item{" "} {projectDetails?.identifier}-{data?.sequence_id} - {""}? The issue will only be deleted from the intake and this action cannot be undone. + {""}? The work item will only be deleted from the intake and this action cannot be undone. } /> diff --git a/web/core/components/inbox/modals/select-duplicate.tsx b/web/core/components/inbox/modals/select-duplicate.tsx index ccd95593148..d0484ce66f8 100644 --- a/web/core/components/inbox/modals/select-duplicate.tsx +++ b/web/core/components/inbox/modals/select-duplicate.tsx @@ -74,7 +74,9 @@ export const SelectDuplicateInboxIssueModal: React.FC = (props) => { const issueList = filteredIssues.length > 0 ? (
  • - {query === "" &&

    Select issue

    } + {query === "" && ( +

    Select work item

    + )}