import React, { useState, useCallback } from "react"; import { ProviderInfo, CalendarData } from "../types/heatmap"; import OrganizationCard from "./OrganizationCard"; import ProviderHeatmapSkeleton from "./ProviderHeatmapSkeleton"; import ViewToggle from "./ViewToggle"; type ViewMode = 'daily' | 'weekly'; interface HeatmapGridProps { sortedProviders: ProviderInfo[]; calendarData: CalendarData; isLoading: boolean; } const HeatmapGrid: React.FC = ({ sortedProviders, calendarData, isLoading }) => { const [viewMode, setViewMode] = useState('weekly'); // Memoize the toggle handler to prevent unnecessary re-renders const handleViewModeToggle = useCallback((newMode: ViewMode) => { setViewMode(newMode); }, []); if (isLoading) { return (
{Array.from({ length: 3 }).map((_, idx) => ( ))}
); } return (
{/* View Toggle */}
{/* Heatmap Cards */} {sortedProviders.map((provider, index) => ( ))}
); }; export default React.memo(HeatmapGrid);