refactor(tenants): clean up Visibility tab copy after global-appearance removal

Updates the tenant edit Visibility tab so its labels and helper text
reflect the new tenant-only appearance model. After the global appearance
settings were removed, legends like "Use default color" / "Inherit global
setting" and help texts like "applies the global system appearance" /
"uses its own default theme instead of the global setting" were wrong —
there is no global appearance to inherit from anymore. An empty tenant
field means "use the system default" (hardcoded light theme, no brand
accent, user-theme allowed).

- Info blockquote at the top rewritten.
- "Use default color" → "No brand color" / "Use system default (no brand
  accent)" with updated helper text.
- Default theme placeholder "Inherit global setting" → "Use system default
  (light)" + new helper text.
- User-theme policy "Inherit global setting" → "Use system default
  (allowed)".

i18n: removed the now-orphaned keys ("Use default color", "Using the
default color applies the global system appearance.", "Be careful - this
resets the tenants color", "Inherit global setting", "If set, this tenant
uses its own default theme instead of the global setting."). Added the
new keys in de + en.

No behavior change — only copy. PHPStan, PHPUnit green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-22 22:49:50 +02:00
parent 4a8b9ab64d
commit c4c294edd7
3 changed files with 21 additions and 17 deletions

View File

@@ -425,14 +425,18 @@
"Appearance": "Darstellung",
"API docs": "API-Doku",
"Can view API documentation": "Kann API-Dokumentation anzeigen",
"Use default color": "Standardfarbe verwenden",
"Using the default color applies the global system appearance.": "Standardfarbe verwenden heißt: Es werden die globalen Systemeinstellungen für die Darstellung genutzt.",
"Appearance is controlled per tenant. If a field is left at the system default, the app renders in light theme without a brand accent.": "Die Darstellung wird pro Mandant gesteuert. Wenn ein Feld auf Systemstandard bleibt, rendert die App im hellen Theme ohne Markenakzent.",
"No brand color": "Keine Markenfarbe",
"Use system default (no brand accent)": "Systemstandard verwenden (kein Markenakzent)",
"When enabled the tenant renders without a brand accent color.": "Wenn aktiv, rendert der Mandant ohne Markenakzent-Farbe.",
"Use system default (light)": "Systemstandard verwenden (hell)",
"The theme used for users in this tenant who have no personal preference.": "Das Theme für Nutzer dieses Mandanten, die keine persönliche Präferenz gesetzt haben.",
"Use system default (allowed)": "Systemstandard verwenden (erlaubt)",
"Inactive tenants are excluded from user access and tenant-scoped data.": "Inaktive Mandanten werden vom Benutzerzugriff und mandantenspezifischen Daten ausgeschlossen.",
"Status & meta": "Status & Meta",
"Audit": "Audit",
"Overview": "Übersicht",
"Choose color": "Farbe wählen",
"Be careful - this resets the tenants color": "Achtung das setzt die Primärfarbe des Mandanten zurück",
"Code": "Code",
"Cost center": "Kostenstelle",
"Department code already exists": "Abteilungscode existiert bereits",
@@ -757,10 +761,8 @@
"Default theme is invalid": "Standard-Theme ist ungültig",
"User theme policy is invalid": "Benutzer-Theme-Richtlinie ist ungültig",
"Theme change is disabled for this tenant": "Theme-Wechsel ist für diesen Mandanten deaktiviert",
"Inherit global setting": "Globale Einstellung übernehmen",
"Force allow user theme": "Benutzer-Theme erlauben (erzwingen)",
"Force disallow user theme": "Benutzer-Theme verbieten (erzwingen)",
"If set, this tenant uses its own default theme instead of the global setting.": "Wenn gesetzt, verwendet dieser Mandant sein eigenes Standard-Theme statt der globalen Einstellung.",
"Controls whether users in this tenant can choose their own theme.": "Steuert, ob Benutzer in diesem Mandanten ihr eigenes Theme wählen können.",
"Tenants can override color and theme behavior in their appearance settings.": "Mandanten können Farbe und Theme-Verhalten in ihren Darstellungs-Einstellungen überschreiben.",
"User theme policy": "Benutzer-Theme-Richtlinie",

View File

@@ -425,14 +425,18 @@
"Appearance": "Appearance",
"API docs": "API docs",
"Can view API documentation": "Can view API documentation",
"Use default color": "Use default color",
"Using the default color applies the global system appearance.": "Using the default color applies the global system appearance.",
"Appearance is controlled per tenant. If a field is left at the system default, the app renders in light theme without a brand accent.": "Appearance is controlled per tenant. If a field is left at the system default, the app renders in light theme without a brand accent.",
"No brand color": "No brand color",
"Use system default (no brand accent)": "Use system default (no brand accent)",
"When enabled the tenant renders without a brand accent color.": "When enabled the tenant renders without a brand accent color.",
"Use system default (light)": "Use system default (light)",
"The theme used for users in this tenant who have no personal preference.": "The theme used for users in this tenant who have no personal preference.",
"Use system default (allowed)": "Use system default (allowed)",
"Inactive tenants are excluded from user access and tenant-scoped data.": "Inactive tenants are excluded from user access and tenant-scoped data.",
"Status & meta": "Status & meta",
"Audit": "Audit",
"Overview": "Overview",
"Choose color": "Choose color",
"Be careful - this resets the tenants color": "Be careful - this resets the tenant color",
"Code": "Code",
"Cost center": "Cost center",
"Department code already exists": "Department code already exists",
@@ -757,10 +761,8 @@
"Default theme is invalid": "Default theme is invalid",
"User theme policy is invalid": "User theme policy is invalid",
"Theme change is disabled for this tenant": "Theme change is disabled for this tenant",
"Inherit global setting": "Inherit global setting",
"Force allow user theme": "Force allow user theme",
"Force disallow user theme": "Force disallow user theme",
"If set, this tenant uses its own default theme instead of the global setting.": "If set, this tenant uses its own default theme instead of the global setting.",
"Controls whether users in this tenant can choose their own theme.": "Controls whether users in this tenant can choose their own theme.",
"Tenants can override color and theme behavior in their appearance settings.": "Tenants can override color and theme behavior in their appearance settings.",
"User theme policy": "User theme policy",

View File

@@ -933,7 +933,7 @@ $openOverrideCard = $detailsOpenAll;
<div data-tab-panel="visibility">
<blockquote data-variant="info">
<?php e(t('Using the default color applies the global system appearance.')); ?>
<?php e(t('Appearance is controlled per tenant. If a field is left at the system default, the app renders in light theme without a brand accent.')); ?>
</blockquote>
<div class="grid">
<fieldset>
@@ -951,7 +951,7 @@ $openOverrideCard = $detailsOpenAll;
<fieldset>
<legend>
<small>
<?php e(t('Use default color')); ?>
<?php e(t('No brand color')); ?>
</small>
</legend>
<label class="app-field">
@@ -962,29 +962,29 @@ $openOverrideCard = $detailsOpenAll;
data-color-default="<?php e($defaultPrimaryColor); ?>"
<?php e($useDefaultPrimaryColor ? 'checked' : ''); ?>
<?php e($readonlyAttr); ?>>
<span><?php e(t('Use default color')); ?></span>
<span><?php e(t('Use system default (no brand accent)')); ?></span>
</label>
<small class="muted"><?php e(t('Be careful - this resets the tenants color')); ?></small>
<small class="muted"><?php e(t('When enabled the tenant renders without a brand accent color.')); ?></small>
</fieldset>
</div>
<div class="grid">
<fieldset>
<legend><small><?php e(t('Default theme')); ?></small></legend>
<select name="default_theme" <?php e($disabledAttr); ?>>
<option value=""><?php e(t('Inherit global setting')); ?></option>
<option value=""><?php e(t('Use system default (light)')); ?></option>
<?php foreach ($themes as $themeKey => $themeLabel): ?>
<option value="<?php e($themeKey); ?>" <?php e($tenantDefaultTheme === $themeKey ? 'selected' : ''); ?>>
<?php e(t($themeLabel)); ?>
</option>
<?php endforeach; ?>
</select>
<small class="muted"><?php e(t('If set, this tenant uses its own default theme instead of the global setting.')); ?></small>
<small class="muted"><?php e(t('The theme used for users in this tenant who have no personal preference.')); ?></small>
</fieldset>
<fieldset>
<legend><small><?php e(t('User theme policy')); ?></small></legend>
<select name="allow_user_theme_mode" <?php e($disabledAttr); ?>>
<option value="" <?php e($tenantAllowUserThemeMode === '' ? 'selected' : ''); ?>>
<?php e(t('Inherit global setting')); ?>
<?php e(t('Use system default (allowed)')); ?>
</option>
<option value="1" <?php e($tenantAllowUserThemeMode === '1' ? 'selected' : ''); ?>>
<?php e(t('Force allow user theme')); ?>