chore(admin-ui): tokenise primary tints for pagination and interactions

This commit is contained in:
萝卜
2026-03-16 02:04:12 +08:00
parent 7f331faf04
commit 9a0afbb354
4 changed files with 81 additions and 4 deletions

View File

@@ -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{

View File

@@ -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;

View File

@@ -0,0 +1,35 @@
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class AdminComponentsCssPaginationShouldUsePrimaryTintTokensTest extends TestCase
{
use RefreshDatabase;
protected function loginAsPlatformAdmin(): void
{
$this->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);
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class AdminThemeCssShouldDefinePrimaryTintTokensTest extends TestCase
{
use RefreshDatabase;
protected function loginAsPlatformAdmin(): void
{
$this->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);
}
}