mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
1e152c666c
* chore: moved app & space from apps to root * chore: modified workspace configuration * chore: modified dockerfiles for space and web * chore: modified icons for space * feat: updated files for new svg icons supported by next-images * chore: added /spaces base path for next * chore: added compose config for space * chore: updated husky configuration * chore: updated workflows for new configuration * chore: changed app name to web * fix: resolved build errors with web * chore: reset file tracing root for both projects * chore: added nginx config for deploy * fix: eslint and tsconfig settings for space app * husky setup fixes based on new dir * eslint fixes * prettier formatting --------- Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
63 lines
2.0 KiB
TypeScript
63 lines
2.0 KiB
TypeScript
// ui
|
|
import { LineGraph, ProfileEmptyState } from "components/ui";
|
|
// image
|
|
import emptyGraph from "public/empty-state/empty_graph.svg";
|
|
// types
|
|
import { IDefaultAnalyticsResponse } from "types";
|
|
// constants
|
|
import { MONTHS_LIST } from "constants/calendar";
|
|
|
|
type Props = {
|
|
defaultAnalytics: IDefaultAnalyticsResponse;
|
|
};
|
|
|
|
export const AnalyticsYearWiseIssues: React.FC<Props> = ({ defaultAnalytics }) => (
|
|
<div className="py-3 border border-custom-border-200 rounded-[10px]">
|
|
<h1 className="px-3 text-base font-medium">Issues closed in a year</h1>
|
|
{defaultAnalytics.issue_completed_month_wise.length > 0 ? (
|
|
<LineGraph
|
|
data={[
|
|
{
|
|
id: "issues_closed",
|
|
color: "rgb(var(--color-primary-100))",
|
|
data: MONTHS_LIST.map((month) => ({
|
|
x: month.label.substring(0, 3),
|
|
y:
|
|
defaultAnalytics.issue_completed_month_wise.find(
|
|
(data) => data.month === month.value
|
|
)?.count || 0,
|
|
})),
|
|
},
|
|
]}
|
|
customYAxisTickValues={defaultAnalytics.issue_completed_month_wise.map(
|
|
(data) => data.count
|
|
)}
|
|
height="300px"
|
|
colors={(datum) => datum.color}
|
|
curve="monotoneX"
|
|
margin={{ top: 20 }}
|
|
enableSlices="x"
|
|
sliceTooltip={(datum) => (
|
|
<div className="rounded-md border border-custom-border-200 bg-custom-background-80 p-2 text-xs">
|
|
{datum.slice.points[0].data.yFormatted}
|
|
<span className="text-custom-text-200"> issues closed in </span>
|
|
{datum.slice.points[0].data.xFormatted}
|
|
</div>
|
|
)}
|
|
theme={{
|
|
background: "rgb(var(--color-background-100))",
|
|
}}
|
|
enableArea
|
|
/>
|
|
) : (
|
|
<div className="px-7 py-4">
|
|
<ProfileEmptyState
|
|
title="No Data yet"
|
|
description="Close issues to view analysis of the same in the form of a graph."
|
|
image={emptyGraph}
|
|
/>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|