import { forwardRef, useMemo } from 'react'; import PropTypes from 'prop-types'; import { clsm } from '../../../../utils'; import { dashboard as $dashboardContent } from '../../../../content'; import { NoData, SyncError } from '../../../../assets/icons'; import { useStreams } from '../../../../contexts/Streams'; import Spinner from '../../../../components/Spinner'; const $content = $dashboardContent.stream_session_page; const errorContainerClasses = clsm([ 'dark:fill-darkMode-gray', 'dark:text-darkMode-gray', 'fill-lightMode-gray-medium', 'flex-col', 'flex', 'h-full', 'items-center', 'justify-center', 'relative', 'space-y-1', 'text-lightMode-gray-medium', 'w-full' ]); const MetricPanel = forwardRef( ( { children, className, footer, hasData, header, headerClassName, isLoading, title, wrapper }, wrapperRef ) => { const { fetchActiveStreamSessionError } = useStreams(); const Wrapper = useMemo(() => wrapper.tag || 'div', [wrapper.tag]); const renderBody = () => { if (isLoading) return (
{$content.failed_to_load}
{$content.no_data_available}