import { useRouter } from "next/router"; // icons import { CalendarDays, CopyPlus, History, LinkIcon, MessageSquare, Paperclip, Rocket, Signal, Tag, Users2, } from "lucide-react"; import { DoubleCircleIcon, Tooltip, BlockedIcon, BlockerIcon, RelatedIcon, UserGroupIcon, ArchiveIcon, ContrastIcon, LayersIcon, DiceIcon, } from "@plane/ui"; // helpers import { renderShortDateWithYearFormat } from "helpers/date-time.helper"; import { capitalizeFirstLetter } from "helpers/string.helper"; // types import { IIssueActivity } from "types"; const IssueLink = ({ activity }: { activity: IIssueActivity }) => ( ); const UserLink = ({ activity }: { activity: IIssueActivity }) => ( ); const activityDetails: { [key: string]: { message: (activity: IIssueActivity, showIssue: boolean, workspaceSlug: string) => React.ReactNode; icon: React.ReactNode; }; } = { assignees: { message: (activity, showIssue) => ( <> {activity.old_value === "" ? "added a new assignee " : "removed the assignee "} {showIssue && ( <> {" "} to )} . ), icon: , }, archived_at: { message: (activity) => { if (activity.new_value === "restore") return "restored the issue."; else return "archived the issue."; }, icon: , }, attachment: { message: (activity, showIssue) => ( <> {activity.verb === "created" ? "uploaded a new " : "removed an "} {activity.new_value && activity.new_value !== "" ? ( ) : ( "attachment" )} {showIssue && activity.verb === "created" ? " to " : " from "} {showIssue && } ), icon: