From b9a08a9b7afb0b1d3b693c12455529036287b7e1 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 23 Apr 2026 21:52:30 +0000 Subject: [PATCH] chore(ui): antd icons \u2192 lucide aliases (11-file batch) Large import-rename sweep of @ant-design/icons \u2192 lucide-react: - ToolDetail: ArrowLeftOutlined/HistoryOutlined/ToolOutlined \u2192 ArrowLeft/History/Wrench. - AIHub/ModelHubTable: CopyOutlined \u2192 Copy. - view_logs/index: SettingOutlined/SyncOutlined \u2192 Settings/RefreshCcw. spin prop \u2192 className=animate-spin (lucide has no spin). - teams/modals/CreateTeamModal, SearchTools/CreateSearchTools, vector_store_management/VectorStoreForm: InfoCircleOutlined \u2192 Info. - DefaultUserSettings: PlusOutlined/DeleteOutlined \u2192 Plus/Trash2. - Projects/ProjectModals/ProjectBaseForm: PlusOutlined/ MinusCircleOutlined \u2192 Plus/MinusCircle. - models-and-endpoints/components/AllModelsTab: InfoCircleOutlined/SettingOutlined \u2192 Info/Settings. - models-and-endpoints/ModelsAndEndpointsView: PlusCircleOutlined \u2192 PlusCircle. - CostTrackingSettings/cost_tracking_settings: ExclamationCircleOutlined \u2192 AlertCircle. All files keep their original JSX usage via 'as' aliases, so antd Button icon= props and inline JSX continue to render unchanged. Gates: TS \u2713 | Build \u2713. Co-authored-by: yuneng-jiang --- .../models-and-endpoints/ModelsAndEndpointsView.tsx | 2 +- .../models-and-endpoints/components/AllModelsTab.tsx | 2 +- .../(dashboard)/teams/components/modals/CreateTeamModal.tsx | 2 +- ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx | 2 +- .../CostTrackingSettings/cost_tracking_settings.tsx | 2 +- ui/litellm-dashboard/src/components/DefaultUserSettings.tsx | 2 +- .../src/components/Projects/ProjectModals/ProjectBaseForm.tsx | 2 +- .../src/components/SearchTools/CreateSearchTools.tsx | 2 +- ui/litellm-dashboard/src/components/ToolDetail.tsx | 2 +- .../components/vector_store_management/VectorStoreForm.tsx | 2 +- ui/litellm-dashboard/src/components/view_logs/index.tsx | 4 ++-- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/ModelsAndEndpointsView.tsx b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/ModelsAndEndpointsView.tsx index cacf68c898f..6b2086fa9d8 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/ModelsAndEndpointsView.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/ModelsAndEndpointsView.tsx @@ -19,7 +19,7 @@ import { useQueryClient } from "@tanstack/react-query"; import { Tab, TabGroup, TabList, TabPanel, TabPanels } from "@tremor/react"; import type { UploadProps } from "antd"; import { Form } from "antd"; -import { PlusCircleOutlined } from "@ant-design/icons"; +import { PlusCircle as PlusCircleOutlined } from "lucide-react"; import React, { useEffect, useMemo, useState } from "react"; import AddModelTab from "../../../components/add_model/add_model_tab"; import HealthCheckComponent from "../../../components/model_dashboard/HealthCheckComponent"; diff --git a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AllModelsTab.tsx b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AllModelsTab.tsx index a2718ea8b3d..6169c78b7c8 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AllModelsTab.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/models-and-endpoints/components/AllModelsTab.tsx @@ -8,7 +8,7 @@ import { getDisplayModelName } from "@/components/view_model/model_name_display" import DeleteResourceModal from "@/components/common_components/DeleteResourceModal"; import NotificationsManager from "@/components/molecules/notifications_manager"; import { modelDeleteCall } from "@/components/networking"; -import { InfoCircleOutlined, SettingOutlined } from "@ant-design/icons"; +import { Info as InfoCircleOutlined, Settings as SettingOutlined } from "lucide-react"; import { PaginationState, SortingState } from "@tanstack/react-table"; // eslint-disable-next-line litellm-ui/no-banned-ui-imports import { useQueryClient } from "@tanstack/react-query"; diff --git a/ui/litellm-dashboard/src/app/(dashboard)/teams/components/modals/CreateTeamModal.tsx b/ui/litellm-dashboard/src/app/(dashboard)/teams/components/modals/CreateTeamModal.tsx index be18369af82..8bb00649669 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/teams/components/modals/CreateTeamModal.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/teams/components/modals/CreateTeamModal.tsx @@ -1,7 +1,7 @@ // eslint-disable-next-line litellm-ui/no-banned-ui-imports import { Button as Button2, Form, Input, Modal, Select as Select2, Switch, Tooltip } from "antd"; import { Accordion, AccordionBody, AccordionHeader, Text, TextInput } from "@tremor/react"; -import { InfoCircleOutlined } from "@ant-design/icons"; +import { Info as InfoCircleOutlined } from "lucide-react"; import { fetchAvailableModelsForTeamOrKey, getModelDisplayName, diff --git a/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx b/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx index 5d7aabe5041..94aeae4617a 100644 --- a/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx +++ b/ui/litellm-dashboard/src/components/AIHub/ModelHubTable.tsx @@ -24,7 +24,7 @@ import { import PublicModelHub from "@/components/public_model_hub"; import { isAdminRole } from "@/utils/roles"; // eslint-disable-next-line litellm-ui/no-banned-ui-imports -import { CopyOutlined } from "@ant-design/icons"; +import { Copy as CopyOutlined } from "lucide-react"; import { Badge, Button, Card, Tab, TabGroup, TabList, TabPanel, TabPanels, Text, Title } from "@tremor/react"; import { Modal } from "antd"; import { Copy } from "lucide-react"; diff --git a/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx b/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx index dc7989cad47..0f93456941a 100644 --- a/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx +++ b/ui/litellm-dashboard/src/components/CostTrackingSettings/cost_tracking_settings.tsx @@ -8,7 +8,7 @@ import AddProviderForm from "./add_provider_form"; import ProviderMarginTable from "./provider_margin_table"; import AddMarginForm from "./add_margin_form"; import PricingCalculator from "./pricing_calculator/index"; -import { ExclamationCircleOutlined } from "@ant-design/icons"; +import { AlertCircle as ExclamationCircleOutlined } from "lucide-react"; import { DocsMenu } from "../HelpLink"; import HowItWorks from "./how_it_works"; import { useDiscountConfig } from "./use_discount_config"; diff --git a/ui/litellm-dashboard/src/components/DefaultUserSettings.tsx b/ui/litellm-dashboard/src/components/DefaultUserSettings.tsx index 8490f5e1241..12ef047ed5b 100644 --- a/ui/litellm-dashboard/src/components/DefaultUserSettings.tsx +++ b/ui/litellm-dashboard/src/components/DefaultUserSettings.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; import { Card, Title, Text, Divider, TextInput } from "@tremor/react"; import { Button, Typography, Spin, Switch, Select, InputNumber } from "antd"; -import { PlusOutlined, DeleteOutlined } from "@ant-design/icons"; +import { Plus as PlusOutlined, Trash2 as DeleteOutlined } from "lucide-react"; import { getInternalUserSettings, updateInternalUserSettings, modelAvailableCall } from "./networking"; import BudgetDurationDropdown, { getBudgetDurationLabel } from "./common_components/budget_duration_dropdown"; import { getModelDisplayName } from "./key_team_helpers/fetch_available_models_team_key"; diff --git a/ui/litellm-dashboard/src/components/Projects/ProjectModals/ProjectBaseForm.tsx b/ui/litellm-dashboard/src/components/Projects/ProjectModals/ProjectBaseForm.tsx index 81d8fabe084..490f44b247b 100644 --- a/ui/litellm-dashboard/src/components/Projects/ProjectModals/ProjectBaseForm.tsx +++ b/ui/litellm-dashboard/src/components/Projects/ProjectModals/ProjectBaseForm.tsx @@ -16,7 +16,7 @@ import { Button, } from "antd"; import type { FormInstance } from "antd"; -import { PlusOutlined, MinusCircleOutlined } from "@ant-design/icons"; +import { Plus as PlusOutlined, MinusCircle as MinusCircleOutlined } from "lucide-react"; import useAuthorized from "@/app/(dashboard)/hooks/useAuthorized"; import { useTeams } from "@/app/(dashboard)/hooks/teams/useTeams"; import { Team } from "../../key_team_helpers/key_list"; diff --git a/ui/litellm-dashboard/src/components/SearchTools/CreateSearchTools.tsx b/ui/litellm-dashboard/src/components/SearchTools/CreateSearchTools.tsx index 3c528c63f4b..dcd6f732083 100644 --- a/ui/litellm-dashboard/src/components/SearchTools/CreateSearchTools.tsx +++ b/ui/litellm-dashboard/src/components/SearchTools/CreateSearchTools.tsx @@ -1,5 +1,5 @@ import { isAdminRole } from "@/utils/roles"; -import { InfoCircleOutlined } from "@ant-design/icons"; +import { Info as InfoCircleOutlined } from "lucide-react"; import { useQuery } from "@tanstack/react-query"; // eslint-disable-next-line litellm-ui/no-banned-ui-imports import { Button, TextInput } from "@tremor/react"; diff --git a/ui/litellm-dashboard/src/components/ToolDetail.tsx b/ui/litellm-dashboard/src/components/ToolDetail.tsx index b2a7d9bfbe4..55adb593fff 100644 --- a/ui/litellm-dashboard/src/components/ToolDetail.tsx +++ b/ui/litellm-dashboard/src/components/ToolDetail.tsx @@ -1,6 +1,6 @@ "use client"; -import { ArrowLeftOutlined, HistoryOutlined, ToolOutlined } from "@ant-design/icons"; +import { ArrowLeft as ArrowLeftOutlined, History as HistoryOutlined, Wrench as ToolOutlined } from "lucide-react"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { Button, Select, Spin } from "antd"; import React, { useCallback, useEffect, useMemo, useState } from "react"; diff --git a/ui/litellm-dashboard/src/components/vector_store_management/VectorStoreForm.tsx b/ui/litellm-dashboard/src/components/vector_store_management/VectorStoreForm.tsx index 14150b2685a..6868cf9e0a8 100644 --- a/ui/litellm-dashboard/src/components/vector_store_management/VectorStoreForm.tsx +++ b/ui/litellm-dashboard/src/components/vector_store_management/VectorStoreForm.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; // eslint-disable-next-line litellm-ui/no-banned-ui-imports import { TextInput, Button as TremorButton } from "@tremor/react"; import { Modal, Form, Select, Tooltip, Input, Alert } from "antd"; -import { InfoCircleOutlined } from "@ant-design/icons"; +import { Info as InfoCircleOutlined } from "lucide-react"; import { CredentialItem, vectorStoreCreateCall } from "../networking"; import { VectorStoreProviders, diff --git a/ui/litellm-dashboard/src/components/view_logs/index.tsx b/ui/litellm-dashboard/src/components/view_logs/index.tsx index cf9eab3a65e..7a9326f82b9 100644 --- a/ui/litellm-dashboard/src/components/view_logs/index.tsx +++ b/ui/litellm-dashboard/src/components/view_logs/index.tsx @@ -4,7 +4,7 @@ import { useCallback, useDeferredValue, useEffect, useRef, useState } from "reac import GuardrailViewer from "@/components/view_logs/GuardrailViewer/GuardrailViewer"; import { formatNumberWithCommas } from "@/utils/dataUtils"; import { truncateString } from "@/utils/textUtils"; -import { SettingOutlined, SyncOutlined } from "@ant-design/icons"; +import { Settings as SettingOutlined, RefreshCcw as SyncOutlined } from "lucide-react"; import { Row } from "@tanstack/react-table"; // eslint-disable-next-line litellm-ui/no-banned-ui-imports import { Switch, Tab, TabGroup, TabList, TabPanel, TabPanels } from "@tremor/react"; @@ -594,7 +594,7 @@ export default function SpendLogsTable({