From 5380d0fbbe151fe1e7bf41bb54e7c12800e0dece Mon Sep 17 00:00:00 2001 From: "julia.kirschenheuter" Date: Wed, 8 Feb 2023 15:40:41 +0100 Subject: [PATCH] Create headings for settings pages Signed-off-by: julia.kirschenheuter --- .../lib/Controller/AppSettingsController.php | 2 +- apps/settings/lib/Controller/UsersController.php | 2 +- apps/settings/src/router.js | 2 ++ core/src/OCP/accessibility.js | 11 +++++++++++ core/templates/layout.user.php | 12 ++++++------ dist/core-main.js | 4 ++-- dist/core-main.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- ...ettings-vue-settings-apps-users-management.js.map | 2 +- 9 files changed, 27 insertions(+), 14 deletions(-) diff --git a/apps/settings/lib/Controller/AppSettingsController.php b/apps/settings/lib/Controller/AppSettingsController.php index a4addfc5b3560..d0ed408df0207 100644 --- a/apps/settings/lib/Controller/AppSettingsController.php +++ b/apps/settings/lib/Controller/AppSettingsController.php @@ -136,7 +136,7 @@ public function viewApps(): TemplateResponse { $params['bundles'] = $this->getBundles(); $this->navigationManager->setActiveEntry('core_apps'); - $templateResponse = new TemplateResponse('settings', 'settings-vue', ['serverData' => $params]); + $templateResponse = new TemplateResponse('settings', 'settings-vue', ['serverData' => $params, 'pageTitle' => $this->l10n->t('Apps')]); $policy = new ContentSecurityPolicy(); $policy->addAllowedImageDomain('https://usercontent.apps.nextcloud.com'); $templateResponse->setContentSecurityPolicy($policy); diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index 217abf0e156be..89a850c19809a 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -277,7 +277,7 @@ public function usersList(): TemplateResponse { $serverData['newUserRequireEmail'] = $this->config->getAppValue('core', 'newUser.requireEmail', 'no') === 'yes'; $serverData['newUserSendEmail'] = $this->config->getAppValue('core', 'newUser.sendEmail', 'yes') === 'yes'; - return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData]); + return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData, 'pageTitle' => $this->l10n->t('Users')]); } /** diff --git a/apps/settings/src/router.js b/apps/settings/src/router.js index 863bd49c32db1..c652c135a7694 100644 --- a/apps/settings/src/router.js +++ b/apps/settings/src/router.js @@ -27,6 +27,7 @@ import Router from 'vue-router' import { generateUrl } from '@nextcloud/router' import { APPS_SECTION_ENUM } from './constants/AppsConstants.js' import store from './store/index.js' +import Accessibility from '../../../core/src/OCP/accessibility' // Dynamic loading const Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users') @@ -126,6 +127,7 @@ router.afterEach(async (to) => { const metaTitle = await to.meta.title?.(to) if (metaTitle) { document.title = `${metaTitle} - ${baseTitle}` + OCP.Accessibility.setPageTitle(metaTitle) } else { document.title = baseTitle } diff --git a/core/src/OCP/accessibility.js b/core/src/OCP/accessibility.js index 3839509228fe3..3488f07cbb90e 100644 --- a/core/src/OCP/accessibility.js +++ b/core/src/OCP/accessibility.js @@ -29,4 +29,15 @@ export default { disableKeyboardShortcuts() { return loadState('theming', 'shortcutsDisabled', false) }, + /** + * Set a page title to h1 header + * + * @param {string} [pageTitle] page title from the history api + */ + setPageTitle(pageTitle) { + const heading = document.getElementById('pageHeadingLevel1') + if (heading) { + heading.textContent = pageTitle + } + }, } diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 951f0dabe21fc..0740c65164abf 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -19,9 +19,9 @@ <?php p(!empty($_['pageTitle'])?$_['pageTitle'].' - ':''); -p(!empty($_['application'])?$_['application'].' - ':''); -p($theme->getTitle()); -?> + p(!empty($_['application'])?$_['application'].' - ':''); + p($theme->getTitle()); + ?> @@ -57,6 +57,9 @@