diff --git a/public/css/admin-components.css b/public/css/admin-components.css index 18a2dde..86a0472 100644 --- a/public/css/admin-components.css +++ b/public/css/admin-components.css @@ -180,8 +180,8 @@ } .adm-page-num.is-active{ - border-color:rgba(22, 119, 255, .45); - background:rgba(22, 119, 255, .08); + border-color:var(--adm-primary-border-45, rgba(22, 119, 255, .45)); + background:var(--adm-primary-tint-08, rgba(22, 119, 255, .08)); color:var(--adm-text, #0f172a); font-weight:700; } @@ -189,8 +189,8 @@ .adm-page-btn:hover, .adm-page-num:hover{ text-decoration:none; - border-color:rgba(22, 119, 255, .35); - background:rgba(22, 119, 255, .06); + border-color:var(--adm-primary-border-35, rgba(22, 119, 255, .35)); + background:var(--adm-primary-tint-06, rgba(22, 119, 255, .06)); } .adm-page-btn.is-disabled{ diff --git a/public/css/admin-theme.css b/public/css/admin-theme.css index 692f40e..564dee7 100644 --- a/public/css/admin-theme.css +++ b/public/css/admin-theme.css @@ -44,6 +44,13 @@ --adm-table-header-bg: #fafafa; --adm-table-row-hover-bg: rgba(22, 119, 255, .04); + /* 控件/交互层(hover/active 的统一 tint,用于分页/顶部菜单等) */ + --adm-primary-tint-04: rgba(22, 119, 255, .04); + --adm-primary-tint-06: rgba(22, 119, 255, .06); + --adm-primary-tint-08: rgba(22, 119, 255, .08); + --adm-primary-border-35: rgba(22, 119, 255, .35); + --adm-primary-border-45: rgba(22, 119, 255, .45); + /* 状态色(接近 Ant Design) */ --adm-success: #16a34a; --adm-warning: #f59e0b; diff --git a/tests/Feature/AdminComponentsCssPaginationShouldUsePrimaryTintTokensTest.php b/tests/Feature/AdminComponentsCssPaginationShouldUsePrimaryTintTokensTest.php new file mode 100644 index 0000000..4b70c5d --- /dev/null +++ b/tests/Feature/AdminComponentsCssPaginationShouldUsePrimaryTintTokensTest.php @@ -0,0 +1,35 @@ +seed(); + + $this->post('/admin/login', [ + 'email' => 'platform.admin@demo.local', + 'password' => 'Platform@123456', + ])->assertRedirect('/admin'); + } + + public function test_admin_components_css_pagination_should_use_primary_tint_tokens(): void + { + $this->loginAsPlatformAdmin(); + + $css = file_get_contents(public_path('css/admin-components.css')); + $this->assertIsString($css); + + // 分页 hover/active 应统一走 primary tint/border token,避免散落 rgba 硬编码。 + $this->assertStringContainsString('background:var(--adm-primary-tint-06', $css); + $this->assertStringContainsString('background:var(--adm-primary-tint-08', $css); + $this->assertStringContainsString('border-color:var(--adm-primary-border-35', $css); + $this->assertStringContainsString('border-color:var(--adm-primary-border-45', $css); + } +} diff --git a/tests/Feature/AdminThemeCssShouldDefinePrimaryTintTokensTest.php b/tests/Feature/AdminThemeCssShouldDefinePrimaryTintTokensTest.php new file mode 100644 index 0000000..59083cd --- /dev/null +++ b/tests/Feature/AdminThemeCssShouldDefinePrimaryTintTokensTest.php @@ -0,0 +1,35 @@ +seed(); + + $this->post('/admin/login', [ + 'email' => 'platform.admin@demo.local', + 'password' => 'Platform@123456', + ])->assertRedirect('/admin'); + } + + public function test_admin_theme_css_should_define_primary_tint_tokens(): void + { + $this->loginAsPlatformAdmin(); + + $css = file_get_contents(public_path('css/admin-theme.css')); + $this->assertIsString($css); + + $this->assertStringContainsString('--adm-primary-tint-04', $css); + $this->assertStringContainsString('--adm-primary-tint-06', $css); + $this->assertStringContainsString('--adm-primary-tint-08', $css); + $this->assertStringContainsString('--adm-primary-border-35', $css); + $this->assertStringContainsString('--adm-primary-border-45', $css); + } +}