From 6d67571b27597c8c83b15953f60b098b52807a75 Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Sat, 18 Apr 2026 22:17:31 +0300 Subject: [PATCH] =?UTF-8?q?UI=20-=20=D0=9C=D0=95=D0=96=D0=9F=D0=A0=D0=9E?= =?UTF-8?q?=D0=95=D0=9A=D0=A2=D0=9D=D0=90=D0=AF=20=D0=9A=D0=9E=D0=9C=D0=9C?= =?UTF-8?q?=D0=A3=D0=9D=D0=98=D0=9A=D0=90=D0=A6=D0=98=D0=AF:=20=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B2=D0=BD?= =?UTF-8?q?=D0=B5=D1=88=D0=BD=D0=B8=D1=85=20=D0=BA=D0=BE=D0=BD=D1=82=D1=83?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=D0=BC=20=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../phase-roadmap.md | 2 ++ .../projects/external-contours/list-item.tsx | 31 ++++++++++++++----- .../request-traceability.tsx | 8 +++++ .../i18n/src/locales/en/translations.ts | 5 +++ .../i18n/src/locales/ru/translations.ts | 5 +++ 5 files changed, 44 insertions(+), 7 deletions(-) diff --git a/docs_prod/cross-project-task-routing/phase-roadmap.md b/docs_prod/cross-project-task-routing/phase-roadmap.md index f882539..3be0fab 100644 --- a/docs_prod/cross-project-task-routing/phase-roadmap.md +++ b/docs_prod/cross-project-task-routing/phase-roadmap.md @@ -95,6 +95,8 @@ - source-side список `Открытые / Завершенные` - status pill по фактическому state целевой задачи - отображение целевого проекта +- отображение исполнителей целевого контура +- отображение фактической даты последнего изменения - открытие source-side detail экрана Что еще остается на следующие этапы: diff --git a/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx b/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx index 4b5c1b4..bef9b6d 100644 --- a/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx +++ b/plane-src/apps/web/ce/components/projects/external-contours/list-item.tsx @@ -41,8 +41,9 @@ export const ExternalContoursListItem = observer(function ExternalContoursListIt if (!request || !issue) return <>; - const createdByDetails = issue.created_by_detail; + const assigneeDetails = issue.assignee_details?.slice(0, 2) ?? []; const visibleLabels = issue.label_details?.slice(0, 3) ?? []; + const lastUpdatedAt = issue.updated_at || request.updated_at; return (
-
{renderFormattedDate(issue.created_at ?? "")}
+
{renderFormattedDate(lastUpdatedAt ?? "")}
{issue.priority && issue.priority !== "none" && ( @@ -93,9 +94,25 @@ export const ExternalContoursListItem = observer(function ExternalContoursListIt
))} - {createdByDetails ? ( - - ) : null} +
+ {assigneeDetails.length > 0 ? ( + <> + {assigneeDetails.map((assignee) => ( + + ))} + + ) : ( + +
{t("external_contours_page.list.unassigned")}
+
+ )} +
diff --git a/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx b/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx index a74ca6e..d96f1bc 100644 --- a/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx +++ b/plane-src/apps/web/ce/components/projects/external-contours/request-traceability.tsx @@ -23,6 +23,7 @@ export const ExternalContoursRequestTraceability = observer(function ExternalCon const issue = contourRequest.issue; const requestedByName = contourRequest.requested_by_name || issue.created_by_detail?.display_name || t("common.none"); const requestedAt = contourRequest.requested_at || contourRequest.created_at; + const lastUpdatedAt = issue.updated_at || contourRequest.updated_at; const targetProjectName = contourRequest.target_project_name || issue.project_detail?.name || t("common.none"); const targetIssueKey = issue.project_detail?.identifier && issue.sequence_id @@ -80,6 +81,13 @@ export const ExternalContoursRequestTraceability = observer(function ExternalCon +
+
{t("external_contours_page.traceability.last_updated")}
+
+ {lastUpdatedAt ? renderFormattedDate(lastUpdatedAt) : t("common.none")} +
+
+
{t("external_contours_page.traceability.linked_item")}
diff --git a/plane-src/packages/i18n/src/locales/en/translations.ts b/plane-src/packages/i18n/src/locales/en/translations.ts index 1db265e..2ce2e43 100644 --- a/plane-src/packages/i18n/src/locales/en/translations.ts +++ b/plane-src/packages/i18n/src/locales/en/translations.ts @@ -296,6 +296,10 @@ export default { open: "Open", closed: "Closed", }, + list: { + last_updated: "Last updated", + unassigned: "Unassigned", + }, empty_state: { title: "External contours module is ready for the next stage", description: @@ -340,6 +344,7 @@ export default { status: "Current status", requested_by: "Requested by", requested_at: "Sent at", + last_updated: "Last updated", linked_item: "Linked work item", }, actions: { diff --git a/plane-src/packages/i18n/src/locales/ru/translations.ts b/plane-src/packages/i18n/src/locales/ru/translations.ts index 5f84f16..5130933 100644 --- a/plane-src/packages/i18n/src/locales/ru/translations.ts +++ b/plane-src/packages/i18n/src/locales/ru/translations.ts @@ -453,6 +453,10 @@ export default { open: "Открытые", closed: "Закрытые", }, + list: { + last_updated: "Последнее изменение", + unassigned: "Не назначено", + }, empty_state: { title: "Модуль внешних контуров подготовлен", description: @@ -496,6 +500,7 @@ export default { status: "Текущий статус", requested_by: "Отправитель", requested_at: "Отправлено", + last_updated: "Последнее изменение", linked_item: "Связанная задача", }, actions: {