forked from fa/breadcrumb-the-shire
Simplifies the tenant Visibility tab to match the tenant-only appearance
model established by the previous commits:
- primary_color: now required. Removed the "No brand color / Use system
default (no brand accent)" toggle — every tenant carries a concrete
primary color. Legacy NULL rows render the neutral app default (#2fa4a4)
in the color picker and are converted to that explicit hex on save.
- default_theme: the select no longer offers a "Use system default" empty
option. Legacy NULL rows resolve to 'light' at render time; saves always
persist a valid theme via SettingsAppGateway::normalizeTheme().
- allow_user_theme: replaced the tri-state "Use system default (allowed) /
Force allow / Force disallow" select with a single boolean switch
("Users may choose their own theme"). Legacy NULL rows load as checked.
Saves persist 0/1 explicitly.
TenantService: sanitize no longer reads primary_color_use_default or
allow_user_theme_mode; it validates primary_color as a required hex and
treats allow_user_theme as a plain boolean. Both create and update paths
write concrete values only — no more NULL writes for these three fields.
DirectorySettingsGateway gains a normalizeTheme() delegate so TenantService
can route through the same gateway it uses for isAllowedTheme().
Removed now-unused app-color-default-toggle JS component + its runtime
registration + its architecture-test entry. i18n cleanup: "No brand
color", "Use system default (no brand accent)", "When enabled the tenant
renders without a brand accent color.", "Use system default (light)",
"Use system default (allowed)", "Force allow user theme", "Force disallow
user theme", "User theme policy is invalid" all removed. New copy: "Users
may choose their own theme" + helper text, plus a tightened tab blockquote.
Tests: TenantServiceTest validInput() updated to send concrete values;
settingsGateway mock gets normalizeTheme() + isAllowedTheme() defaults.
All 1985 tests pass; PHPStan level 5 clean; QG-006 clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
2.1 KiB
PHP
48 lines
2.1 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\Tests\Architecture;
|
|
|
|
trait FrontendRuntimeContractSupport
|
|
{
|
|
/**
|
|
* @return list<string>
|
|
*/
|
|
private function runtimeMigratedComponentFiles(): array
|
|
{
|
|
return [
|
|
'web/js/components/app-flash-auto-dismiss.js',
|
|
'web/js/components/app-fslightbox-refresh.js',
|
|
'web/js/components/app-password-hints.js',
|
|
'web/js/components/app-copy-badge.js',
|
|
'web/js/components/app-multiselect-init.js',
|
|
'web/js/components/app-toggle-sidebar.js',
|
|
'web/js/components/app-toggle-aside-panels.js',
|
|
'web/js/components/app-toggle-details-aside.js',
|
|
'web/js/components/app-global-search.js',
|
|
'web/js/components/app-theme-toggle.js',
|
|
'web/js/components/app-contrast-toggle.js',
|
|
'web/js/components/app-confirm-actions.js',
|
|
'web/js/components/app-details-state.js',
|
|
'web/js/components/app-tenant-switcher.js',
|
|
'web/js/components/app-custom-field-options-toggle.js',
|
|
'web/js/components/app-tenant-sso-toggle.js',
|
|
'web/js/components/app-settings-telemetry.js',
|
|
'web/js/components/app-standard-detail-page.js',
|
|
'web/js/components/app-auto-submit.js',
|
|
'modules/bookmarks/web/js/components/app-bookmark-save.js',
|
|
'modules/bookmarks/web/js/components/app-bookmark-panel.js',
|
|
'web/js/components/app-lookup-field.js',
|
|
'web/js/components/app-password-toggle.js',
|
|
'web/js/components/app-page-editor.js',
|
|
'modules/helpdesk/web/js/helpdesk-detail.js',
|
|
'modules/helpdesk/web/js/helpdesk-domain-detail.js',
|
|
'modules/helpdesk/web/js/helpdesk-ticket.js',
|
|
'modules/helpdesk/web/js/helpdesk-team.js',
|
|
'modules/helpdesk/web/js/helpdesk-risk-radar.js',
|
|
'modules/helpdesk/web/js/helpdesk-settings.js',
|
|
'modules/helpdesk/web/js/handover-domain-select.js',
|
|
'modules/helpdesk/web/js/handover-schema-editor.js',
|
|
];
|
|
}
|
|
}
|