import { useParams } from 'common' import { observer } from 'mobx-react-lite' import { IconAlertCircle, IconLoader } from 'ui' import { NewProjectPanel } from 'components/interfaces/Home' import InformationBox from 'components/ui/InformationBox' import { ProjectUsageResponseUsageKeys, useProjectUsageQuery } from 'data/usage/project-usage-query' import ProjectUsage from './ProjectUsage' const ProjectUsageSection = observer(() => { const { ref: projectRef } = useParams() const { data: usage, error: usageError, isLoading } = useProjectUsageQuery({ projectRef }) const usageColumns = [ 'db_egress', 'storage_egress', 'monthly_active_users', 'realtime_message_count', 'func_invocations', ] if (usageError) { return ( } title="There was an issue loading the usage details of your project" /> ) } const hasProjectData = usage ? usageColumns .map((key) => usage[key as ProjectUsageResponseUsageKeys].usage) .some((usage) => (usage ?? 0) > 0) : false return ( <> {isLoading ? (

Retrieving project usage statistics

) : hasProjectData ? ( ) : ( )} ) }) export default ProjectUsageSection