v1.3.0: UI打磨 — 全局动画(slideIn/scaleIn/shimmer) + 面板入场动画 + 微交互 + 视觉一致性 | 10 files +112/-24 | tsc零错误 构建成功

This commit is contained in:
OpsXShell Dev committed 2026-04-18 20:21:03 +08:00
1 parent 1f2de032a4
commit 924a02b9cc
10 files changed
+112 -24

No files matched your search

+3 -3
View File
@@ -304,13 +304,13 @@ function SnippetItem({ snippet, copied, canInsert, onInsert, onCopy, onEdit, onD
const preview = snippet.content.split('\n')[0].slice(0, 60) + (snippet.content.length > 60 ? '…' : '')
return (
<div className="group rounded-lg border border-dark-700 hover:border-dark-600 bg-dark-850 p-2.5 transition-colors">
<div className="group rounded-lg border border-dark-700 hover:border-dark-600 bg-dark-800 p-2.5 transition-colors duration-150">
{/* 名称行 */}
<div className="flex items-start justify-between gap-2 mb-1">
<span className="text-sm font-medium text-gray-200 truncate flex-1" title={snippet.name}>
{snippet.name}
</span>
<div className="flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0">
<div className="flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity duration-150 flex-shrink-0">
{/* 插入 */}
<button
onClick={() => onInsert(snippet.content)}
@@ -327,7 +327,7 @@ function SnippetItem({ snippet, copied, canInsert, onInsert, onCopy, onEdit, onD
className="p-1 rounded hover:bg-dark-600 text-gray-400 transition-colors"
>
{copied ? (
<span className="text-xs text-green-400 px-1">✓</span>
<span className="text-xs text-green-400 px-1 animate-scale-in">✓</span>
) : (
<Copy className="w-3.5 h-3.5" />
)}