/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import Link from "next/link"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; import { PriorityIcon } from "@plane/propel/icons"; import { Avatar } from "@plane/ui"; import { cn, renderFormattedDate } from "@plane/utils"; import type { TExternalContourBoardDirection, TExternalContourRequest, TInboxIssueCurrentTab } from "@plane/types"; import { ExternalContourStatePill } from "./state-pill"; type Props = { currentTab: TInboxIssueCurrentTab; direction: TExternalContourBoardDirection; projectId: string; request: TExternalContourRequest; workspaceSlug: string; }; export const ExternalContoursBoardItem = observer(function ExternalContoursBoardItem(props: Props) { const { currentTab, direction, projectId, request, workspaceSlug } = props; const { t } = useTranslation(); const issue = request.issue; const requester = request.requested_by?.display_name || request.requested_by_name || issue.created_by_detail?.display_name || "NODE.DC"; const requesterAvatar = issue.created_by_detail?.avatar_url || ""; const counterpartContourName = direction === "outgoing" ? request.target_project?.name || request.target_project_name || issue.project_detail?.name : request.source_project?.name || request.source_project_name; const assigneeDetails = issue.assignee_details?.slice(0, 2) ?? []; const lastUpdatedAt = issue.updated_at || request.updated_at; return (