1
0

fix: resolve QG-001 typography token drift and QG-006 style violations

Replace raw line-height values with --leading-none/--leading-loose
design tokens in 3 CSS files. Fix 7 PHP style issues: import ordering,
unused imports, brace placement, multi-line argument formatting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 22:56:36 +01:00
parent e874e4570f
commit 48cb7c9e08
10 changed files with 28 additions and 18 deletions

View File

@@ -16,6 +16,7 @@ use MintyPHP\Http\SessionStore;
use MintyPHP\Http\SessionStoreInterface;
use MintyPHP\Repository\Search\SearchQueryRepository;
use MintyPHP\Repository\Stats\AdminStatsRepository;
use MintyPHP\Repository\System\SystemHealthRepository;
use MintyPHP\Repository\Tenant\UserTenantRepository;
use MintyPHP\Repository\User\UserReadRepository;
use MintyPHP\Service\Access\PermissionService;
@@ -45,7 +46,6 @@ use MintyPHP\Service\Settings\SettingsFrontendTelemetryGateway;
use MintyPHP\Service\Stats\AdminStatsViewDataService;
use MintyPHP\Service\System\SystemHealthService;
use MintyPHP\Service\System\SystemInfoService;
use MintyPHP\Repository\System\SystemHealthRepository;
final class AppServicesRegistrar implements ContainerRegistrar
{

View File

@@ -8,7 +8,6 @@ use MintyPHP\App\Module\Contracts\LayoutContextProvider;
use MintyPHP\App\Module\Contracts\ModuleDeactivationHandler;
use MintyPHP\App\Module\Contracts\SearchResourceProvider;
use MintyPHP\App\Module\Contracts\SessionProvider;
use MintyPHP\App\Module\ModuleManifest;
use MintyPHP\App\Module\ModuleManifestLoader;
use MintyPHP\Console\Command;
use MintyPHP\Service\Access\AuthorizationPolicyInterface;

View File

@@ -10,8 +10,7 @@ class DirectorySettingsGateway
public function __construct(
private readonly SettingsDefaultsGateway $settingsDefaultsGateway,
private readonly SettingsAppGateway $settingsAppGateway
)
{
) {
}
public function setDefaultTenantId(?int $tenantId): void

View File

@@ -18,7 +18,8 @@ final class ModuleMigrationService
public function __construct(
private readonly ModuleRegistry $registry,
private readonly ModuleMigrationRepository $repository,
) {}
) {
}
/**
* Apply all pending module migrations.

View File

@@ -5,7 +5,6 @@ namespace MintyPHP\Tests\Support;
use MintyPHP\App\AppContainer;
use MintyPHP\Service\Settings\SettingCacheService;
use MintyPHP\Service\Settings\ThemeConfigGateway;
use MintyPHP\Tests\Support\AppContainerIsolationTrait;
use PHPUnit\Framework\TestCase;
class ThemeResolutionTest extends TestCase

View File

@@ -77,7 +77,10 @@ final class LayoutContextProviderTest extends TestCase
// addressbook.nav via the provider loop
$layoutNav = appBuildLayoutNavContext([], [], []);
self::assertArrayHasKey('addressbook.nav', $layoutNav,
'addressbook.nav key must be present in layoutNav when module is active');
self::assertArrayHasKey(
'addressbook.nav',
$layoutNav,
'addressbook.nav key must be present in layoutNav when module is active'
);
}
}

View File

@@ -46,8 +46,11 @@ final class SearchProviderCollectionTest extends TestCase
$coreResources = SearchConfig::resources('test', 'en');
$coreKeys = array_column($coreResources, 'key');
self::assertNotContains('address-book', $coreKeys,
'address-book must not be in Core search resources (moved to module)');
self::assertNotContains(
'address-book',
$coreKeys,
'address-book must not be in Core search resources (moved to module)'
);
}
public function testAddressBookSearchProviderDirectly(): void
@@ -105,16 +108,22 @@ final class SearchProviderCollectionTest extends TestCase
{
$moduleResources = SearchConfig::moduleResources();
self::assertArrayHasKey('address-book', $moduleResources,
'address-book resource must come from module provider via SearchConfig');
self::assertArrayHasKey(
'address-book',
$moduleResources,
'address-book resource must come from module provider via SearchConfig'
);
}
public function testTenantFilterMergedFromModule(): void
{
$filters = SearchConfig::tenantScopeFilters();
self::assertArrayHasKey('address-book', $filters,
'address-book tenant scope filter must be provided by module');
self::assertArrayHasKey(
'address-book',
$filters,
'address-book tenant scope filter must be provided by module'
);
}
public function testSearchConfigListUrlDelegatesToModule(): void

View File

@@ -13,7 +13,7 @@
background: transparent;
color: var(--app-muted-color);
font-size: var(--text-sm);
line-height: 1;
line-height: var(--leading-none);
cursor: pointer;
text-decoration: none;
transition:
@@ -29,6 +29,6 @@
.app-icon-button i {
font-size: 15px; /* icon-font metric — intentional px */
line-height: 1;
line-height: var(--leading-none);
}
}

View File

@@ -47,7 +47,7 @@
background: transparent;
color: var(--tabs-muted);
font-size: var(--text-xs);
line-height: 1;
line-height: var(--leading-none);
width: 24px;
height: 24px;
padding: 0;

View File

@@ -12,7 +12,7 @@
small {
--app-font-size: 0.875em;
line-height: 1.9;
line-height: var(--leading-loose);
}
div#debugger-bar {