import { useMemo } from 'react' import { ChartMetric } from 'ui-patterns/Chart' import { PageContainer } from 'ui-patterns/PageContainer' import { PageSection, PageSectionContent, PageSectionMeta, PageSectionSummary, PageSectionTitle, } from 'ui-patterns/PageSection' import { getExecutionTooltipDetails } from './EdgeFunctionMetricTooltipDetails' import { EXECUTION_TIME_CHART_CONFIG, formatMetric, getChartEmptyStateCopy, } from './EdgeFunctionOverview.utils' import type { EdgeFunctionChartDatum } from './EdgeFunctionOverview.utils' import { EdgeFunctionTimeSeriesChartCard } from './EdgeFunctionTimeSeriesChartCard' interface EdgeFunctionPerformanceSectionProps { data: EdgeFunctionChartDatum[] dateTimeFormat: string isLoading: boolean isError: boolean errorMessage?: string averageExecutionTime: number maxExecutionTime: number } export const EdgeFunctionPerformanceSection = ({ data, dateTimeFormat, isLoading, isError, errorMessage, averageExecutionTime, maxExecutionTime, }: EdgeFunctionPerformanceSectionProps) => { const emptyStateCopy = getChartEmptyStateCopy('execution time', isError, errorMessage) const tooltipDetails = useMemo( () => getExecutionTooltipDetails(averageExecutionTime), [averageExecutionTime] ) const metrics = (