统一简化多个页面里的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:
LingandRX
2026-05-20 20:07:44 +08:00
committed by GitHub
parent 7167a43763
commit 373fc0496c
24 changed files with 535 additions and 153 deletions
+6 -5
View File
@@ -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