Render empty state on Settings page when no group is available#25541
Conversation
When all setting groups are hidden by contributors or permissions (e.g. tenant users in Shared user accounts mode), the Settings page went completely blank. Show a small empty state across MVC, Blazor and Angular, plus a localizable string in all locales.
There was a problem hiding this comment.
Pull request overview
Adds an explicit “empty state” for the Settings UI when no setting groups/tabs are available (e.g., all groups hidden by contributors/permissions), preventing a fully blank page across Angular, MVC, and Blazor. Also introduces a new localizable string (NoSettingsAvailable) and supplies translations across all Setting Management locales in this repo.
Changes:
- Angular: render an empty-state message when
settingshas no visible tabs. - MVC + Blazor: render an empty-state message when there are no setting groups.
- Localization: add
NoSettingsAvailabletext in allAbpSettingManagementJSON locales.
Reviewed changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| npm/ng-packs/packages/setting-management/src/lib/components/setting-management.component.html | Show empty state when there are no visible setting tabs (Angular). |
| modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Index.cshtml | Show empty state when there are no setting groups (MVC/Razor Pages). |
| modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Pages/SettingManagement/SettingManagement.razor | Show empty state when there are no setting groups (Blazor). |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/ar.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/cs.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/de-DE.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/de.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/el.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en-GB.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/es.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/fa.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/fi.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/fr.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/hi.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/hr.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/hu.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/is.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/it.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/nl.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pl-PL.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/ro-RO.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/ru.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/sk.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/sl.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/sv.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/vi.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json | Add NoSettingsAvailable translation. |
| modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json | Add NoSettingsAvailable translation. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## rel-10.4 #25541 +/- ##
============================================
- Coverage 49.42% 49.41% -0.01%
============================================
Files 3670 3670
Lines 123599 123748 +149
Branches 9453 9463 +10
============================================
+ Hits 61091 61153 +62
- Misses 60672 60780 +108
+ Partials 1836 1815 -21 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
When all setting groups are hidden by contributors or permissions (e.g. tenant users in Shared user accounts mode), the Settings page went completely blank. Show a small empty state across MVC, Blazor and Angular, plus a localizable string in all locales.