/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; import { Paperclip } from "lucide-react"; import { LinkIcon, ViewsIcon } from "@plane/propel/icons"; // plane imports import { Tooltip } from "@plane/propel/tooltip"; import type { IIssueDisplayProperties } from "@plane/types"; import { cn } from "@plane/utils"; // components import { WithDisplayPropertiesHOC } from "@/components/issues/issue-layouts/with-display-properties-HOC"; // helpers import { getDate } from "@/helpers/date-time.helper"; //// hooks import type { IIssue } from "@/types/issue"; import { IssueBlockCycle } from "./cycle"; import { IssueBlockDate } from "./due-date"; import { IssueBlockLabels } from "./labels"; import { IssueBlockMembers } from "./member"; import { IssueBlockModules } from "./modules"; import { IssueBlockPriority } from "./priority"; import { IssueBlockState } from "./state"; export interface IIssueProperties { issue: IIssue; displayProperties: IIssueDisplayProperties | undefined; className: string; } export const IssueProperties = observer(function IssueProperties(props: IIssueProperties) { const { issue, displayProperties, className } = props; if (!displayProperties || !issue.project_id) return null; const minDate = getDate(issue.start_date); minDate?.setDate(minDate.getDate()); const maxDate = getDate(issue.target_date); maxDate?.setDate(maxDate.getDate()); return (