mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
03387848fe
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { FC } from "react";
|
|
import { observer } from "mobx-react-lite";
|
|
// components
|
|
import { HeaderGroupByCard } from "./group-by-card";
|
|
// ui
|
|
import { StateGroupIcon } from "@plane/ui";
|
|
// helpers
|
|
import { capitalizeFirstLetter } from "helpers/string.helper";
|
|
import { EProjectStore } from "store/command-palette.store";
|
|
import { IIssue } from "types";
|
|
|
|
export interface IStateGroupHeader {
|
|
column_id: string;
|
|
column_value: any;
|
|
issues_count: number;
|
|
disableIssueCreation?: boolean;
|
|
currentStore: EProjectStore;
|
|
addIssuesToView?: (issueIds: string[]) => Promise<IIssue>;
|
|
}
|
|
|
|
export const Icon = ({ stateGroup, color }: { stateGroup: any; color?: any }) => (
|
|
<div className="w-[14px] h-[14px] rounded-full">
|
|
<StateGroupIcon stateGroup={stateGroup} color={color || null} width="14" height="14" />
|
|
</div>
|
|
);
|
|
|
|
export const StateGroupHeader: FC<IStateGroupHeader> = observer((props) => {
|
|
const { column_value, issues_count, disableIssueCreation, currentStore, addIssuesToView } = props;
|
|
|
|
const stateGroup = column_value ?? null;
|
|
|
|
return (
|
|
<>
|
|
{stateGroup && (
|
|
<HeaderGroupByCard
|
|
icon={<Icon stateGroup={stateGroup?.key} />}
|
|
title={capitalizeFirstLetter(stateGroup?.key) || ""}
|
|
count={issues_count}
|
|
issuePayload={{}}
|
|
disableIssueCreation={disableIssueCreation}
|
|
currentStore={currentStore}
|
|
addIssuesToView={addIssuesToView}
|
|
/>
|
|
)}
|
|
</>
|
|
);
|
|
});
|