import React, { useEffect, useState } from 'react'; import { useParams } from 'react-router-dom'; import dayjs from 'dayjs'; import { useAssignedExtensions, ExtensionSlot } from '@openmrs/esm-framework'; import { useTranslation } from 'react-i18next'; import { InlineLoading, InlineNotification } from '@carbon/react'; import HomeHeader from './components/header/home-header.component'; import { DashboardMetric } from './components/dashboard-metric.component'; import { TopDiseasesBarCharts } from './components/top-diseases-barcharts.component'; import AdmittedOPDLineChart from './components/admitted-opd-line-chart.component'; import styles from './generic-dashboard.scss'; import { useFacilityDashboardData } from './hooks/useFacilityDashboardData'; const GenericDashboard: React.FC = () => { const { t } = useTranslation(); const params = useParams(); const assignedExtensions = useAssignedExtensions('express-workflow-left-panel-slot'); const today = dayjs().format('YYYY-MM-DD'); const [dateRange, setDateRange] = useState({ startDate: today, endDate: today }); const { data: dashboardData, error, isLoading } = useFacilityDashboardData(dateRange.startDate, dateRange.endDate); const handleDateChange = (startDate: string, endDate: string) => { setDateRange({ startDate, endDate }); }; if (isLoading) { return (