Skip to content

Commit

Permalink
optimize code to fix lint warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
vicwere committed Jan 22, 2025
1 parent 0c5d91d commit 28ad18f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { DatePicker, DatePickerInput } from '@carbon/react';
import React, { useState, useEffect } from 'react';
import React, { useState, useEffect, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import styles from './summary-header.scss';

Expand All @@ -15,9 +15,12 @@ interface ClaimsSummaryHeaderProps {
const ClaimSummaryHeader: React.FC<ClaimsSummaryHeaderProps> = ({ filters, onFilterChanged }) => {
const { t } = useTranslation();

const today = new Date();
const sixMonthsAgo = new Date(today);
sixMonthsAgo.setMonth(today.getMonth() - 6);
const today = useMemo(() => new Date(), []);
const sixMonthsAgo = useMemo(() => {
const date = new Date(today);
date.setMonth(today.getMonth() - 6);
return date;
}, [today]);

useEffect(() => {
if (!filters.fromDate && !filters.toDate) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,33 @@ import React, { useEffect, useState } from 'react';
import { BarChartOptions, GroupedBarChart, ScaleTypes } from '@carbon/charts-react';
import useClaimsAggregate from '../../../hooks/useClaimsAggregate';

interface MetricData {
summaryGraph: { group: string; month: string; value: number }[];
}

const ClaimsSummaryChart = () => {
const [metrics, setMetrics] = useState({ summaryGraph: [] });
const [metrics, setMetrics] = useState<MetricData>({ summaryGraph: [] });

const { isLoading, summarizedData, error } = useClaimsAggregate();

if (isLoading) {
return <div>Loading data...</div>;
}

if (error) {
return <div>Error loading claims data</div>;
}

useEffect(() => {
if (summarizedData.length) {
if (summarizedData?.length) {
const transformedData = summarizedData.flatMap((item) => [
{ group: 'Claimed', month: item.month, value: item.claimedTotal },
{ group: 'Approved', month: item.month, value: item.approvedTotal },
]);

setMetrics({ summaryGraph: transformedData });
}
}, [summarizedData]);

if (isLoading) {
return <div>Loading data...</div>;
}

if (error) {
return <div>Error loading claims data: {error.message}</div>;
}

const options: BarChartOptions = {
title: 'Analysis of Claimed vs Approved Amount by Month',
legend: {
Expand All @@ -48,7 +51,7 @@ const ClaimsSummaryChart = () => {
};

return (
<div style={{ padding: '2rem' }}>
<div style={{ padding: '2rem' }} aria-label="Claims Summary Chart">
<GroupedBarChart data={metrics.summaryGraph} options={options} />
</div>
);
Expand Down

0 comments on commit 28ad18f

Please sign in to comment.