1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-10 01:16:39 +02:00
unleash.unleash/frontend/src/component/executiveDashboard/hooks/useDashboardData.ts
andreas-unleash 9233d4ca33
fix: chart info naming bug fix (#6660)
Rename param

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
2024-03-21 13:16:01 +00:00

57 lines
1.7 KiB
TypeScript

import { useMemo } from 'react';
import type { ExecutiveSummarySchema } from 'openapi';
import { useFilteredTrends } from './useFilteredTrends';
import { useGroupedProjectTrends } from './useGroupedProjectTrends';
import { useFilteredFlagsSummary } from './useFilteredFlagsSummary';
import { useMedianTimeToProduction } from './useMedianTimeToProduction';
export const useDashboardData = (
executiveDashboardData: ExecutiveSummarySchema,
projects: string[],
) => {
const projectsData = useFilteredTrends(
executiveDashboardData.projectFlagTrends,
projects,
);
const groupedProjectsData = useGroupedProjectTrends(projectsData);
const metricsData = useFilteredTrends(
executiveDashboardData.metricsSummaryTrends,
projects,
);
const groupedMetricsData = useGroupedProjectTrends(metricsData);
const summary = useFilteredFlagsSummary(
projectsData,
executiveDashboardData.users,
);
const medianTimeToProduction =
useMedianTimeToProduction(groupedProjectsData);
return useMemo(
() => ({
...executiveDashboardData,
projectsData,
groupedProjectsData,
metricsData,
groupedMetricsData,
users: executiveDashboardData.users,
environmentTypeTrends: executiveDashboardData.environmentTypeTrends,
summary,
medianTimeToProduction,
}),
[
executiveDashboardData,
projects,
projectsData,
groupedProjectsData,
metricsData,
groupedMetricsData,
summary,
medianTimeToProduction,
],
);
};