🎨 refactor(ui): use lucide-react for search/refresh and chevron icons
- DashboardHeader.jsx: replace Semi's IconSearch/IconRefresh with lucide-react's Search/RefreshCw (size 16), preserve existing button styles - UptimePanel.jsx: replace Semi's IconRefresh with lucide-react's RefreshCw (size 14), keep styling intact - UserArea.jsx: replace Semi's IconChevronDown with lucide-react's ChevronDown (size 14), preserve visual parity - Update imports: remove @douyinfe/semi-icons usage where replaced; add lucide-react imports - Verified no remaining IconSearch/IconRefresh in dashboard; no new linter errors Motivation: unify icon library for core actions and improve UI consistency. Follow-ups: consider migrating remaining Semi icons (e.g., plus/minus, charts) to lucide-react.
This commit is contained in:
@@ -19,7 +19,7 @@ For commercial licensing, please contact support@quantumnous.com
|
|||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Button } from '@douyinfe/semi-ui';
|
import { Button } from '@douyinfe/semi-ui';
|
||||||
import { IconRefresh, IconSearch } from '@douyinfe/semi-icons';
|
import { RefreshCw, Search } from 'lucide-react';
|
||||||
|
|
||||||
const DashboardHeader = ({
|
const DashboardHeader = ({
|
||||||
getGreeting,
|
getGreeting,
|
||||||
@@ -42,13 +42,13 @@ const DashboardHeader = ({
|
|||||||
<div className="flex gap-3">
|
<div className="flex gap-3">
|
||||||
<Button
|
<Button
|
||||||
type='tertiary'
|
type='tertiary'
|
||||||
icon={<IconSearch />}
|
icon={<Search size={16} />}
|
||||||
onClick={showSearchModal}
|
onClick={showSearchModal}
|
||||||
className={`bg-green-500 hover:bg-green-600 ${ICON_BUTTON_CLASS}`}
|
className={`bg-green-500 hover:bg-green-600 ${ICON_BUTTON_CLASS}`}
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
type='tertiary'
|
type='tertiary'
|
||||||
icon={<IconRefresh />}
|
icon={<RefreshCw size={16} />}
|
||||||
onClick={refresh}
|
onClick={refresh}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
className={`bg-blue-500 hover:bg-blue-600 ${ICON_BUTTON_CLASS}`}
|
className={`bg-blue-500 hover:bg-blue-600 ${ICON_BUTTON_CLASS}`}
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ For commercial licensing, please contact support@quantumnous.com
|
|||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Card, Button, Spin, Tabs, TabPane, Tag, Empty } from '@douyinfe/semi-ui';
|
import { Card, Button, Spin, Tabs, TabPane, Tag, Empty } from '@douyinfe/semi-ui';
|
||||||
import { Gauge } from 'lucide-react';
|
import { Gauge, RefreshCw } from 'lucide-react';
|
||||||
import { IconRefresh } from '@douyinfe/semi-icons';
|
|
||||||
import { IllustrationConstruction, IllustrationConstructionDark } from '@douyinfe/semi-illustrations';
|
import { IllustrationConstruction, IllustrationConstructionDark } from '@douyinfe/semi-illustrations';
|
||||||
import ScrollableContainer from '../common/ui/ScrollableContainer';
|
import ScrollableContainer from '../common/ui/ScrollableContainer';
|
||||||
|
|
||||||
@@ -47,7 +46,7 @@ const UptimePanel = ({
|
|||||||
{t('服务可用性')}
|
{t('服务可用性')}
|
||||||
</div>
|
</div>
|
||||||
<Button
|
<Button
|
||||||
icon={<IconRefresh />}
|
icon={<RefreshCw size={14} />}
|
||||||
onClick={loadUptimeData}
|
onClick={loadUptimeData}
|
||||||
loading={uptimeLoading}
|
loading={uptimeLoading}
|
||||||
size="small"
|
size="small"
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ import {
|
|||||||
Dropdown,
|
Dropdown,
|
||||||
Typography,
|
Typography,
|
||||||
} from '@douyinfe/semi-ui';
|
} from '@douyinfe/semi-ui';
|
||||||
|
import { ChevronDown } from 'lucide-react';
|
||||||
import {
|
import {
|
||||||
IconChevronDown,
|
|
||||||
IconExit,
|
IconExit,
|
||||||
IconUserSetting,
|
IconUserSetting,
|
||||||
IconCreditCard,
|
IconCreditCard,
|
||||||
@@ -120,7 +120,7 @@ const UserArea = ({
|
|||||||
{userState.user.username}
|
{userState.user.username}
|
||||||
</Typography.Text>
|
</Typography.Text>
|
||||||
</span>
|
</span>
|
||||||
<IconChevronDown className="text-xs text-semi-color-text-2 dark:text-gray-400" />
|
<ChevronDown size={14} className="text-xs text-semi-color-text-2 dark:text-gray-400" />
|
||||||
</Button>
|
</Button>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ const PricingDisplaySettings = ({
|
|||||||
const items = [
|
const items = [
|
||||||
{
|
{
|
||||||
value: 'recharge',
|
value: 'recharge',
|
||||||
label: t('以充值价格显示')
|
label: t('充值价格显示')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 'ratio',
|
value: 'ratio',
|
||||||
|
|||||||
@@ -1788,7 +1788,7 @@
|
|||||||
"将仅保留第一个密钥文件,其余文件将被移除,是否继续?": "Only the first key file will be retained, and the remaining files will be removed. Continue?",
|
"将仅保留第一个密钥文件,其余文件将被移除,是否继续?": "Only the first key file will be retained, and the remaining files will be removed. Continue?",
|
||||||
"自定义模型名称": "Custom model name",
|
"自定义模型名称": "Custom model name",
|
||||||
"启用全部密钥": "Enable all keys",
|
"启用全部密钥": "Enable all keys",
|
||||||
"以充值价格显示": "Recharge price",
|
"充值价格显示": "Recharge price",
|
||||||
"美元汇率(非充值汇率,仅用于定价页面换算)": "USD exchange rate (not recharge rate, only used for pricing page conversion)",
|
"美元汇率(非充值汇率,仅用于定价页面换算)": "USD exchange rate (not recharge rate, only used for pricing page conversion)",
|
||||||
"美元汇率": "USD exchange rate",
|
"美元汇率": "USD exchange rate",
|
||||||
"隐藏操作项": "Hide actions",
|
"隐藏操作项": "Hide actions",
|
||||||
|
|||||||
Reference in New Issue
Block a user