mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
f88109ef04
* fix: issue activity and comment change * chore: posthog enabled * chore: comment creation in activity * chore: comment crud in store mutation * fix: issue activity/ comments `disable` and `showAccessSpecifier` logic. * chore: comment reaction serializer change * conflicts: merge conflicts resolved * conflicts: merge conflicts resolved * chore: add issue activity/ comments to peek-overview. * imporve `showAccessIdentifier` logic. * chore: remove quotes from issue activity. * chore: use `projectLabels` instead of `workspaceLabels` in labels activity. * fix: project publish `is_deployed` not updating bug. * cleanup * fix: posthog enabled * fix: typos and the comment endpoint updates * fix: issue activity icons update --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
81 lines
2.8 KiB
TypeScript
81 lines
2.8 KiB
TypeScript
import { FC } from "react";
|
|
import { observer } from "mobx-react-lite";
|
|
// hooks
|
|
import { useIssueDetail } from "hooks/store";
|
|
// components
|
|
import {
|
|
IssueDefaultActivity,
|
|
IssueNameActivity,
|
|
IssueDescriptionActivity,
|
|
IssueStateActivity,
|
|
IssueAssigneeActivity,
|
|
IssuePriorityActivity,
|
|
IssueEstimateActivity,
|
|
IssueParentActivity,
|
|
IssueRelationActivity,
|
|
IssueStartDateActivity,
|
|
IssueTargetDateActivity,
|
|
IssueCycleActivity,
|
|
IssueModuleActivity,
|
|
IssueLabelActivity,
|
|
IssueLinkActivity,
|
|
IssueAttachmentActivity,
|
|
IssueArchivedAtActivity,
|
|
} from "./actions";
|
|
|
|
type TIssueActivityList = {
|
|
activityId: string;
|
|
ends: "top" | "bottom" | undefined;
|
|
};
|
|
|
|
export const IssueActivityList: FC<TIssueActivityList> = observer((props) => {
|
|
const { activityId, ends } = props;
|
|
// hooks
|
|
const {
|
|
activity: { getActivityById },
|
|
comment: {},
|
|
} = useIssueDetail();
|
|
|
|
const componentDefaultProps = { activityId, ends };
|
|
|
|
const activityField = getActivityById(activityId)?.field;
|
|
switch (activityField) {
|
|
case null: // default issue creation
|
|
return <IssueDefaultActivity {...componentDefaultProps} />;
|
|
case "state":
|
|
return <IssueStateActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "name":
|
|
return <IssueNameActivity {...componentDefaultProps} />;
|
|
case "description":
|
|
return <IssueDescriptionActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "assignees":
|
|
return <IssueAssigneeActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "priority":
|
|
return <IssuePriorityActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "estimate_point":
|
|
return <IssueEstimateActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "parent":
|
|
return <IssueParentActivity {...componentDefaultProps} showIssue={false} />;
|
|
case ["blocking", "blocked_by", "duplicate", "relates_to"].find((field) => field === activityField):
|
|
return <IssueRelationActivity {...componentDefaultProps} />;
|
|
case "start_date":
|
|
return <IssueStartDateActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "target_date":
|
|
return <IssueTargetDateActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "cycles":
|
|
return <IssueCycleActivity {...componentDefaultProps} />;
|
|
case "modules":
|
|
return <IssueModuleActivity {...componentDefaultProps} />;
|
|
case "labels":
|
|
return <IssueLabelActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "link":
|
|
return <IssueLinkActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "attachment":
|
|
return <IssueAttachmentActivity {...componentDefaultProps} showIssue={false} />;
|
|
case "archived_at":
|
|
return <IssueArchivedAtActivity {...componentDefaultProps} />;
|
|
default:
|
|
return <></>;
|
|
}
|
|
});
|