import { isClickHouseConfiguredState } from '@/client-config/states/isClickHouseConfiguredState'; import { SettingsBillingLabelValueItem } from '@/settings/billing/components/internal/SettingsBillingLabelValueItem'; import { SubscriptionInfoContainer } from '@/settings/billing/components/SubscriptionInfoContainer'; import { UsageBreakdownPieSection } from '@/settings/usage/components/UsageBreakdownPieSection'; import { UsageByUserTableSection } from '@/settings/usage/components/UsageByUserTableSection'; import { UsageDailyChartSection } from '@/settings/usage/components/UsageDailyChartSection'; import { UsageSectionSkeleton } from '@/settings/usage/components/UsageSectionSkeleton'; import { useUsageAnalyticsData } from '@/settings/usage/hooks/useUsageAnalyticsData'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { t } from '@lingui/core/macro'; import { Link } from 'react-router-dom'; import { SettingsPath } from 'twenty-shared/types'; import { getSettingsPath } from 'twenty-shared/utils'; import { H2Title, IconSparkles } from 'twenty-ui-deprecated/display'; import { Button } from 'twenty-ui-deprecated/input'; import { Section } from 'twenty-ui-deprecated/layout'; import { SETTINGS_AI_TABS } from '~/pages/settings/ai/constants/SettingsAiTabs'; export const SettingsUsageAnalyticsSection = () => { const isClickHouseConfigured = useAtomStateValue(isClickHouseConfiguredState); const { analytics, isInitialLoading } = useUsageAnalyticsData({ skip: !isClickHouseConfigured, }); if (!isClickHouseConfigured) { return (
); } if (isInitialLoading) { return ; } const hasData = analytics && (analytics.timeSeries.length > 0 || analytics.usageByOperationType.length > 0 || analytics.usageByUser.length > 0); if (!hasData) { return (
); } return ( <> getSettingsPath(SettingsPath.UsageUserDetail, { userWorkspaceId, }) } showAvatar />
); };