2023-07-28 08:09:42 +00:00
|
|
|
// types
|
|
|
|
import { IUserStateDistribution } from "types";
|
|
|
|
// constants
|
|
|
|
import { STATE_GROUP_COLORS } 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>
|
2023-12-10 10:18:10 +00:00
|
|
|
<div className="grid grid-cols-1 justify-stretch gap-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5">
|
2023-07-28 08:09:42 +00:00
|
|
|
{stateDistribution.map((group) => (
|
|
|
|
<div key={group.state_group}>
|
2023-12-10 10:18:10 +00:00
|
|
|
<a className="flex gap-2 whitespace-nowrap rounded border border-custom-border-100 p-4">
|
2023-07-28 08:09:42 +00:00
|
|
|
<div
|
|
|
|
className="h-3 w-3 rounded-sm"
|
|
|
|
style={{
|
|
|
|
backgroundColor: STATE_GROUP_COLORS[group.state_group],
|
|
|
|
}}
|
|
|
|
/>
|
2023-12-10 10:18:10 +00:00
|
|
|
<div className="-mt-1 space-y-1">
|
|
|
|
<p className="text-sm capitalize text-custom-text-400">
|
2023-07-31 11:27:28 +00:00
|
|
|
{group.state_group === "unstarted"
|
|
|
|
? "Not Started"
|
|
|
|
: group.state_group === "started"
|
2023-12-10 10:18:10 +00:00
|
|
|
? "Working on"
|
|
|
|
: group.state_group}
|
2023-07-31 11:27:28 +00:00
|
|
|
</p>
|
2023-07-28 08:09:42 +00:00
|
|
|
<p className="text-xl font-semibold">{group.state_count}</p>
|
|
|
|
</div>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
))}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|