diff --git a/input.css b/input.css index 79ebd75..69e5d36 100644 --- a/input.css +++ b/input.css @@ -16,6 +16,8 @@ --color-paper-border: #e7e5e0; --color-paper-accent: #5c7a5e; --color-paper-accent-soft: #e8f0e8; + --color-paper-accent-2: #83495b; + --color-paper-accent-2-soft: #f3e8eb; --radius-paper: 8px; --gap-paper: 24px; @@ -50,6 +52,8 @@ --color-paper-border: #2a2b2e; --color-paper-accent: #7da97f; --color-paper-accent-soft: #1e2e1e; + --color-paper-accent-2: #cca4b0; + --color-paper-accent-2-soft: #331f25; } } diff --git a/src/components/ui.rs b/src/components/ui.rs index 5a046fc..a7ad322 100644 --- a/src/components/ui.rs +++ b/src/components/ui.rs @@ -58,6 +58,14 @@ pub const BTN_TEXT_RED: &str = /// 主题绿(鼠尾草)文字小按钮(行内恢复)。 pub const BTN_TEXT_ACCENT: &str = "text-xs text-paper-accent hover:text-paper-primary transition-colors cursor-pointer"; +// --- 次要按钮(冷调玫瑰第二色,ghost 描边风格,从属于主色鼠尾草绿) --- + +/// 次要按钮:冷调玫瑰描边 ghost 风格。 +/// 用于与主操作按钮(paper-accent 实心)成对的次操作,如「管理文章」「重建内容」。 +/// 亮色文字 #83495b vs 米白底 6.5:1、暗色 #cca4b0 vs entry 底 7.46:1,均过 WCAG AA。 +pub const BTN_SECONDARY: &str = + "px-6 py-3 rounded-full text-sm font-medium text-center text-paper-accent-2 border border-paper-accent-2/40 hover:border-paper-accent-2 hover:bg-paper-accent-2-soft transition-all cursor-pointer"; + // =========================================================================== // 组件 // =========================================================================== diff --git a/src/pages/admin/dashboard.rs b/src/pages/admin/dashboard.rs index 2ac1e47..63af261 100644 --- a/src/pages/admin/dashboard.rs +++ b/src/pages/admin/dashboard.rs @@ -12,8 +12,8 @@ use crate::api::comments::get_pending_count; use crate::api::posts::{get_post_stats, list_posts}; #[cfg(target_arch = "wasm32")] use crate::api::posts::{PostListResponse, PostStatsResponse}; -use crate::components::ui::ADMIN_CARD_CLASS; use crate::components::skeletons::atoms::SkeletonBox; +use crate::components::ui::{BTN_SECONDARY, ADMIN_CARD_CLASS}; use crate::models::post::{PostListItem, PostStats}; use crate::router::Route; @@ -106,12 +106,12 @@ pub fn Admin() -> Element { div { class: "grid grid-cols-1 md:grid-cols-2 gap-4", Link { - class: "bg-paper-accent text-paper-theme rounded-full px-6 py-3 text-center font-medium hover:brightness-110 active:scale-[0.98] transition-all duration-200 cursor-pointer", + class: "inline-flex items-center justify-center bg-paper-accent text-paper-theme rounded-full px-6 py-3 text-center font-medium hover:brightness-110 active:scale-[0.98] transition-all duration-200 cursor-pointer", to: Route::Write {}, "写文章" } Link { - class: "bg-paper-tertiary text-paper-primary rounded-full px-6 py-3 text-center font-medium hover:opacity-80 transition-opacity cursor-pointer", + class: "inline-flex items-center justify-center {BTN_SECONDARY}", to: Route::Posts {}, "管理文章" }