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 <Icon/> JSX continue to render
unchanged.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
This commit is contained in:
Cursor Agent 2026-04-23 21:52:30 +00:00
parent b7351cc5a5
commit b9a08a9b7a
No known key found for this signature in database
11 changed files with 12 additions and 12 deletions

View file

@ -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";

View file

@ -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";

View file

@ -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,

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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";

View file

@ -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,

View file

@ -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({
<Button
type="default"
icon={<SyncOutlined spin={isButtonLoading} />}
icon={<SyncOutlined className={isButtonLoading ? "animate-spin" : undefined} />}
onClick={handleRefresh}
disabled={isButtonLoading}
title="Fetch data"