mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
9065b5d368
* fix: created dashboard, widgets and dashboard widget model * fix: new user home dashboard * chore: recent projects list * chore: recent collaborators * chore: priority order change * chore: payload changes * chore: collaborator's active issue count * chore: all dashboard widgets added with services and typs * chore: centered metric for pie chart * chore: widget filters * chore: created issue filter * fix: created and assigned issues payload change * chore: created issue payload change * fix: date filter change * chore: implement filters * fix: added expansion fields * fix: changed issue structure with relation * chore: new issues response * fix: project member fix * chore: updated issue_relation structure * chore: code cleanup * chore: update issues response and added empty states * fix: button text wrap * chore: update empty state messages * fix: filters * chore: update dark mode empty states * build-error: Type check in the issue relation service * fix: issues redirection * fix: project empty state * chore: project member active check * chore: project member check in state and priority * chore: remove console logs and replace harcoded values with constants * fix: code refactoring * fix: key name changed * refactor: mapping through similar components using an array * fix: build errors --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> Co-authored-by: gurusainath <gurusainath007@gmail.com>
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
// types
|
|
import { IUserStateDistribution } from "@plane/types";
|
|
// constants
|
|
import { STATE_GROUPS } from "constants/state";
|
|
|
|
type Props = {
|
|
stateDistribution: IUserStateDistribution[];
|
|
};
|
|
|
|
export const ProfileWorkload: React.FC<Props> = ({ stateDistribution }) => (
|
|
<div className="space-y-2">
|
|
<h3 className="text-lg font-medium">Workload</h3>
|
|
<div className="grid grid-cols-1 justify-stretch gap-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5">
|
|
{stateDistribution.map((group) => (
|
|
<div key={group.state_group}>
|
|
<a className="flex gap-2 whitespace-nowrap rounded border border-custom-border-100 p-4">
|
|
<div
|
|
className="h-3 w-3 rounded-sm"
|
|
style={{
|
|
backgroundColor: STATE_GROUPS[group.state_group].color,
|
|
}}
|
|
/>
|
|
<div className="-mt-1 space-y-1">
|
|
<p className="text-sm capitalize text-custom-text-400">
|
|
{group.state_group === "unstarted"
|
|
? "Not Started"
|
|
: group.state_group === "started"
|
|
? "Working on"
|
|
: group.state_group}
|
|
</p>
|
|
<p className="text-xl font-semibold">{group.state_count}</p>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
);
|