diff --git a/src/addons/blog/blog-lazy.module.ts b/src/addons/blog/blog-lazy.module.ts
index 5fab11220..2bd801405 100644
--- a/src/addons/blog/blog-lazy.module.ts
+++ b/src/addons/blog/blog-lazy.module.ts
@@ -22,6 +22,7 @@ import { CoreCommentsComponentsModule } from '@features/comments/components/comp
import { CoreTagComponentsModule } from '@features/tag/components/components.module';
import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module';
import { AddonBlogMainMenuHandlerService } from './services/handlers/mainmenu';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
function buildRoutes(injector: Injector): Routes {
return [
@@ -39,6 +40,7 @@ function buildRoutes(injector: Injector): Routes {
CoreSharedModule,
CoreCommentsComponentsModule,
CoreTagComponentsModule,
+ CoreMainMenuComponentsModule,
],
exports: [RouterModule],
providers: [
diff --git a/src/addons/blog/pages/entries/entries.html b/src/addons/blog/pages/entries/entries.html
index 6dd13b87c..60d027fcb 100644
--- a/src/addons/blog/pages/entries/entries.html
+++ b/src/addons/blog/pages/entries/entries.html
@@ -4,7 +4,9 @@
{{ title | translate }}
-
+
+
+
diff --git a/src/addons/calendar/pages/index/index.html b/src/addons/calendar/pages/index/index.html
index 1533cc434..b67f85700 100644
--- a/src/addons/calendar/pages/index/index.html
+++ b/src/addons/calendar/pages/index/index.html
@@ -22,6 +22,7 @@
[content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(undefined, $event, true)"
[iconAction]="syncIcon" [closeOnClick]="false">
+
diff --git a/src/addons/calendar/pages/index/index.module.ts b/src/addons/calendar/pages/index/index.module.ts
index be80e63e6..0ecbc7b6e 100644
--- a/src/addons/calendar/pages/index/index.module.ts
+++ b/src/addons/calendar/pages/index/index.module.ts
@@ -19,6 +19,7 @@ import { CoreSharedModule } from '@/core/shared.module';
import { AddonCalendarComponentsModule } from '../../components/components.module';
import { AddonCalendarIndexPage } from './index.page';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const routes: Routes = [
{
@@ -32,6 +33,7 @@ const routes: Routes = [
RouterModule.forChild(routes),
CoreSharedModule,
AddonCalendarComponentsModule,
+ CoreMainMenuComponentsModule,
],
declarations: [
AddonCalendarIndexPage,
diff --git a/src/addons/messages/pages/discussions-35/discussions.html b/src/addons/messages/pages/discussions-35/discussions.html
index 5c0b2b5e3..8824fe578 100644
--- a/src/addons/messages/pages/discussions-35/discussions.html
+++ b/src/addons/messages/pages/discussions-35/discussions.html
@@ -5,6 +5,7 @@
{{ 'addon.messages.messages' | translate }}
+
diff --git a/src/addons/messages/pages/discussions-35/discussions.module.ts b/src/addons/messages/pages/discussions-35/discussions.module.ts
index 15ec2604e..f26263d62 100644
--- a/src/addons/messages/pages/discussions-35/discussions.module.ts
+++ b/src/addons/messages/pages/discussions-35/discussions.module.ts
@@ -23,6 +23,7 @@ import { CoreSearchComponentsModule } from '@features/search/components/componen
import { AddonMessagesDiscussions35Page } from './discussions.page';
import { AddonMessagesMainMenuHandlerService } from '@addons/messages/services/handlers/mainmenu';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const mobileRoutes: Routes = [
{
@@ -58,6 +59,7 @@ const routes: Routes = [
RouterModule.forChild(routes),
CoreSharedModule,
CoreSearchComponentsModule,
+ CoreMainMenuComponentsModule,
],
declarations: [
AddonMessagesDiscussions35Page,
diff --git a/src/addons/messages/pages/group-conversations/group-conversations.html b/src/addons/messages/pages/group-conversations/group-conversations.html
index 7d02aa119..d55475d6c 100644
--- a/src/addons/messages/pages/group-conversations/group-conversations.html
+++ b/src/addons/messages/pages/group-conversations/group-conversations.html
@@ -11,6 +11,7 @@
+
diff --git a/src/addons/messages/pages/group-conversations/group-conversations.module.ts b/src/addons/messages/pages/group-conversations/group-conversations.module.ts
index a4390583e..8fbcc9bae 100644
--- a/src/addons/messages/pages/group-conversations/group-conversations.module.ts
+++ b/src/addons/messages/pages/group-conversations/group-conversations.module.ts
@@ -22,6 +22,7 @@ import { CoreSharedModule } from '@/core/shared.module';
import { AddonMessagesGroupConversationsPage } from './group-conversations.page';
import { AddonMessagesMainMenuHandlerService } from '@addons/messages/services/handlers/mainmenu';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const mobileRoutes: Routes = [
{
@@ -56,6 +57,7 @@ const routes: Routes = [
imports: [
RouterModule.forChild(routes),
CoreSharedModule,
+ CoreMainMenuComponentsModule,
],
declarations: [
AddonMessagesGroupConversationsPage,
diff --git a/src/addons/notifications/pages/list/list.html b/src/addons/notifications/pages/list/list.html
index aa11a1300..2863ef416 100644
--- a/src/addons/notifications/pages/list/list.html
+++ b/src/addons/notifications/pages/list/list.html
@@ -4,6 +4,9 @@
{{ 'addon.notifications.notifications' | translate }}
+
+
+
diff --git a/src/addons/notifications/pages/list/list.module.ts b/src/addons/notifications/pages/list/list.module.ts
index 5a4f6144d..b592079e7 100644
--- a/src/addons/notifications/pages/list/list.module.ts
+++ b/src/addons/notifications/pages/list/list.module.ts
@@ -18,6 +18,7 @@ import { RouterModule, Routes } from '@angular/router';
import { CoreSharedModule } from '@/core/shared.module';
import { AddonNotificationsComponentsModule } from '../../components/components.module';
import { AddonNotificationsListPage } from './list';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const routes: Routes = [
{
@@ -31,6 +32,7 @@ const routes: Routes = [
RouterModule.forChild(routes),
CoreSharedModule,
AddonNotificationsComponentsModule,
+ CoreMainMenuComponentsModule,
],
declarations: [
AddonNotificationsListPage,
diff --git a/src/core/components/navbar-buttons/navbar-buttons.ts b/src/core/components/navbar-buttons/navbar-buttons.ts
index 39b69167e..48439908e 100644
--- a/src/core/components/navbar-buttons/navbar-buttons.ts
+++ b/src/core/components/navbar-buttons/navbar-buttons.ts
@@ -56,7 +56,7 @@ const BUTTON_HIDDEN_CLASS = 'core-navbar-button-hidden';
})
export class CoreNavBarButtonsComponent implements OnInit, OnDestroy {
- @ViewChild('contextMenuContainer', { read: ViewContainerRef }) container?: ViewContainerRef;
+ @ViewChild('contextMenuContainer', { read: ViewContainerRef }) container!: ViewContainerRef;
// If the hidden input is true, hide all buttons.
// eslint-disable-next-line @angular-eslint/no-input-rename
@@ -113,7 +113,13 @@ export class CoreNavBarButtonsComponent implements OnInit, OnDestroy {
// Make sure that context-menu is always at the end of buttons if any.
const contextMenu = buttonsContainer.querySelector('core-context-menu');
- contextMenu?.parentElement?.appendChild(contextMenu);
+ const userMenu = buttonsContainer.querySelector('core-user-menu-button');
+
+ if (userMenu) {
+ contextMenu?.parentElement?.insertBefore(contextMenu, userMenu);
+ } else {
+ contextMenu?.parentElement?.appendChild(contextMenu);
+ }
} else {
this.logger.warn('The header was found, but it didn\'t have the right ion-buttons.', selector);
}
@@ -177,7 +183,7 @@ export class CoreNavBarButtonsComponent implements OnInit, OnDestroy {
*/
protected createMainContextMenu(): CoreContextMenuComponent {
const factory = this.factoryResolver.resolveComponentFactory(CoreContextMenuComponent);
- const componentRef = this.container!.createComponent(factory);
+ const componentRef = this.container.createComponent(factory);
this.createdMainContextMenuElement = componentRef.location.nativeElement;
diff --git a/src/core/components/user-avatar/user-avatar.scss b/src/core/components/user-avatar/user-avatar.scss
index 5d99ba41d..f0e1ff20d 100644
--- a/src/core/components/user-avatar/user-avatar.scss
+++ b/src/core/components/user-avatar/user-avatar.scss
@@ -36,13 +36,19 @@
content: "";
}
}
- &.core-bar-button-image img {
+ &.core-bar-button-image {
padding: 0;
width: var(--core-header-toolbar-button-image-size);
height: var(--core-header-toolbar-button-image-size);
max-width: var(--core-header-toolbar-button-image-size);
max-height: var(--core-header-toolbar-button-image-size);
border-radius: 50%;
+ display: block;
+
+ img {
+ padding: 4px;
+ border-radius: 50%;
+ }
}
.contact-status {
diff --git a/src/core/features/courses/pages/dashboard/dashboard.html b/src/core/features/courses/pages/dashboard/dashboard.html
index c4315e7d1..c79854f7a 100644
--- a/src/core/features/courses/pages/dashboard/dashboard.html
+++ b/src/core/features/courses/pages/dashboard/dashboard.html
@@ -1,4 +1,4 @@
-
+
diff --git a/src/core/features/courses/pages/list/list.html b/src/core/features/courses/pages/list/list.html
index 114a5a78b..ffb6b4b22 100644
--- a/src/core/features/courses/pages/list/list.html
+++ b/src/core/features/courses/pages/list/list.html
@@ -5,20 +5,20 @@
{{ 'core.courses.availablecourses' | translate }}
{{ 'core.courses.mycourses' | translate }}
-
+
+
+
+
+
+
+
-
-
-
-
-
-
diff --git a/src/core/features/courses/pages/list/list.module.ts b/src/core/features/courses/pages/list/list.module.ts
index c0d3a2c36..23dd52438 100644
--- a/src/core/features/courses/pages/list/list.module.ts
+++ b/src/core/features/courses/pages/list/list.module.ts
@@ -20,6 +20,7 @@ import { CoreCoursesComponentsModule } from '../../components/components.module'
import { CoreSearchComponentsModule } from '@features/search/components/components.module';
import { CoreCoursesListPage } from './list';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const routes: Routes = [
{
@@ -34,6 +35,7 @@ const routes: Routes = [
CoreSharedModule,
CoreCoursesComponentsModule,
CoreSearchComponentsModule,
+ CoreMainMenuComponentsModule,
],
declarations: [
CoreCoursesListPage,
diff --git a/src/core/features/mainmenu/pages/home/home.html b/src/core/features/mainmenu/pages/home/home.html
index 903bcb8ff..e953b24c2 100644
--- a/src/core/features/mainmenu/pages/home/home.html
+++ b/src/core/features/mainmenu/pages/home/home.html
@@ -8,6 +8,7 @@
+
diff --git a/src/core/features/mainmenu/pages/home/home.module.ts b/src/core/features/mainmenu/pages/home/home.module.ts
index c60828634..7dcde146c 100644
--- a/src/core/features/mainmenu/pages/home/home.module.ts
+++ b/src/core/features/mainmenu/pages/home/home.module.ts
@@ -22,6 +22,7 @@ import { CoreMainMenuHomePage } from './home';
import { MAIN_MENU_HOME_ROUTES } from './home-routing.module';
import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module';
import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
function buildRoutes(injector: Injector): Routes {
const routes = resolveModuleRoutes(injector, MAIN_MENU_HOME_ROUTES);
@@ -42,6 +43,7 @@ function buildRoutes(injector: Injector): Routes {
@NgModule({
imports: [
CoreSharedModule,
+ CoreMainMenuComponentsModule,
],
providers: [
{ provide: ROUTES, multi: true, useFactory: buildRoutes, deps: [Injector] },
diff --git a/src/core/features/sitehome/pages/index/index.html b/src/core/features/sitehome/pages/index/index.html
index 4dd2ce8d5..f96e2ea06 100644
--- a/src/core/features/sitehome/pages/index/index.html
+++ b/src/core/features/sitehome/pages/index/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/src/core/features/tag/pages/search/search.html b/src/core/features/tag/pages/search/search.html
index 5afa3e371..1f6ff37a9 100644
--- a/src/core/features/tag/pages/search/search.html
+++ b/src/core/features/tag/pages/search/search.html
@@ -4,6 +4,9 @@
{{ 'core.tag.searchtags' | translate }}
+
+
+
diff --git a/src/core/features/tag/pages/search/search.page.module.ts b/src/core/features/tag/pages/search/search.page.module.ts
index 3da4821d2..5519cb3ac 100644
--- a/src/core/features/tag/pages/search/search.page.module.ts
+++ b/src/core/features/tag/pages/search/search.page.module.ts
@@ -19,6 +19,7 @@ import { CoreSharedModule } from '@/core/shared.module';
import { CoreSearchComponentsModule } from '@features/search/components/components.module';
import { CoreTagSearchPage } from './search.page';
+import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
const routes: Routes = [
{
@@ -34,6 +35,7 @@ const routes: Routes = [
RouterModule.forChild(routes),
CoreSharedModule,
CoreSearchComponentsModule,
+ CoreMainMenuComponentsModule,
],
exports: [RouterModule],
})
diff --git a/src/theme/theme.base.scss b/src/theme/theme.base.scss
index c040c18d3..f202afd2d 100644
--- a/src/theme/theme.base.scss
+++ b/src/theme/theme.base.scss
@@ -655,12 +655,13 @@ ion-card ion-item:only-child {
ion-toolbar h1 img.core-bar-button-image,
ion-toolbar h1 .core-bar-button-image img {
- padding: 0;
+ padding: 4px;
width: var(--core-header-toolbar-button-image-size);
height: var(--core-header-toolbar-button-image-size);
max-width: var(--core-header-toolbar-button-image-size);
max-height: var(--core-header-toolbar-button-image-size);
border-radius: 50%;
+ display: block;
}
// Action sheet.