xfy 603a7f68cb refactor(ui): 提取共享 UI 组件,消除跨页面重复
新增 src/components/ui.rs 作为通用 UI 原子层,封装:

组件:
- <Pagination variant="admin"|"frontend">:合并 posts/comments/trash/home
  四个重复的分页实现,用 variant 区分配色(admin 灰黑 / 前台主题绿)
- <StatusBadge>:统一文章状态、评论状态、回收站剩余天数的徽章外层
- <EmptyState variant="default"|"error">:统一列表空态与加载失败占位

类名常量:
- ADMIN_CARD_CLASS / ADMIN_TABLE_CLASS / ADMIN_ROW_HOVER / CHECKBOX_CLASS
- BTN_SOLID_{GREEN,AMBER,RED}:批量操作实心按钮
- BTN_TEXT_{GREEN,AMBER,RED,ACCENT}:行内文字按钮

清理:
- 删除 input.css 中零引用的 .btn-primary 死代码(22 行)
- 删除 4 个重复的分页组件函数

注意:
- 前台空状态(home/search/archives/tags)保持 text-paper-secondary 配色,
  未强行统一到 admin 的灰色 token,避免改变视觉
- 回收站分页计数单位从"条"修正为"篇"(回收站里是文章)
2026-06-16 14:20:05 +08:00

36 lines
1.1 KiB
Rust

//! 组件模块
//!
//! 提供 Dioxus UI 组件,供前端页面(`src/pages/`)使用。
//! 包括布局(`frontend_layout`、`admin_layout`)、导航(`header`、`nav`、`footer`)、
//! 文章展示(`post`、`post_card`)、评论(`comments`)、骨架屏(`skeletons`)、
//! 表单控件(`forms`)以及图片查看器(`image_viewer`)等共享组件。
/// 后台布局组件。
pub mod admin_layout;
/// 后台页面骨架屏组件。
pub mod admin_skeleton;
/// 评论相关组件。
pub mod comments;
/// 页脚组件。
pub mod footer;
/// 表单控件组件。
pub mod forms;
/// 前台布局组件。
pub mod frontend_layout;
/// 顶部导航栏组件。
pub mod header;
/// 图片查看器组件。
pub mod image_viewer;
/// 导航组件。
pub mod nav;
/// 文章详情组件。
pub mod post;
/// 文章卡片组件。
pub mod post_card;
/// 骨架屏组件集合。
pub mod skeletons;
/// 通用 UI 原子组件与类名常量(卡片、按钮、分页、徽章、空状态)。
pub mod ui;
/// 编辑器页面骨架屏组件。
pub mod write_skeleton;