diff --git a/src/components/Auth/AuthFormContent.js b/src/components/Auth/AuthFormContent.js index 1431f479..46f4e308 100644 --- a/src/components/Auth/AuthFormContent.js +++ b/src/components/Auth/AuthFormContent.js @@ -27,7 +27,8 @@ import { Divider, IconButton, } from "@chakra-ui/react"; -import { FaLock, FaWeixin } from "react-icons/fa"; +import { Lock } from "lucide-react"; +import { WechatOutlined } from '@ant-design/icons'; import { useAuth } from "../../contexts/AuthContext"; import { useAuthModal } from "../../hooks/useAuthModal"; import { useNotification } from "../../contexts/NotificationContext"; @@ -490,7 +491,7 @@ export default function AuthFormContent() { 其他登录方式: } + icon={} size="sm" variant="ghost" color="#07C160" @@ -511,7 +512,7 @@ export default function AuthFormContent() { )} - + {/* 隐私声明 */} diff --git a/src/components/Auth/WechatRegister.js b/src/components/Auth/WechatRegister.js index d11a4a1f..5cbe8430 100644 --- a/src/components/Auth/WechatRegister.js +++ b/src/components/Auth/WechatRegister.js @@ -11,8 +11,7 @@ import { useToast, Spinner } from "@chakra-ui/react"; -import { FaQrcode } from "react-icons/fa"; -import { FiAlertCircle } from "react-icons/fi"; +import { QrCode, AlertCircle } from "lucide-react"; import { useNavigate } from "react-router-dom"; import { authService, WECHAT_STATUS, STATUS_MESSAGES } from "../../services/authService"; import { useAuthModal } from "../../hooks/useAuthModal"; @@ -508,7 +507,7 @@ export default function WechatRegister() { ) : ( /* 未获取:显示占位符 */
- + @@ -180,7 +180,7 @@ export default function Configurator(props) { - diff --git a/src/components/ConnectionStatusBar/index.js b/src/components/ConnectionStatusBar/index.js index 738a0368..061c2efd 100644 --- a/src/components/ConnectionStatusBar/index.js +++ b/src/components/ConnectionStatusBar/index.js @@ -17,7 +17,7 @@ import { useColorModeValue, Slide, } from '@chakra-ui/react'; -import { MdRefresh } from 'react-icons/md'; +import { RefreshCw } from 'lucide-react'; /** * 连接状态枚举 @@ -119,7 +119,7 @@ const ConnectionStatusBar = ({ @@ -194,7 +194,7 @@ const UrlSchemeLauncher = ({ variant="outline" width="100%" onClick={handleCopy} - leftIcon={} + leftIcon={} > {copied ? '已复制' : '复制链接'} diff --git a/src/components/Navbars/AuthNavbar.js b/src/components/Navbars/AuthNavbar.js index 15084eb3..9935d540 100755 --- a/src/components/Navbars/AuthNavbar.js +++ b/src/components/Navbars/AuthNavbar.js @@ -48,8 +48,7 @@ import { import { SidebarResponsive } from 'components/Sidebar/Sidebar'; import PropTypes from 'prop-types'; import { Fragment } from 'react'; -import { AiFillStar } from 'react-icons/ai'; -import { GoChevronDown, GoChevronRight } from 'react-icons/go'; +import { Star, ChevronDown, ChevronRight } from 'lucide-react'; import { NavLink } from 'react-router-dom'; import { SidebarContext } from 'contexts/SidebarContext'; import routes from 'routes.js'; @@ -313,7 +312,7 @@ export default function AuthNavbar(props) { {link.name} - + - + } + icon={} onClick={clearSearch} aria-label="清除搜索" _hover={{ bg: "transparent" }} diff --git a/src/components/Navbars/components/CalendarButton.js b/src/components/Navbars/components/CalendarButton.js index 8b2f7a12..3184de44 100644 --- a/src/components/Navbars/components/CalendarButton.js +++ b/src/components/Navbars/components/CalendarButton.js @@ -9,7 +9,7 @@ import { ModalBody, ModalCloseButton } from '@chakra-ui/react'; -import { FiCalendar } from 'react-icons/fi'; +import { Calendar } from 'lucide-react'; import InvestmentCalendar from '@components/InvestmentCalendar'; /** @@ -35,7 +35,7 @@ const CalendarButton = memo(() => { colorScheme="blue" variant="solid" borderRadius="full" - leftIcon={} + leftIcon={} onClick={() => setIsModalOpen(true)} > 投资日历 diff --git a/src/components/Navbars/components/FeatureMenus/FollowingEventsMenu.js b/src/components/Navbars/components/FeatureMenus/FollowingEventsMenu.js index 8e99fb27..7fec7833 100644 --- a/src/components/Navbars/components/FeatureMenus/FollowingEventsMenu.js +++ b/src/components/Navbars/components/FeatureMenus/FollowingEventsMenu.js @@ -17,8 +17,7 @@ import { Spinner, useColorModeValue } from '@chakra-ui/react'; -import { ChevronDownIcon } from '@chakra-ui/icons'; -import { FiCalendar } from 'react-icons/fi'; +import { Calendar, ChevronDown } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; import { useFollowingEvents } from '../../../../hooks/useFollowingEvents'; import { getEventDetailUrl } from '@/utils/idEncoder'; @@ -67,8 +66,8 @@ const FollowingEventsMenu = memo(() => { colorScheme="purple" variant="solid" borderRadius="full" - rightIcon={} - leftIcon={} + rightIcon={} + leftIcon={} > 自选事件 {followingEvents && followingEvents.length > 0 && ( diff --git a/src/components/Navbars/components/FeatureMenus/WatchlistMenu.js b/src/components/Navbars/components/FeatureMenus/WatchlistMenu.js index 418147bf..1b64012b 100644 --- a/src/components/Navbars/components/FeatureMenus/WatchlistMenu.js +++ b/src/components/Navbars/components/FeatureMenus/WatchlistMenu.js @@ -17,8 +17,7 @@ import { Spinner, useColorModeValue } from '@chakra-ui/react'; -import { ChevronDownIcon } from '@chakra-ui/icons'; -import { FiStar } from 'react-icons/fi'; +import { Star, ChevronDown } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; import { useWatchlist } from '../../../../hooks/useWatchlist'; import FavoriteButton from '@/components/FavoriteButton'; @@ -66,8 +65,8 @@ const WatchlistMenu = memo(() => { colorScheme="teal" variant="solid" borderRadius="full" - rightIcon={} - leftIcon={} + rightIcon={} + leftIcon={} > 自选股 {watchlistQuotes && watchlistQuotes.length > 0 && ( diff --git a/src/components/Navbars/components/NavbarActions/index.js b/src/components/Navbars/components/NavbarActions/index.js index 23378906..0e804f1a 100644 --- a/src/components/Navbars/components/NavbarActions/index.js +++ b/src/components/Navbars/components/NavbarActions/index.js @@ -3,7 +3,7 @@ import React, { memo } from 'react'; import { HStack, IconButton, Box } from '@chakra-ui/react'; -import { HamburgerIcon } from '@chakra-ui/icons'; +import { Menu } from 'lucide-react'; // import ThemeToggleButton from '../ThemeToggleButton'; // ❌ 已删除 - 不再支持深色模式切换 import LoginButton from '../LoginButton'; import CalendarButton from '../CalendarButton'; @@ -84,7 +84,7 @@ const NavbarActions = memo(({ ) : ( // 移动端:汉堡菜单(打开抽屉) } + icon={} variant="ghost" onClick={onMenuOpen} aria-label="打开菜单" diff --git a/src/components/Navbars/components/Navigation/DesktopNav.js b/src/components/Navbars/components/Navigation/DesktopNav.js index 7932c010..91154cb4 100644 --- a/src/components/Navbars/components/Navigation/DesktopNav.js +++ b/src/components/Navbars/components/Navigation/DesktopNav.js @@ -17,7 +17,7 @@ import { Box, useColorModeValue } from '@chakra-ui/react'; -import { ChevronDownIcon } from '@chakra-ui/icons'; +import { ChevronDown } from 'lucide-react'; import { useNavigate, useLocation } from 'react-router-dom'; import { useNavigationEvents } from '../../../../hooks/useNavigationEvents'; import { useDelayedMenu } from '../../../../hooks/useDelayedMenu'; @@ -60,7 +60,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => { } + rightIcon={} bg={isActive(['/community', '/concepts']) ? 'blue.600' : 'transparent'} color={isActive(['/community', '/concepts']) ? 'white' : 'inherit'} fontWeight={isActive(['/community', '/concepts']) ? 'bold' : 'normal'} @@ -127,7 +127,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => { } + rightIcon={} bg={isActive(['/limit-analyse', '/stocks', '/trading-simulation']) ? 'blue.600' : 'transparent'} color={isActive(['/limit-analyse', '/stocks', '/trading-simulation']) ? 'white' : 'inherit'} fontWeight={isActive(['/limit-analyse', '/stocks', '/trading-simulation']) ? 'bold' : 'normal'} @@ -199,7 +199,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => { } + rightIcon={} bg={isActive(['/agent-chat', '/value-forum']) ? 'blue.600' : 'transparent'} color={isActive(['/agent-chat', '/value-forum']) ? 'white' : 'inherit'} fontWeight={isActive(['/agent-chat', '/value-forum']) ? 'bold' : 'normal'} @@ -274,7 +274,7 @@ const DesktopNav = memo(({ isAuthenticated, user }) => { } + rightIcon={} onMouseEnter={contactUsMenu.handleMouseEnter} onMouseLeave={contactUsMenu.handleMouseLeave} onClick={contactUsMenu.handleClick} diff --git a/src/components/Navbars/components/Navigation/MoreMenu.js b/src/components/Navbars/components/Navigation/MoreMenu.js index 9b2c349c..5e052d61 100644 --- a/src/components/Navbars/components/Navigation/MoreMenu.js +++ b/src/components/Navbars/components/Navigation/MoreMenu.js @@ -14,7 +14,7 @@ import { HStack, Badge } from '@chakra-ui/react'; -import { ChevronDownIcon } from '@chakra-ui/icons'; +import { ChevronDown } from 'lucide-react'; import { useNavigate, useLocation } from 'react-router-dom'; import { useDelayedMenu } from '../../../../hooks/useDelayedMenu'; @@ -45,7 +45,7 @@ const MoreMenu = memo(({ isAuthenticated, user }) => { } + rightIcon={} fontWeight="medium" onMouseEnter={moreMenu.handleMouseEnter} onMouseLeave={moreMenu.handleMouseLeave} diff --git a/src/components/Navbars/components/Navigation/PersonalCenterMenu.js b/src/components/Navbars/components/Navigation/PersonalCenterMenu.js index 167e4425..8a84d97b 100644 --- a/src/components/Navbars/components/Navigation/PersonalCenterMenu.js +++ b/src/components/Navbars/components/Navigation/PersonalCenterMenu.js @@ -15,9 +15,7 @@ import { useColorModeValue, useDisclosure } from '@chakra-ui/react'; -import { ChevronDownIcon } from '@chakra-ui/icons'; -import { FiHome, FiUser, FiSettings, FiLogOut } from 'react-icons/fi'; -import { FaCrown } from 'react-icons/fa'; +import { ChevronDown, Home, User, Settings, LogOut, Crown } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; /** @@ -50,7 +48,7 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => { as={Button} size="sm" variant="ghost" - rightIcon={} + rightIcon={} _hover={{ bg: hoverBg }} onMouseEnter={onOpen} onMouseLeave={onClose} @@ -70,7 +68,7 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => { {/* 前往个人中心 */} - } onClick={() => { + } onClick={() => { onClose(); // 先关闭菜单 navigate('/home/center'); }}> @@ -80,13 +78,13 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => { {/* 账户管理组 */} - } onClick={() => { + } onClick={() => { onClose(); // 先关闭菜单 navigate('/home/profile'); }}> 个人资料 - } onClick={() => { + } onClick={() => { onClose(); // 先关闭菜单 navigate('/home/settings'); }}> @@ -96,7 +94,7 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => { {/* 功能入口组 */} - } onClick={() => { + } onClick={() => { onClose(); // 先关闭菜单 navigate('/home/pages/account/subscription'); }}> @@ -106,7 +104,7 @@ const PersonalCenterMenu = memo(({ user, handleLogout }) => { {/* 退出 */} - } onClick={handleLogout} color="red.500"> + } onClick={handleLogout} color="red.500"> 退出登录 diff --git a/src/components/Navbars/components/ProfileCompletenessAlert/index.js b/src/components/Navbars/components/ProfileCompletenessAlert/index.js index cc5119d5..a6b5edb4 100644 --- a/src/components/Navbars/components/ProfileCompletenessAlert/index.js +++ b/src/components/Navbars/components/ProfileCompletenessAlert/index.js @@ -12,7 +12,7 @@ import { IconButton, Icon } from '@chakra-ui/react'; -import { FiStar } from 'react-icons/fi'; +import { Star } from 'lucide-react'; /** * 资料完整性提醒横幅组件 @@ -45,7 +45,7 @@ const ProfileCompletenessAlert = memo(({ - + 完善资料,享受更好服务 diff --git a/src/components/Navbars/components/UserMenu/TabletUserMenu.js b/src/components/Navbars/components/UserMenu/TabletUserMenu.js index ddb19987..9cca6165 100644 --- a/src/components/Navbars/components/UserMenu/TabletUserMenu.js +++ b/src/components/Navbars/components/UserMenu/TabletUserMenu.js @@ -14,8 +14,7 @@ import { Flex, useColorModeValue } from '@chakra-ui/react'; -import { FiStar, FiCalendar, FiUser, FiSettings, FiHome, FiLogOut } from 'react-icons/fi'; -import { FaCrown } from 'react-icons/fa'; +import { Star, Calendar, User, Settings, Home, LogOut, Crown } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; import UserAvatar from './UserAvatar'; import { useSubscription } from '../../../../hooks/useSubscription'; @@ -84,7 +83,7 @@ const TabletUserMenu = memo(({ {/* 订阅管理 - 移动端导航到订阅页面 */} - } onClick={() => navigate('/home/pages/account/subscription')}> + } onClick={() => navigate('/home/pages/account/subscription')}> 订阅管理 @@ -96,12 +95,12 @@ const TabletUserMenu = memo(({ {/* 投资日历 */} - } onClick={() => navigate('/community')}> + } onClick={() => navigate('/community')}> 投资日历 {/* 自选股 */} - } onClick={() => navigate('/home/center')}> + } onClick={() => navigate('/home/center')}> 我的自选股 {watchlistQuotes && watchlistQuotes.length > 0 && ( @@ -111,7 +110,7 @@ const TabletUserMenu = memo(({ {/* 自选事件 */} - } onClick={() => navigate('/home/center')}> + } onClick={() => navigate('/home/center')}> 我的自选事件 {followingEvents && followingEvents.length > 0 && ( @@ -123,20 +122,20 @@ const TabletUserMenu = memo(({ {/* 个人中心 */} - } onClick={() => navigate('/home/center')}> + } onClick={() => navigate('/home/center')}> 个人中心 - } onClick={() => navigate('/home/profile')}> + } onClick={() => navigate('/home/profile')}> 个人资料 - } onClick={() => navigate('/home/settings')}> + } onClick={() => navigate('/home/settings')}> 账户设置 {/* 退出登录 */} - } onClick={handleLogout} color="red.500"> + } onClick={handleLogout} color="red.500"> 退出登录 diff --git a/src/components/NotificationContainer/index.js b/src/components/NotificationContainer/index.js index 4bb338d4..47f45539 100644 --- a/src/components/NotificationContainer/index.js +++ b/src/components/NotificationContainer/index.js @@ -19,7 +19,7 @@ import { } from '@chakra-ui/react'; import { keyframes } from '@emotion/react'; import { motion, AnimatePresence } from 'framer-motion'; -import { MdClose, MdOpenInNew, MdSchedule, MdExpandMore, MdExpandLess, MdPerson, MdAccessTime } from 'react-icons/md'; +import { X, ExternalLink, Clock as ClockIcon, ChevronDown, ChevronUp, User, Clock } from 'lucide-react'; import { useNotification } from '../../contexts/NotificationContext'; import { NOTIFICATION_TYPE_CONFIGS, @@ -479,7 +479,7 @@ const NotificationItem = React.memo(({ notification, onClose, isNewest = false } {/* 关闭按钮 */} } + icon={} size="xs" variant="ghost" colorScheme={typeConfig.colorScheme} @@ -524,7 +524,7 @@ const NotificationItem = React.memo(({ notification, onClose, isNewest = false } > {/* 时间信息 */} - + {publishTime && formatNotificationTime(publishTime)} {!publishTime && pushTime && formatNotificationTime(pushTime)} @@ -553,7 +553,7 @@ const NotificationItem = React.memo(({ notification, onClose, isNewest = false } 预测 {extra?.statusHint && ( <> - + {extra.statusHint} )} @@ -566,7 +566,7 @@ const NotificationItem = React.memo(({ notification, onClose, isNewest = false } <> | - + {author.name} - {author.organization} @@ -581,7 +581,7 @@ const NotificationItem = React.memo(({ notification, onClose, isNewest = false } {isNavigating ? ( ) : ( - + )} {/* Loading 时显示"跳转中...",否则显示"查看详情" */} @@ -734,7 +734,7 @@ const NotificationContainer = () => { outlineColor: 'blue.500', outlineOffset: '2px', }} - leftIcon={} + leftIcon={} onClick={() => setIsExpanded(!isExpanded)} aria-expanded={isExpanded} aria-label={isExpanded ? '收起通知' : `展开查看还有 ${hiddenCount} 条通知`} diff --git a/src/components/PerformancePanel.tsx b/src/components/PerformancePanel.tsx index b63a67a3..3e02d89e 100644 --- a/src/components/PerformancePanel.tsx +++ b/src/components/PerformancePanel.tsx @@ -27,7 +27,7 @@ import { DrawerContent, DrawerCloseButton, } from '@chakra-ui/react'; -import { MdSpeed, MdClose, MdRefresh, MdFileDownload } from 'react-icons/md'; +import { Gauge, X, RefreshCw, Download } from 'lucide-react'; import { performanceMonitor } from '@/utils/performanceMonitor'; /** @@ -98,7 +98,7 @@ export const PerformancePanel: React.FC = () => { {/* 浮动按钮 */} } + icon={} position="fixed" bottom="100px" right="20px" @@ -117,7 +117,7 @@ export const PerformancePanel: React.FC = () => { - + 性能监控面板 @@ -128,7 +128,7 @@ export const PerformancePanel: React.FC = () => { {/* 操作按钮 */} @@ -1460,7 +1459,7 @@ export default function SubscriptionContentNew() { border="1px solid rgba(76, 175, 80, 0.3)" > - + {priceInfo.final_amount === 0 ? `恭喜!您的当前订阅剩余价值足够直接升级到${selectedPlan.displayName},无需支付额外费用!` @@ -1477,7 +1476,7 @@ export default function SubscriptionContentNew() { border="1px solid rgba(255, 165, 0, 0.3)" > - + 当前{priceInfo.current_plan?.toUpperCase()}订阅到期后自动切换到{selectedPlan.displayName} @@ -1492,7 +1491,7 @@ export default function SubscriptionContentNew() { border="1px solid rgba(33, 150, 243, 0.3)" > - + 续费{selectedPlan.displayName},在当前到期日基础上延长时长 @@ -1536,7 +1535,7 @@ export default function SubscriptionContentNew() { {promoCodeApplied && priceInfo.discount_amount > 0 && ( - + 优惠码折扣 @@ -1606,12 +1605,12 @@ export default function SubscriptionContentNew() { borderRadius="md" border="1px solid rgba(72, 187, 120, 0.3)" > - + 优惠码已应用!节省 ¥{priceInfo.discount_amount.toFixed(2)} - : } + : } _hover={{ bgGradient: paymentMethod === 'alipay' ? 'linear-gradient(135deg, #4096ff, #1677FF)' @@ -1770,7 +1769,7 @@ export default function SubscriptionContentNew() { w="full" > - + 订单有效时间: {formatTime(paymentCountdown)} @@ -1810,7 +1809,7 @@ export default function SubscriptionContentNew() { borderColor="rgba(255, 255, 255, 0.2)" borderRadius="lg" > - + )} @@ -1845,7 +1844,7 @@ export default function SubscriptionContentNew() { bgGradient="linear-gradient(135deg, #1677FF, #0958d9)" color="white" fontWeight="bold" - leftIcon={} + leftIcon={} onClick={handleReopenAlipay} _hover={{ bgGradient: 'linear-gradient(135deg, #4096ff, #1677FF)', @@ -1864,7 +1863,7 @@ export default function SubscriptionContentNew() { bgGradient="linear-gradient(135deg, #D4AF37, #B8941F)" color="#000" fontWeight="bold" - leftIcon={} + leftIcon={} onClick={handleForceUpdate} isLoading={forceUpdating} _hover={{ diff --git a/src/components/Subscription/SubscriptionModal.js b/src/components/Subscription/SubscriptionModal.js index 3b1f96eb..5fdec1c1 100644 --- a/src/components/Subscription/SubscriptionModal.js +++ b/src/components/Subscription/SubscriptionModal.js @@ -12,7 +12,7 @@ import { Text, useColorModeValue, } from '@chakra-ui/react'; -import { FiStar } from 'react-icons/fi'; +import { Star } from 'lucide-react'; import PropTypes from 'prop-types'; import SubscriptionContent from './SubscriptionContent'; @@ -23,7 +23,7 @@ export default function SubscriptionModal({ isOpen, onClose }) { - + 订阅管理 diff --git a/src/components/SubscriptionBadge.js b/src/components/SubscriptionBadge.js index 34ed24c1..85ef6f80 100644 --- a/src/components/SubscriptionBadge.js +++ b/src/components/SubscriptionBadge.js @@ -9,7 +9,7 @@ import { Text, useColorModeValue, } from '@chakra-ui/react'; -import { FaStar, FaCrown } from 'react-icons/fa'; +import { Star, Crown } from 'lucide-react'; import { logger } from '../utils/logger'; /** @@ -23,13 +23,13 @@ const SubscriptionBadge = ({ tier = 'pro', size = 'sm' }) => { const config = { pro: { label: 'PRO专享', - icon: FaStar, + icon: Star, bgGradient: 'linear(to-r, blue.400, purple.500)', color: 'white', }, max: { label: 'MAX专享', - icon: FaCrown, + icon: Crown, bgGradient: 'linear(to-r, pink.400, red.500)', color: 'white', }, diff --git a/src/components/SubscriptionUpgradeModal.js b/src/components/SubscriptionUpgradeModal.js index df52a79d..78c08d7f 100644 --- a/src/components/SubscriptionUpgradeModal.js +++ b/src/components/SubscriptionUpgradeModal.js @@ -17,7 +17,7 @@ import { Icon, Divider } from '@chakra-ui/react'; -import { FaCrown, FaLock, FaStar, FaRocket } from 'react-icons/fa'; +import { Crown, Lock, Star, Rocket } from 'lucide-react'; const SubscriptionUpgradeModal = ({ isOpen, @@ -34,19 +34,19 @@ const SubscriptionUpgradeModal = ({ const subscriptionLevels = { free: { name: '免费版', - icon: FaLock, + icon: Lock, color: 'gray', features: ['基础事件浏览', '有限历史事件查看'] }, pro: { name: 'Pro版', - icon: FaStar, + icon: Star, color: 'blue', features: ['相关标的分析', '相关概念分析', '完整历史事件'] }, max: { name: 'Max版', - icon: FaCrown, + icon: Crown, color: 'purple', features: ['传导链分析', '高级分析工具', '实时数据推送', '所有Pro版功能'] } @@ -66,7 +66,7 @@ const SubscriptionUpgradeModal = ({ - + 需要{requiredLevelInfo.name}订阅 @@ -138,13 +138,13 @@ const SubscriptionUpgradeModal = ({ {/* 升级提示 */} - - + 升级到{requiredLevelInfo.name}即可解锁此功能 @@ -158,9 +158,9 @@ const SubscriptionUpgradeModal = ({ - {pageSize === 5 ? ( - + diff --git a/src/components/Tables/BillingRow.js b/src/components/Tables/BillingRow.js index 52201f9e..6ba3b4ba 100755 --- a/src/components/Tables/BillingRow.js +++ b/src/components/Tables/BillingRow.js @@ -24,7 +24,7 @@ import { useColorModeValue, } from "@chakra-ui/react"; import React from "react"; -import { FaPencilAlt, FaTrashAlt } from "react-icons/fa"; +import { Pencil, Trash2 } from "lucide-react"; function BillingRow(props) { const textColor = useColorModeValue("gray.700", "white"); @@ -70,7 +70,7 @@ function BillingRow(props) { me={{ md: "12px" }} > - + DELETE @@ -78,7 +78,7 @@ function BillingRow(props) { {pageSize === 5 ? ( - + diff --git a/src/components/Tables/SearchTable2.js b/src/components/Tables/SearchTable2.js index 0f9c1eae..2211c3ca 100755 --- a/src/components/Tables/SearchTable2.js +++ b/src/components/Tables/SearchTable2.js @@ -40,15 +40,7 @@ import { } from "@chakra-ui/react"; import React, { useMemo } from "react"; import { SearchBar } from "components/Navbars/SearchBar/SearchBar"; -import { MdReplay, MdCheck } from "react-icons/md"; -import { IoMdClose } from "react-icons/io"; -import { FaCheckCircle, FaTimesCircle, FaUndoAlt } from "react-icons/fa"; -import { GrFormNext, GrFormPrevious } from "react-icons/gr"; -import { - TiArrowSortedDown, - TiArrowSortedUp, - TiArrowUnsorted, -} from "react-icons/ti"; +import { RotateCcw, Check, X, CheckCircle, XCircle, Undo2, ChevronRight, ChevronLeft, ChevronDown, ChevronUp, ChevronsUpDown } from "lucide-react"; import { useGlobalFilter, usePagination, @@ -145,9 +137,9 @@ function SearchTable2(props) { as={ column.isSorted ? column.isSortedDesc - ? TiArrowSortedDown - : TiArrowSortedUp - : TiArrowUnsorted + ? ChevronDown + : ChevronUp + : ChevronsUpDown } /> @@ -185,10 +177,10 @@ function SearchTable2(props) { - + {pageSize === 5 ? ( - + diff --git a/src/components/Tables/TablesProjectRow.js b/src/components/Tables/TablesProjectRow.js index 14d9ecaa..4c272282 100755 --- a/src/components/Tables/TablesProjectRow.js +++ b/src/components/Tables/TablesProjectRow.js @@ -26,7 +26,7 @@ import { useColorModeValue, } from "@chakra-ui/react"; import React from "react"; -import { FaEllipsisV } from "react-icons/fa"; +import { MoreVertical } from "lucide-react"; function DashboardTableRow(props) { const { logo, name, status, budget, progression } = props; @@ -74,7 +74,7 @@ function DashboardTableRow(props) { diff --git a/src/components/Tables/TablesReportsRow.js b/src/components/Tables/TablesReportsRow.js index 7410d51e..0dc61cc2 100755 --- a/src/components/Tables/TablesReportsRow.js +++ b/src/components/Tables/TablesReportsRow.js @@ -25,7 +25,7 @@ import { useColorModeValue, } from "@chakra-ui/react"; import React from "react"; -import { BsCircleFill } from "react-icons/bs"; +import { Circle } from "lucide-react"; function TablesReportsRow(props) { const { @@ -99,9 +99,10 @@ function TablesReportsRow(props) { > = ({ <> {/* 标签 */} - {showIcon && } + {showIcon && } {label}: @@ -157,7 +156,7 @@ const TradeDatePicker: React.FC = ({ _hover={{ opacity: 1 }} transition="opacity 0.2s" > - + 数据更新至 {latestTradeDate.toLocaleDateString('zh-CN')}