diff --git a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/ModelAnalyticsTab.tsx b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/ModelAnalyticsTab.tsx
index a7eac9e7663..9854f7b4dc6 100644
--- a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/ModelAnalyticsTab.tsx
+++ b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/ModelAnalyticsTab.tsx
@@ -27,8 +27,9 @@ import UsageDatePicker from "@/components/shared/usage_date_picker";
import { Popover } from "antd";
import { FilterIcon } from "@heroicons/react/outline";
import TimeToFirstToken from "@/components/model_metrics/time_to_first_token";
-import React, { ReactNode } from "react";
+import React from "react";
import useAuthorized from "@/app/(dashboard)/hooks/useAuthorized";
+import { Team } from "@/components/key_team_helpers/key_list";
interface GlobalExceptionActivityData {
sum_num_rate_limit_exceptions: number;
@@ -40,7 +41,6 @@ interface ModelAnalyticsTabProps {
setDateValue: (dateValue: DateRangePickerValue) => void;
selectedModelGroup: string | null;
availableModelGroups: string[];
- FilterByContent: ReactNode;
setShowAdvancedFilters: (showAdvancedFilters: boolean) => void;
updateModelMetrics: (
modelGroup: string | null,
@@ -57,6 +57,13 @@ interface ModelAnalyticsTabProps {
globalExceptionData: GlobalExceptionActivityData;
allExceptions: any[];
globalExceptionPerDeployment: any[];
+ setSelectedAPIKey: (key: string | null) => void;
+ keys: any[] | null;
+ setSelectedCustomer: (selectedCustomer: string | null) => void;
+ teams: Team[] | null;
+ allEndUsers: any[];
+ selectedTeamFilter: string | null;
+ setSelectedTeamFilter: (filter: string | null) => void;
}
const ModelAnalyticsTab = ({
@@ -64,7 +71,6 @@ const ModelAnalyticsTab = ({
setDateValue,
selectedModelGroup,
availableModelGroups,
- FilterByContent,
setShowAdvancedFilters,
updateModelMetrics,
modelMetrics,
@@ -77,9 +83,124 @@ const ModelAnalyticsTab = ({
globalExceptionData,
allExceptions,
globalExceptionPerDeployment,
+ setSelectedAPIKey,
+ keys,
+ setSelectedCustomer,
+ teams,
+ allEndUsers,
+ selectedTeamFilter,
+ setSelectedTeamFilter,
}: ModelAnalyticsTabProps) => {
const { premiumUser } = useAuthorized();
+ const FilterByContent = (
+
+
Select API Key Name
+
+ {premiumUser ? (
+
+
+
+ Select Customer Name
+
+
+
+ Select Team
+
+
+
+ ) : (
+
+ {/* ... existing non-premium user content ... */}
+ Select Team
+
+
+
+ )}
+
+ );
+
return (
diff --git a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/model_dashboard.tsx b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/model_dashboard.tsx
index 8bc58655ef2..9eba3d2f067 100644
--- a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/model_dashboard.tsx
+++ b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/model_dashboard.tsx
@@ -697,114 +697,6 @@ const ModelsAndEndpointsView: React.FC = ({
}
};
- const FilterByContent = (
-
-
Select API Key Name
-
- {premiumUser ? (
-
-
-
- Select Customer Name
-
-
-
- Select Team
-
-
-
- ) : (
-
- {/* ... existing non-premium user content ... */}
- Select Team
-
-
-
- )}
-
- );
-
const customTooltip = (props: any) => {
const { payload, active } = props;
if (!active || !payload) return null;
@@ -1028,7 +920,6 @@ const ModelsAndEndpointsView: React.FC = ({
setDateValue={setDateValue}
selectedModelGroup={selectedModelGroup}
availableModelGroups={availableModelGroups}
- FilterByContent={FilterByContent}
setShowAdvancedFilters={setShowAdvancedFilters}
updateModelMetrics={updateModelMetrics}
modelMetrics={modelMetrics}
@@ -1041,6 +932,13 @@ const ModelsAndEndpointsView: React.FC = ({
globalExceptionData={globalExceptionData}
allExceptions={allExceptions}
globalExceptionPerDeployment={globalExceptionPerDeployment}
+ allEndUsers={allEndUsers}
+ keys={keys}
+ selectedTeamFilter={selectedTeamFilter}
+ setSelectedAPIKey={setSelectedAPIKey}
+ setSelectedCustomer={setSelectedCustomer}
+ setSelectedTeamFilter={setSelectedTeamFilter}
+ teams={teams}
/>