refactor(icons): 迁移其他 views 目录图标到 lucide-react

- views/Center, views/Community, views/DataBrowser 等
- views/EventDetail, views/LimitAnalyse, views/StockOverview
- views/TradingSimulation, views/Pages, views/Authentication
- views/Profile, views/Settings
- 处理 Tag/TagIcon 命名冲突
- 涉及 52 个组件文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-25 12:25:28 +08:00
parent d4e671428d
commit c820cfa804
52 changed files with 426 additions and 468 deletions

View File

@@ -31,12 +31,8 @@ import {
PinInput,
PinInputField
} from '@chakra-ui/react';
import {
LinkIcon,
DeleteIcon,
EditIcon
} from '@chakra-ui/icons';
import { FaWeixin, FaMobile, FaEnvelope } from 'react-icons/fa';
import { Link2, Trash2, Pencil, Smartphone, Mail } from 'lucide-react';
import { WechatOutlined } from '@ant-design/icons';
import { useAuth } from '../../contexts/AuthContext';
import { getApiBase } from '../../utils/apiConfig';
import { logger } from '../../utils/logger';
@@ -241,7 +237,7 @@ export default function SettingsPage() {
<HStack justify="space-between">
<VStack align="start" spacing={1}>
<HStack>
<FaMobile />
<Smartphone />
<Text fontWeight="medium" color={textColor}>
{user?.phone || '未绑定手机号'}
</Text>
@@ -255,7 +251,7 @@ export default function SettingsPage() {
</VStack>
{user?.phone ? (
<Button
leftIcon={<DeleteIcon />}
leftIcon={<Trash2 size={16} />}
colorScheme="red"
variant="outline"
onClick={async () => {
@@ -280,7 +276,7 @@ export default function SettingsPage() {
解绑
</Button>
) : (
<Button leftIcon={<LinkIcon />} onClick={onPhoneOpen}>
<Button leftIcon={<Link2 size={16} />} onClick={onPhoneOpen}>
绑定手机号
</Button>
)}
@@ -297,7 +293,7 @@ export default function SettingsPage() {
<HStack justify="space-between">
<VStack align="start" spacing={1}>
<HStack>
<FaEnvelope />
<Mail />
<Text fontWeight="medium" color={textColor}>{user?.email}</Text>
{user?.email_confirmed && (
<Badge colorScheme="green" size="sm">已验证</Badge>
@@ -307,7 +303,7 @@ export default function SettingsPage() {
邮箱用于登录和接收重要通知
</Text>
</VStack>
<Button leftIcon={<EditIcon />} onClick={onEmailOpen}>
<Button leftIcon={<Pencil size={16} />} onClick={onEmailOpen}>
更换邮箱
</Button>
</HStack>
@@ -323,7 +319,7 @@ export default function SettingsPage() {
<HStack justify="space-between">
<VStack align="start" spacing={1}>
<HStack>
<FaWeixin color="#1aad19" />
<WechatOutlined style={{ color: '#1aad19' }} />
<Text fontWeight="medium" color={textColor}>
{user?.has_wechat ? '已绑定微信' : '未绑定微信'}
</Text>
@@ -337,7 +333,7 @@ export default function SettingsPage() {
</VStack>
{user?.has_wechat ? (
<Button
leftIcon={<DeleteIcon />}
leftIcon={<Trash2 size={16} />}
colorScheme="red"
variant="outline"
onClick={async () => {
@@ -361,7 +357,7 @@ export default function SettingsPage() {
解绑微信
</Button>
) : (
<Button leftIcon={<LinkIcon />} colorScheme="green" onClick={async () => {
<Button leftIcon={<Link2 size={16} />} colorScheme="green" onClick={async () => {
setIsLoading(true);
try {
const base = getApiBase();