Files
argon-theme/.kiro/specs/global-ui-optimization/tasks.md

171 lines
7.3 KiB
Markdown
Raw Normal View History

# Implementation Plan: Global UI Optimization
## Overview
本实现计划将 Argon 主题的 UI 优化分为多个主要任务,按照依赖关系顺序执行。首先建立动画系统基础,然后逐步优化各个组件,添加新的主题变体,最后实现统一的邮件模板系统。
## Tasks
- [x] 1. 建立动画系统 CSS 变量基础
- 在 style.css 的 :root 中添加动画时长变量(--animation-fast, --animation-normal, --animation-slow, --animation-slower
- 添加 Material 3 标准缓动函数变量(--ease-standard, --ease-emphasized, --ease-spring 等)
- 添加状态层透明度变量(--state-hover-opacity, --state-pressed-opacity 等)
- 添加 prefers-reduced-motion 媒体查询支持
- _Requirements: 5.1, 5.2, 5.4_
- [x] 2. 优化按钮组件样式
- [x] 2.1 修改 .btn-primary 样式,移除渐变背景,使用纯色主题色
- 更新 background 属性使用 var(--themecolor)
- 添加悬停状态颜色加深和阴影提升效果
- 添加按下状态颜色加深和缩放效果
- 使用 var(--card-radius) 统一圆角
- _Requirements: 1.1, 1.2, 1.3, 1.4_
- [x] 2.2 添加涟漪效果ripple effect
- 创建 .btn-ripple 类实现 CSS 涟漪动画
- 使用 ::after 伪元素和 radial-gradient 实现
- _Requirements: 1.5_
- [x] 3. 优化分享按钮动画效果
- [x] 3.1 更新分享按钮容器样式
- 修改 #share_container#share 的布局样式
- 使用 flexbox 和 gap 属性优化间距
- _Requirements: 3.4_
- [x] 3.2 实现错落有致的展开动画
-#share > a 添加初始状态opacity: 0, transform: scale(0.8) translateX(10px)
- 为每个子元素添加递增的 transition-delay30ms 间隔)
- 使用 --ease-spring 缓动函数
- _Requirements: 3.1, 3.2_
- [x] 3.3 优化主按钮变换动画
- 修改 #share_show 的 .opened 状态样式
- 添加旋转和缩放变换rotate(45deg) scale(0.9)
- _Requirements: 3.3_
- [x] 3.4 更新分享图标按钮为纯色背景
- 移除 template-parts/post-actions.php 中按钮的 style 属性中的渐变
- 使用纯色背景色
- _Requirements: 3.6_
- [x] 4. 优化评论展开动画效果
- [x] 4.1 更新评论区容器过渡动画
- 修改 #comments#post_comment 的 transition 属性
- 使用 CSS 变量定义动画时长var(--animation-slow)
- 使用 --ease-emphasized 缓动函数
- 确保使用 max-height 和 opacity 进行动画
- _Requirements: 4.1, 4.2, 4.4_
- [x] 4.2 添加切换按钮图标动画
-#comments_toggle .btn-inner--icon i 添加 transition
- 在展开状态添加旋转变换
- 更新 template-parts/post-actions.php 中的 JavaScript 逻辑
- _Requirements: 4.3_
- [x] 4.3 优化滚动位置稳定性
- 在 argontheme.js 中优化评论展开时的滚动处理
- 使用 requestAnimationFrame 确保动画流畅
- _Requirements: 4.6_
- [x] 5. 优化设置面板外观
- [x] 5.1 更新设置面板容器样式
- 修改 #fabtn_blog_settings_popup 的圆角16px和阴影
- 添加 backdrop-filter 玻璃效果
- 优化内边距和间距
- _Requirements: 2.1, 2.5_
- [x] 5.2 实现 Material 3 风格分段控件
- 创建 .segmented-control 和 .segmented-control-item 样式
- 更新字体和阴影选择器使用新的分段控件样式
- 选中状态使用纯色主题色背景
- _Requirements: 2.3, 2.6_
- [x] 6. 添加新主题变体样式
- [x] 6.1 实现玻璃拟态Glassmorphism样式
- 创建 html.style-glass 选择器下的卡片和面板样式
- 使用 backdrop-filter: blur(20px) saturate(180%)
- 添加半透明背景和边框
- 支持暗色模式变体
- _Requirements: 6.1_
- [x] 6.2 实现新拟态Neumorphism样式
- 创建 html.style-neumorphism 选择器下的卡片样式
- 使用双向阴影(凸起效果)
- 支持暗色模式变体
- _Requirements: 6.2_
- [x] 6.3 添加样式切换功能
- 在 argontheme.js 中添加样式切换函数
- 更新 localStorage 存储逻辑
- 为主要元素添加 transition 支持样式切换动画
- _Requirements: 6.4_
- [x] 6.4 在设置面板中添加样式选择器
- 添加样式预览按钮
- 绑定点击事件切换样式
- _Requirements: 6.5_
- [x] 7. Checkpoint - 验证 UI 优化功能
- 确保所有样式修改正确应用
- 测试各种浏览器兼容性
- 验证暗色模式下的显示效果
- 确保动画流畅无卡顿
- 如有问题请询问用户
- [x] 8. 实现邮件模板基础系统
- [x] 8.1 创建邮件模板目录和基础模板文件
- 创建 email-templates/ 目录
- 创建 email-templates/base.php 基础模板
- 实现页眉、内容区、页脚三段式结构
- 使用表格布局确保邮件客户端兼容性
- _Requirements: 7.1, 7.7_
- [x] 8.2 实现邮件模板渲染函数
- 在 functions.php 中添加 argon_get_email_template() 函数
- 添加 argon_render_email() 模板变量替换函数
- 添加 argon_send_email() 统一邮件发送函数
- _Requirements: 7.1_
- [x] 9. 实现邮件模板后台设置
- [x] 9.1 添加邮件模板设置选项
- 在 settings.php 中添加"邮件模板"设置区域
- 添加主题色选择器(颜色选择器控件)
- 添加 Logo 图片上传控件
- 添加博客显示名称输入框
- _Requirements: 7.2, 7.3_
- [x] 9.2 添加页脚和社交链接设置
- 添加页脚版权信息文本框
- 添加社交链接输入组Twitter、GitHub、微博等
- 实现设置保存和读取逻辑
- _Requirements: 7.4_
- [x] 9.3 实现邮件预览功能
- 添加 AJAX 预览接口 argon_preview_email
- 创建预览模态框 UI
- 支持预览评论通知和回复通知两种类型
- _Requirements: 7.8_
- [x] 10. 实现具体邮件类型模板
- [x] 10.1 创建评论通知邮件模板
- 创建 email-templates/comment-notify.php
- 包含评论者名称、文章标题、评论内容
- 添加"查看评论"按钮链接
- _Requirements: 7.5_
- [x] 10.2 创建评论回复通知邮件模板
- 创建 email-templates/reply-notify.php
- 包含原评论内容、回复者名称、回复内容
- 添加"查看回复"按钮链接
- _Requirements: 7.6_
- [x] 10.3 集成邮件模板到现有通知逻辑
- 修改 functions.php 中的评论通知发送逻辑
- 替换原有邮件内容为新模板渲染结果
- 确保向后兼容(设置为空时使用默认值)
- _Requirements: 7.5, 7.6_
- [x] 11. Checkpoint - 验证邮件模板功能
- 测试邮件模板设置保存和读取
- 测试邮件预览功能
- 发送测试邮件验证实际效果
- 在 Gmail、Outlook 中验证显示效果
- 如有问题请询问用户
## Notes
- 所有 CSS 修改应在 style.css 文件中进行
- JavaScript 修改应在 argontheme.js 文件中进行
- PHP 模板修改应在 template-parts/post-actions.php 中进行
- 邮件模板文件放置在 email-templates/ 目录
- 邮件模板设置添加到 settings.php
- 邮件模板函数添加到 functions.php
- 优先使用 CSS 变量以保持一致性和可维护性
- 动画应使用 GPU 加速属性transform, opacity以确保性能
- 邮件模板必须使用内联样式和表格布局以确保客户端兼容性