Develop (#26)
统一简化多个页面里的CopyButton调用,删除不再需要的空回调参数 * feat: 添加clearCookies函数的单元测试并修复cookie域名处理逻辑 * feat: 增强 data URI 处理,支持带参数的前缀并更新相关测试 * fix: 修正 AGENTS.md 中 TypeScript 类型检查命令的描述 * feat: 添加 settings.local.json 文件以配置 Bash 权限 * perf: 预设背景色避免 Popup 弹窗白屏闪烁 * perf: 避免图标过早实例化,传递组件引用而非 JSX 节点 * feat: 添加 useLazyTranslation 和 preloadNamespaces 函数以支持动态加载 i18n 命名空间 * feat: 使用 useLazyTranslation 替换 useTranslation 以支持懒加载翻译 * feat: 添加 PageSkeleton 组件及其测试用例以支持页面加载骨架屏 * feat: 使用骨架屏替换加载状态指示器,优化用户体验 * feat: 优化 CopyButton 组件的复制功能,添加定时器管理复制状态 * feat: 调整 chunk 大小警告阈值以优化构建性能
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
*/
|
||||
import { alpha, Box, Card, CardActionArea, Stack, Typography, useTheme } from '@mui/material';
|
||||
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
||||
import React from 'react';
|
||||
import type { SvgIconProps } from '@mui/material/SvgIcon';
|
||||
import type { ComponentType } from 'react';
|
||||
import type { PaletteColorKey } from '@/config/features';
|
||||
|
||||
/**
|
||||
@@ -21,8 +22,8 @@ interface ToolCardProps {
|
||||
snapshot?: React.ReactNode;
|
||||
/** 主题色键,映射到 theme.palette[key].main */
|
||||
colorKey: PaletteColorKey;
|
||||
/** 工具图标元素 */
|
||||
icon: React.ReactNode;
|
||||
/** 图标组件引用 */
|
||||
icon: ComponentType<SvgIconProps>;
|
||||
/** 卡片点击事件处理函数 */
|
||||
onClick: () => void;
|
||||
}
|
||||
@@ -38,7 +39,7 @@ export default function ToolCard({
|
||||
description,
|
||||
snapshot,
|
||||
colorKey,
|
||||
icon,
|
||||
icon: IconComponent,
|
||||
onClick,
|
||||
}: ToolCardProps) {
|
||||
const theme = useTheme();
|
||||
@@ -93,7 +94,7 @@ export default function ToolCard({
|
||||
color: colorCode,
|
||||
}}
|
||||
>
|
||||
{icon}
|
||||
<IconComponent sx={{ fontSize: 20 }} />
|
||||
</Box>
|
||||
<Box>
|
||||
<Typography
|
||||
|
||||
Reference in New Issue
Block a user