// UsageStats.tsx import React, { useState, useEffect } from 'react'; import { getAvailableDateKeys, getSignInCountForPeriod, getDetailsByUser } from '../../utils/cloud/redisRestClient'; import styles from './UsageStats.module.scss'; // Assume you have a separate SCSS module for UsageStats const UsageStats: React.FC<{ onClose: () => void }> = ({ onClose }) => { const [dateKeys, setDateKeys] = useState([]); const [selectedDateKey, setSelectedDateKey] = useState(''); const [signInCount, setSignInCount] = useState(0); const [userDetails, setUserDetails] = useState>({}); const [showDrillDown, setShowDrillDown] = useState(false); useEffect(() => { const fetchData = async () => { const availableDateKeys = await getAvailableDateKeys(); setDateKeys(availableDateKeys); }; fetchData(); }, []); const handleDateChange = async (event: React.ChangeEvent) => { const dateKey = event.target.value; setSelectedDateKey(dateKey); const count = await getSignInCountForPeriod(dateKey); setSignInCount(count); setShowDrillDown(false); }; const handleDrillDown = async () => { const details = await getDetailsByUser(selectedDateKey); setUserDetails(details); setShowDrillDown(true); }; return (

Usage Stats

Number of events: {signInCount}

{/* Wrap the conditional block and the button with a div or fragment */}
{showDrillDown && ( {Object.entries(userDetails).map(([email, count]) => ( ))}
Email Count
{email} {count}
)}
); }; export default UsageStats;