feat(ui): show internal hostname and densify config UI

Add an application Internal access section that loads the running
container hostname (skipped for Compose apps), densify configuration
diff and popup-small defaults, dock the server-timing HUD into the
mobile top bar, restyle the 2FA challenge with the auth shell, and
enforce 16px mobile form fonts to prevent iOS zoom.
This commit is contained in:
Andras Bacsai
2026-08-05 21:24:25 +02:00
parent 8046e5a28d
commit 4d35c63d89
22 changed files with 369 additions and 213 deletions
+10 -5
View File
@@ -2,12 +2,17 @@
it('uses at least sixteen pixel form controls on mobile to prevent input focus zoom', function (string $stylesheet) {
$css = file_get_contents(dirname(__DIR__, 2).'/'.$stylesheet);
$baseLayerStart = strpos($css, '@layer base {');
$mobileRuleStart = strpos($css, '@media (max-width: 767px)');
expect($css)->toContain('@media (max-width: 767px)')
->and($css)->toContain('input,')
->and($css)->toContain('textarea,')
->and($css)->toContain('select')
->and($css)->toContain('font-size: 16px');
expect($baseLayerStart)->not->toBeFalse()
->and($mobileRuleStart)->toBeGreaterThan($baseLayerStart)
->and(substr_count(substr($css, $baseLayerStart, $mobileRuleStart - $baseLayerStart), '{'))
->toBeGreaterThan(substr_count(substr($css, $baseLayerStart, $mobileRuleStart - $baseLayerStart), '}'))
->and($css)->toContain(':root input,')
->and($css)->toContain(':root textarea,')
->and($css)->toContain(':root select')
->and($css)->toContain('font-size: 16px !important;');
})->with([
'current interface' => 'resources/css/app.css',
'v5 interface' => 'resources/css/v5/app.css',