+
diff --git a/src/themes/qmu/app/header/header.component.scss b/src/themes/qmu/app/header/header.component.scss
new file mode 100644
index 00000000000..23990404389
--- /dev/null
+++ b/src/themes/qmu/app/header/header.component.scss
@@ -0,0 +1,26 @@
+.qmu-header {
+ background-color: #374a5c;
+}
+.qmu-header h1 {
+ color: #444;
+ font-family: "Oswald",sans-serif;
+ font-size: 2.3em;
+ margin: 1em;
+}
+.qmu-header h1 a {
+ color: #524c44;
+ text-decoration: none;
+}
+.qmu-header h1 a:hover {
+ text-decoration: none;
+ border-bottom: 1px dotted #ffffff;
+ color: #ffffff;
+}
+#sidebar a:link,
+#sidebar a:visited,
+#sidebar a {
+ color: #524c44;
+}
+.qmu-header-content {
+ background-color: #374a5c;
+}
diff --git a/src/themes/qmu/app/header/header.component.ts b/src/themes/qmu/app/header/header.component.ts
new file mode 100644
index 00000000000..94f6ce34584
--- /dev/null
+++ b/src/themes/qmu/app/header/header.component.ts
@@ -0,0 +1,30 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
+import { TranslateModule } from '@ngx-translate/core';
+import { ThemedLangSwitchComponent } from 'src/app/shared/lang-switch/themed-lang-switch.component';
+
+import { ContextHelpToggleComponent } from '../../../../app/header/context-help-toggle/context-help-toggle.component';
+import { HeaderComponent as BaseComponent } from '../../../../app/header/header.component';
+import { ThemedSearchNavbarComponent } from '../../../../app/search-navbar/themed-search-navbar.component';
+import { ThemedAuthNavMenuComponent } from '../../../../app/shared/auth-nav-menu/themed-auth-nav-menu.component';
+import { ImpersonateNavbarComponent } from '../../../../app/shared/impersonate-navbar/impersonate-navbar.component';
+
+/**
+ * Represents the header with the logo and simple navigation
+ */
+@Component({
+ selector: 'ds-themed-header',
+ styleUrls: ['header.component.scss'],
+ // styleUrls: ['../../../../app/header/header.component.scss'],
+ templateUrl: 'header.component.html',
+ // templateUrl: '../../../../app/header/header.component.html',
+ standalone: true,
+ imports: [RouterLink, ThemedLangSwitchComponent, NgbDropdownModule, ThemedSearchNavbarComponent, ContextHelpToggleComponent, ThemedAuthNavMenuComponent, ImpersonateNavbarComponent, TranslateModule, AsyncPipe, NgIf],
+})
+export class HeaderComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.html b/src/themes/qmu/app/home-page/home-news/home-news.component.html
new file mode 100644
index 00000000000..e4a82fe410f
--- /dev/null
+++ b/src/themes/qmu/app/home-page/home-news/home-news.component.html
@@ -0,0 +1,15 @@
+
+
+
+
+
QMU Repositories
+
Welcome to Queen Margaret University's repositories which contain a
+ growing collection of research publications and outputs by QMU authors. QMU
+ researchers can submit items by sending details to the eResearch
+ Team at: eResearch@qmu.ac.uk
+
+
+
+
+
+
diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.scss b/src/themes/qmu/app/home-page/home-news/home-news.component.scss
new file mode 100644
index 00000000000..44c97ad6e84
--- /dev/null
+++ b/src/themes/qmu/app/home-page/home-news/home-news.component.scss
@@ -0,0 +1,21 @@
+:host {
+ display: block;
+ margin-top: calc(-1 * var(--ds-content-spacing));
+ margin-bottom: calc(-1 * var(--ds-content-spacing));
+}
+
+.display-3 {
+ word-break: break-word;
+}
+
+.jumbotron {
+ background-color: var(--ds-home-news-background-color);
+}
+
+a {
+ color: var(--ds-home-news-link-color);
+
+ @include hover {
+ color: var(--ds-home-news-link-hover-color);
+ }
+}
diff --git a/src/themes/qmu/app/home-page/home-news/home-news.component.ts b/src/themes/qmu/app/home-page/home-news/home-news.component.ts
new file mode 100644
index 00000000000..6b1ba460476
--- /dev/null
+++ b/src/themes/qmu/app/home-page/home-news/home-news.component.ts
@@ -0,0 +1,18 @@
+import { Component } from '@angular/core';
+
+import { HomeNewsComponent as BaseComponent } from '../../../../../app/home-page/home-news/home-news.component';
+
+@Component({
+ selector: 'ds-themed-home-news',
+ styleUrls: ['./home-news.component.scss'],
+ //styleUrls: ['../../../../../app/home-page/home-news/home-news.component.scss'],
+ templateUrl: './home-news.component.html',
+ //templateUrl: '../../../../../app/home-page/home-news/home-news.component.html',
+ standalone: true,
+})
+
+/**
+ * Component to render the news section on the home page
+ */
+export class HomeNewsComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/home-page/home-page.component.html b/src/themes/qmu/app/home-page/home-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/home-page/home-page.component.scss b/src/themes/qmu/app/home-page/home-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/home-page/home-page.component.ts b/src/themes/qmu/app/home-page/home-page.component.ts
new file mode 100644
index 00000000000..2b45f697544
--- /dev/null
+++ b/src/themes/qmu/app/home-page/home-page.component.ts
@@ -0,0 +1,32 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgIf,
+ NgTemplateOutlet,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { HomeCoarComponent } from '../../../../app/home-page/home-coar/home-coar.component';
+import { ThemedHomeNewsComponent } from '../../../../app/home-page/home-news/themed-home-news.component';
+import { HomePageComponent as BaseComponent } from '../../../../app/home-page/home-page.component';
+import { RecentItemListComponent } from '../../../../app/home-page/recent-item-list/recent-item-list.component';
+import { ThemedTopLevelCommunityListComponent } from '../../../../app/home-page/top-level-community-list/themed-top-level-community-list.component';
+import { SuggestionsPopupComponent } from '../../../../app/notifications/suggestions-popup/suggestions-popup.component';
+import { ThemedConfigurationSearchPageComponent } from '../../../../app/search-page/themed-configuration-search-page.component';
+import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component';
+import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component';
+import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component';
+
+@Component({
+ selector: 'ds-themed-home-page',
+ // styleUrls: ['./home-page.component.scss'],
+ styleUrls: ['../../../../app/home-page/home-page.component.scss'],
+ // templateUrl: './home-page.component.html'
+ templateUrl: '../../../../app/home-page/home-page.component.html',
+ standalone: true,
+ imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent],
+})
+export class HomePageComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.html b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.scss b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts
new file mode 100644
index 00000000000..0613377e147
--- /dev/null
+++ b/src/themes/qmu/app/home-page/top-level-community-list/top-level-community-list.component.ts
@@ -0,0 +1,25 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { TopLevelCommunityListComponent as BaseComponent } from '../../../../../app/home-page/top-level-community-list/top-level-community-list.component';
+import { ErrorComponent } from '../../../../../app/shared/error/error.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { ObjectCollectionComponent } from '../../../../../app/shared/object-collection/object-collection.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-top-level-community-list',
+ // styleUrls: ['./top-level-community-list.component.scss'],
+ styleUrls: ['../../../../../app/home-page/top-level-community-list/top-level-community-list.component.scss'],
+ // templateUrl: './top-level-community-list.component.html'
+ templateUrl: '../../../../../app/home-page/top-level-community-list/top-level-community-list.component.html',
+ standalone: true,
+ imports: [VarDirective, NgIf, ObjectCollectionComponent, ErrorComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule],
+})
+
+export class TopLevelCommunityListComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.html b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.scss b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts
new file mode 100644
index 00000000000..05f22522163
--- /dev/null
+++ b/src/themes/qmu/app/info/end-user-agreement/end-user-agreement.component.ts
@@ -0,0 +1,22 @@
+import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { EndUserAgreementComponent as BaseComponent } from '../../../../../app/info/end-user-agreement/end-user-agreement.component';
+import { EndUserAgreementContentComponent } from '../../../../../app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component';
+
+@Component({
+ selector: 'ds-themed-end-user-agreement',
+ // styleUrls: ['./end-user-agreement.component.scss'],
+ styleUrls: ['../../../../../app/info/end-user-agreement/end-user-agreement.component.scss'],
+ // templateUrl: './end-user-agreement.component.html'
+ templateUrl: '../../../../../app/info/end-user-agreement/end-user-agreement.component.html',
+ standalone: true,
+ imports: [EndUserAgreementContentComponent, FormsModule, TranslateModule],
+})
+
+/**
+ * Component displaying the End User Agreement and an option to accept it
+ */
+export class EndUserAgreementComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.html b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.scss b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts
new file mode 100644
index 00000000000..b3cd90e73ed
--- /dev/null
+++ b/src/themes/qmu/app/info/feedback/feedback-form/feedback-form.component.ts
@@ -0,0 +1,22 @@
+import { NgIf } from '@angular/common';
+import { Component } from '@angular/core';
+import {
+ FormsModule,
+ ReactiveFormsModule,
+} from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { FeedbackFormComponent as BaseComponent } from '../../../../../../app/info/feedback/feedback-form/feedback-form.component';
+import { ErrorComponent } from '../../../../../../app/shared/error/error.component';
+
+@Component({
+ selector: 'ds-themed-feedback-form',
+ // templateUrl: './feedback-form.component.html',
+ templateUrl: '../../../../../../app/info/feedback/feedback-form/feedback-form.component.html',
+ // styleUrls: ['./feedback-form.component.scss'],
+ styleUrls: ['../../../../../../app/info/feedback/feedback-form/feedback-form.component.scss'],
+ standalone: true,
+ imports: [FormsModule, ReactiveFormsModule, NgIf, ErrorComponent, TranslateModule],
+})
+export class FeedbackFormComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/info/feedback/feedback.component.html b/src/themes/qmu/app/info/feedback/feedback.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/feedback/feedback.component.scss b/src/themes/qmu/app/info/feedback/feedback.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/feedback/feedback.component.ts b/src/themes/qmu/app/info/feedback/feedback.component.ts
new file mode 100644
index 00000000000..e31cfd46cf9
--- /dev/null
+++ b/src/themes/qmu/app/info/feedback/feedback.component.ts
@@ -0,0 +1,19 @@
+import { Component } from '@angular/core';
+
+import { FeedbackComponent as BaseComponent } from '../../../../../app/info/feedback/feedback.component';
+import { ThemedFeedbackFormComponent } from '../../../../../app/info/feedback/feedback-form/themed-feedback-form.component';
+
+@Component({
+ selector: 'ds-themed-feedback',
+ // styleUrls: ['./feedback.component.scss'],
+ styleUrls: ['../../../../../app/info/feedback/feedback.component.scss'],
+ // templateUrl: './feedback.component.html'
+ templateUrl: '../../../../../app/info/feedback/feedback.component.html',
+ standalone: true,
+ imports: [ThemedFeedbackFormComponent],
+})
+
+/**
+ * Component displaying the feedback Statement
+ */
+export class FeedbackComponent extends BaseComponent { }
diff --git a/src/themes/qmu/app/info/privacy/privacy.component.html b/src/themes/qmu/app/info/privacy/privacy.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/privacy/privacy.component.scss b/src/themes/qmu/app/info/privacy/privacy.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/info/privacy/privacy.component.ts b/src/themes/qmu/app/info/privacy/privacy.component.ts
new file mode 100644
index 00000000000..463a89a0925
--- /dev/null
+++ b/src/themes/qmu/app/info/privacy/privacy.component.ts
@@ -0,0 +1,19 @@
+import { Component } from '@angular/core';
+
+import { PrivacyComponent as BaseComponent } from '../../../../../app/info/privacy/privacy.component';
+import { PrivacyContentComponent } from '../../../../../app/info/privacy/privacy-content/privacy-content.component';
+
+@Component({
+ selector: 'ds-themed-privacy',
+ // styleUrls: ['./privacy.component.scss'],
+ styleUrls: ['../../../../../app/info/privacy/privacy.component.scss'],
+ // templateUrl: './privacy.component.html'
+ templateUrl: '../../../../../app/info/privacy/privacy.component.html',
+ standalone: true,
+ imports: [PrivacyContentComponent],
+})
+
+/**
+ * Component displaying the Privacy Statement
+ */
+export class PrivacyComponent extends BaseComponent {}
diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.html b/src/themes/qmu/app/item-page/alerts/item-alerts.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.scss b/src/themes/qmu/app/item-page/alerts/item-alerts.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts b/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts
new file mode 100644
index 00000000000..4cfa632f02f
--- /dev/null
+++ b/src/themes/qmu/app/item-page/alerts/item-alerts.component.ts
@@ -0,0 +1,28 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ItemAlertsComponent as BaseComponent } from '../../../../../app/item-page/alerts/item-alerts.component';
+import { AlertComponent } from '../../../../../app/shared/alert/alert.component';
+
+@Component({
+ selector: 'ds-themed-item-alerts',
+ // templateUrl: './item-alerts.component.html',
+ templateUrl: '../../../../../app/item-page/alerts/item-alerts.component.html',
+ // styleUrls: ['./item-alerts.component.scss'],
+ styleUrls: ['../../../../../app/item-page/alerts/item-alerts.component.scss'],
+ standalone: true,
+ imports: [
+ AlertComponent,
+ NgIf,
+ TranslateModule,
+ RouterLink,
+ AsyncPipe,
+ ],
+})
+export class ItemAlertsComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.html b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts
new file mode 100644
index 00000000000..a39d2e4cda7
--- /dev/null
+++ b/src/themes/qmu/app/item-page/edit-item-page/item-status/item-status.component.ts
@@ -0,0 +1,42 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ItemOperationComponent } from '../../../../../../app/item-page/edit-item-page/item-operation/item-operation.component';
+import { ItemStatusComponent as BaseComponent } from '../../../../../../app/item-page/edit-item-page/item-status/item-status.component';
+import {
+ fadeIn,
+ fadeInOut,
+} from '../../../../../../app/shared/animations/fade';
+
+@Component({
+ selector: 'ds-themed-item-status',
+ // templateUrl: './item-status.component.html',
+ templateUrl: '../../../../../../app/item-page/edit-item-page/item-status/item-status.component.html',
+ changeDetection: ChangeDetectionStrategy.Default,
+ animations: [
+ fadeIn,
+ fadeInOut,
+ ],
+ standalone: true,
+ imports: [
+ TranslateModule,
+ NgForOf,
+ AsyncPipe,
+ NgIf,
+ RouterLink,
+ ItemOperationComponent,
+ NgClass,
+ ],
+})
+export class ItemStatusComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.html b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.scss b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts
new file mode 100644
index 00000000000..1475cd04ee9
--- /dev/null
+++ b/src/themes/qmu/app/item-page/full/field-components/file-section/full-file-section.component.ts
@@ -0,0 +1,38 @@
+import {
+ AsyncPipe,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { FullFileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component';
+import { ThemedFileDownloadLinkComponent } from '../../../../../../../app/shared/file-download-link/themed-file-download-link.component';
+import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component';
+import { PaginationComponent } from '../../../../../../../app/shared/pagination/pagination.component';
+import { FileSizePipe } from '../../../../../../../app/shared/utils/file-size-pipe';
+import { VarDirective } from '../../../../../../../app/shared/utils/var.directive';
+import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component';
+
+@Component({
+ selector: 'ds-themed-item-page-full-file-section',
+ // styleUrls: ['./full-file-section.component.scss'],
+ styleUrls: ['../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component.scss'],
+ // templateUrl: './full-file-section.component.html',
+ templateUrl: '../../../../../../../app/item-page/full/field-components/file-section/full-file-section.component.html',
+ standalone: true,
+ imports: [
+ PaginationComponent,
+ NgIf,
+ TranslateModule,
+ AsyncPipe,
+ VarDirective,
+ ThemedThumbnailComponent,
+ NgForOf,
+ ThemedFileDownloadLinkComponent,
+ FileSizePipe,
+ MetadataFieldWrapperComponent,
+ ],
+})
+export class FullFileSectionComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.html b/src/themes/qmu/app/item-page/full/full-item-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.scss b/src/themes/qmu/app/item-page/full/full-item-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/full/full-item-page.component.ts b/src/themes/qmu/app/item-page/full/full-item-page.component.ts
new file mode 100644
index 00000000000..c1bad7ba897
--- /dev/null
+++ b/src/themes/qmu/app/item-page/full/full-item-page.component.ts
@@ -0,0 +1,63 @@
+import {
+ AsyncPipe,
+ KeyValuePipe,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ThemedItemAlertsComponent } from '../../../../../app/item-page/alerts/themed-item-alerts.component';
+import { CollectionsComponent } from '../../../../../app/item-page/field-components/collections/collections.component';
+import { ThemedFullFileSectionComponent } from '../../../../../app/item-page/full/field-components/file-section/themed-full-file-section.component';
+import { FullItemPageComponent as BaseComponent } from '../../../../../app/item-page/full/full-item-page.component';
+import { ThemedItemPageTitleFieldComponent } from '../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
+import { ItemVersionsComponent } from '../../../../../app/item-page/versions/item-versions.component';
+import { ItemVersionsNoticeComponent } from '../../../../../app/item-page/versions/notice/item-versions-notice.component';
+import { fadeInOut } from '../../../../../app/shared/animations/fade';
+import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component';
+import { ErrorComponent } from '../../../../../app/shared/error/error.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component';
+
+/**
+ * This component renders a full item page.
+ * The route parameter 'id' is used to request the item it represents.
+ */
+
+@Component({
+ selector: 'ds-themed-full-item-page',
+ // styleUrls: ['./full-item-page.component.scss'],
+ styleUrls: ['../../../../../app/item-page/full/full-item-page.component.scss'],
+ // templateUrl: './full-item-page.component.html',
+ templateUrl: '../../../../../app/item-page/full/full-item-page.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ animations: [fadeInOut],
+ standalone: true,
+ imports: [
+ ErrorComponent,
+ ThemedLoadingComponent,
+ TranslateModule,
+ ThemedFullFileSectionComponent,
+ CollectionsComponent,
+ ItemVersionsComponent,
+ NgIf,
+ NgForOf,
+ AsyncPipe,
+ KeyValuePipe,
+ RouterLink,
+ ThemedItemPageTitleFieldComponent,
+ DsoEditMenuComponent,
+ ItemVersionsNoticeComponent,
+ ViewTrackerComponent,
+ ThemedItemAlertsComponent,
+ VarDirective,
+ ],
+})
+export class FullItemPageComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts
new file mode 100644
index 00000000000..da2f62eb9b3
--- /dev/null
+++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts
@@ -0,0 +1,20 @@
+import { AsyncPipe } from '@angular/common';
+import { Component } from '@angular/core';
+import { NgxGalleryModule } from '@kolkov/ngx-gallery';
+
+import { MediaViewerImageComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component';
+
+@Component({
+ selector: 'ds-themed-media-viewer-image',
+ // templateUrl: './media-viewer-image.component.html',
+ templateUrl: '../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.html',
+ // styleUrls: ['./media-viewer-image.component.scss'],
+ styleUrls: ['../../../../../../app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.scss'],
+ standalone: true,
+ imports: [
+ NgxGalleryModule,
+ AsyncPipe,
+ ],
+})
+export class MediaViewerImageComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
new file mode 100644
index 00000000000..5c6c7f35072
--- /dev/null
+++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
@@ -0,0 +1,26 @@
+import {
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { MediaViewerVideoComponent as BaseComponent } from '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component';
+
+@Component({
+ selector: 'ds-themed-media-viewer-video',
+ // templateUrl: './media-viewer-video.component.html',
+ templateUrl: '../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html',
+ // styleUrls: ['./media-viewer-video.component.scss'],
+ styleUrls: ['../../../../../../app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.scss'],
+ standalone: true,
+ imports: [
+ NgForOf,
+ NgbDropdownModule,
+ TranslateModule,
+ NgIf,
+ ],
+})
+export class MediaViewerVideoComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.html b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.scss
@@ -0,0 +1 @@
+
diff --git a/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts
new file mode 100644
index 00000000000..35336e6086b
--- /dev/null
+++ b/src/themes/qmu/app/item-page/media-viewer/media-viewer.component.ts
@@ -0,0 +1,34 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { MediaViewerComponent as BaseComponent } from '../../../../../app/item-page/media-viewer/media-viewer.component';
+import { ThemedMediaViewerImageComponent } from '../../../../../app/item-page/media-viewer/media-viewer-image/themed-media-viewer-image.component';
+import { ThemedMediaViewerVideoComponent } from '../../../../../app/item-page/media-viewer/media-viewer-video/themed-media-viewer-video.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+import { ThemedThumbnailComponent } from '../../../../../app/thumbnail/themed-thumbnail.component';
+
+@Component({
+ selector: 'ds-themed-media-viewer',
+ // templateUrl: './media-viewer.component.html',
+ templateUrl: '../../../../../app/item-page/media-viewer/media-viewer.component.html',
+ // styleUrls: ['./media-viewer.component.scss'],
+ styleUrls: ['../../../../../app/item-page/media-viewer/media-viewer.component.scss'],
+ standalone: true,
+ imports: [
+ ThemedMediaViewerImageComponent,
+ ThemedThumbnailComponent,
+ AsyncPipe,
+ NgIf,
+ ThemedMediaViewerVideoComponent,
+ TranslateModule,
+ ThemedLoadingComponent,
+ VarDirective,
+ ],
+})
+export class MediaViewerComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.html
@@ -0,0 +1 @@
+
diff --git a/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts
new file mode 100644
index 00000000000..e39f7536eb0
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/field-components/file-section/file-section.component.ts
@@ -0,0 +1,31 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { FileSectionComponent as BaseComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/file-section.component';
+import { slideSidebarPadding } from '../../../../../../../app/shared/animations/slide';
+import { ThemedFileDownloadLinkComponent } from '../../../../../../../app/shared/file-download-link/themed-file-download-link.component';
+import { ThemedLoadingComponent } from '../../../../../../../app/shared/loading/themed-loading.component';
+import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component';
+import { FileSizePipe } from '../../../../../../../app/shared/utils/file-size-pipe';
+import { VarDirective } from '../../../../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-item-page-file-section',
+ // templateUrl: './file-section.component.html',
+ templateUrl: '../../../../../../../app/item-page/simple/field-components/file-section/file-section.component.html',
+ animations: [slideSidebarPadding],
+ standalone: true,
+ imports: [
+ CommonModule,
+ ThemedFileDownloadLinkComponent,
+ MetadataFieldWrapperComponent,
+ ThemedLoadingComponent,
+ TranslateModule,
+ FileSizePipe,
+ VarDirective,
+ ],
+})
+export class FileSectionComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts
new file mode 100644
index 00000000000..4b0bfa4c91b
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts
@@ -0,0 +1,15 @@
+import { NgIf } from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ItemPageTitleFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component';
+
+@Component({
+ selector: 'ds-themed-item-page-title-field',
+ // templateUrl: './item-page-title-field.component.html',
+ templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.html',
+ standalone: true,
+ imports: [NgIf, TranslateModule],
+})
+export class ItemPageTitleFieldComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.html b/src/themes/qmu/app/item-page/simple/item-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.scss b/src/themes/qmu/app/item-page/simple/item-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-page.component.ts b/src/themes/qmu/app/item-page/simple/item-page.component.ts
new file mode 100644
index 00000000000..7daa65287a5
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/item-page.component.ts
@@ -0,0 +1,56 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ThemedItemAlertsComponent } from '../../../../../app/item-page/alerts/themed-item-alerts.component';
+import { ItemPageComponent as BaseComponent } from '../../../../../app/item-page/simple/item-page.component';
+import { NotifyRequestsStatusComponent } from '../../../../../app/item-page/simple/notify-requests-status/notify-requests-status-component/notify-requests-status.component';
+import { QaEventNotificationComponent } from '../../../../../app/item-page/simple/qa-event-notification/qa-event-notification.component';
+import { ItemVersionsComponent } from '../../../../../app/item-page/versions/item-versions.component';
+import { ItemVersionsNoticeComponent } from '../../../../../app/item-page/versions/notice/item-versions-notice.component';
+import { fadeInOut } from '../../../../../app/shared/animations/fade';
+import { ErrorComponent } from '../../../../../app/shared/error/error.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { ListableObjectComponentLoaderComponent } from '../../../../../app/shared/object-collection/shared/listable-object/listable-object-component-loader.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component';
+
+/**
+ * This component renders a simple item page.
+ * The route parameter 'id' is used to request the item it represents.
+ * All fields of the item that should be displayed, are defined in its template.
+ */
+@Component({
+ selector: 'ds-themed-item-page',
+ // styleUrls: ['./item-page.component.scss'],
+ styleUrls: ['../../../../../app/item-page/simple/item-page.component.scss'],
+ // templateUrl: './item-page.component.html',
+ templateUrl: '../../../../../app/item-page/simple/item-page.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ animations: [fadeInOut],
+ standalone: true,
+ imports: [
+ VarDirective,
+ ThemedItemAlertsComponent,
+ ItemVersionsNoticeComponent,
+ ViewTrackerComponent,
+ ListableObjectComponentLoaderComponent,
+ ItemVersionsComponent,
+ ErrorComponent,
+ ThemedLoadingComponent,
+ TranslateModule,
+ AsyncPipe,
+ NgIf,
+ NotifyRequestsStatusComponent,
+ QaEventNotificationComponent,
+ ],
+})
+export class ItemPageComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.html b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.scss b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts
new file mode 100644
index 00000000000..ce56724e4ab
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/item-types/publication/publication.component.ts
@@ -0,0 +1,49 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { Context } from '../../../../../../../app/core/shared/context.model';
+import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model';
+import { CollectionsComponent } from '../../../../../../../app/item-page/field-components/collections/collections.component';
+import { ThemedMediaViewerComponent } from '../../../../../../../app/item-page/media-viewer/themed-media-viewer.component';
+import { MiradorViewerComponent } from '../../../../../../../app/item-page/mirador-viewer/mirador-viewer.component';
+import { ThemedFileSectionComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/themed-file-section.component';
+import { ItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component';
+import { ItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component';
+import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
+import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
+import { ItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component';
+import { PublicationComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/publication/publication.component';
+import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component';
+import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component';
+import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component';
+import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component';
+import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator';
+import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component';
+import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component';
+
+/**
+ * Component that represents a publication Item page
+ */
+
+@listableObjectComponent('Publication', ViewMode.StandalonePage, Context.Any, 'custom')
+@Component({
+ selector: 'ds-publication',
+ // styleUrls: ['./publication.component.scss'],
+ styleUrls: ['../../../../../../../app/item-page/simple/item-types/publication/publication.component.scss'],
+ // templateUrl: './publication.component.html',
+ templateUrl: '../../../../../../../app/item-page/simple/item-types/publication/publication.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule],
+})
+export class PublicationComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts
new file mode 100644
index 00000000000..6fbb035d2f2
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts
@@ -0,0 +1,70 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { Context } from '../../../../../../../app/core/shared/context.model';
+import { Item } from '../../../../../../../app/core/shared/item.model';
+import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model';
+import { CollectionsComponent } from '../../../../../../../app/item-page/field-components/collections/collections.component';
+import { ThemedMediaViewerComponent } from '../../../../../../../app/item-page/media-viewer/themed-media-viewer.component';
+import { MiradorViewerComponent } from '../../../../../../../app/item-page/mirador-viewer/mirador-viewer.component';
+import { ThemedFileSectionComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/themed-file-section.component';
+import { ItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component';
+import { ItemPageCcLicenseFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component';
+import { ItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component';
+import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component';
+import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component';
+import { ItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component';
+import { UntypedItemComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component';
+import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component';
+import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component';
+import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component';
+import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator';
+import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component';
+import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component';
+
+/**
+ * Component that represents an untyped Item page
+ */
+@listableObjectComponent(Item, ViewMode.StandalonePage, Context.Any, 'custom')
+@Component({
+ selector: 'ds-untyped-item',
+ // styleUrls: ['./untyped-item.component.scss'],
+ styleUrls: [
+ '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.scss',
+ ],
+ // templateUrl: './untyped-item.component.html',
+ templateUrl:
+ '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [
+ NgIf,
+ ThemedResultsBackButtonComponent,
+ MiradorViewerComponent,
+ ThemedItemPageTitleFieldComponent,
+ DsoEditMenuComponent,
+ MetadataFieldWrapperComponent,
+ ThemedThumbnailComponent,
+ ThemedMediaViewerComponent,
+ ThemedFileSectionComponent,
+ ItemPageDateFieldComponent,
+ ThemedMetadataRepresentationListComponent,
+ GenericItemPageFieldComponent,
+ ItemPageAbstractFieldComponent,
+ ItemPageUriFieldComponent,
+ CollectionsComponent,
+ RouterLink,
+ AsyncPipe,
+ TranslateModule,
+ ItemPageCcLicenseFieldComponent,
+ ],
+})
+export class UntypedItemComponent extends BaseComponent {}
diff --git a/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
new file mode 100644
index 00000000000..6d2ddb8f1f3
--- /dev/null
+++ b/src/themes/qmu/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
@@ -0,0 +1,24 @@
+import {
+ AsyncPipe,
+ NgFor,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { MetadataRepresentationListComponent as BaseComponent } from '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component';
+import { ThemedLoadingComponent } from '../../../../../../app/shared/loading/themed-loading.component';
+import { MetadataFieldWrapperComponent } from '../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component';
+import { MetadataRepresentationLoaderComponent } from '../../../../../../app/shared/metadata-representation/metadata-representation-loader.component';
+import { VarDirective } from '../../../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-metadata-representation-list',
+ // templateUrl: './metadata-representation-list.component.html'
+ templateUrl: '../../../../../../app/item-page/simple/metadata-representation-list/metadata-representation-list.component.html',
+ standalone: true,
+ imports: [MetadataFieldWrapperComponent, NgFor, VarDirective, MetadataRepresentationLoaderComponent, NgIf, ThemedLoadingComponent, AsyncPipe, TranslateModule],
+})
+export class MetadataRepresentationListComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/login-page/login-page.component.html b/src/themes/qmu/app/login-page/login-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/login-page/login-page.component.scss b/src/themes/qmu/app/login-page/login-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/login-page/login-page.component.ts b/src/themes/qmu/app/login-page/login-page.component.ts
new file mode 100644
index 00000000000..1e7daae653a
--- /dev/null
+++ b/src/themes/qmu/app/login-page/login-page.component.ts
@@ -0,0 +1,20 @@
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+import { ThemedLogInComponent } from 'src/app/shared/log-in/themed-log-in.component';
+
+import { LoginPageComponent as BaseComponent } from '../../../../app/login-page/login-page.component';
+
+/**
+ * This component represents the login page
+ */
+@Component({
+ selector: 'ds-themed-login-page',
+ // styleUrls: ['./login-page.component.scss'],
+ styleUrls: ['../../../../app/login-page/login-page.component.scss'],
+ // templateUrl: './login-page.component.html'
+ templateUrl: '../../../../app/login-page/login-page.component.html',
+ standalone: true,
+ imports: [ThemedLogInComponent, TranslateModule],
+})
+export class LoginPageComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/logout-page/logout-page.component.html b/src/themes/qmu/app/logout-page/logout-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/logout-page/logout-page.component.scss b/src/themes/qmu/app/logout-page/logout-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/logout-page/logout-page.component.ts b/src/themes/qmu/app/logout-page/logout-page.component.ts
new file mode 100644
index 00000000000..97f82c17287
--- /dev/null
+++ b/src/themes/qmu/app/logout-page/logout-page.component.ts
@@ -0,0 +1,17 @@
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { LogoutPageComponent as BaseComponent } from '../../../../app/logout-page/logout-page.component';
+import { LogOutComponent } from '../../../../app/shared/log-out/log-out.component';
+
+@Component({
+ selector: 'ds-themed-logout-page',
+ // styleUrls: ['./logout-page.component.scss'],
+ styleUrls: ['../../../../app/logout-page/logout-page.component.scss'],
+ // templateUrl: './logout-page.component.html'
+ templateUrl: '../../../../app/logout-page/logout-page.component.html',
+ standalone: true,
+ imports: [LogOutComponent, TranslateModule],
+})
+export class LogoutPageComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.html b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.scss b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts
new file mode 100644
index 00000000000..ea599d8a61f
--- /dev/null
+++ b/src/themes/qmu/app/lookup-by-id/objectnotfound/objectnotfound.component.ts
@@ -0,0 +1,25 @@
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ObjectNotFoundComponent as BaseComponent } from '../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component';
+
+@Component({
+ selector: 'ds-themed-objnotfound',
+ // styleUrls: ['./objectnotfound.component.scss'],
+ styleUrls: ['../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component.scss'],
+ // templateUrl: './objectnotfound.component.html',
+ templateUrl: '../../../../../app/lookup-by-id/objectnotfound/objectnotfound.component.html',
+ changeDetection: ChangeDetectionStrategy.Default,
+ standalone: true,
+ imports: [RouterLink, TranslateModule],
+})
+
+/**
+ * This component representing the `PageNotFound` DSpace page.
+ */
+export class ObjectNotFoundComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.html b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.scss b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts
new file mode 100644
index 00000000000..39156a0ac75
--- /dev/null
+++ b/src/themes/qmu/app/my-dspace-page/my-dspace-page.component.ts
@@ -0,0 +1,51 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+
+import {
+ MyDSpaceConfigurationService,
+ SEARCH_CONFIG_SERVICE,
+} from '../../../../app/my-dspace-page/my-dspace-configuration.service';
+import { MyDSpaceNewSubmissionComponent } from '../../../../app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component';
+import { MyDSpacePageComponent as BaseComponent } from '../../../../app/my-dspace-page/my-dspace-page.component';
+import { MyDspaceQaEventsNotificationsComponent } from '../../../../app/my-dspace-page/my-dspace-qa-events-notifications/my-dspace-qa-events-notifications.component';
+import { SuggestionsNotificationComponent } from '../../../../app/notifications/suggestions-notification/suggestions-notification.component';
+import { pushInOut } from '../../../../app/shared/animations/push';
+import { RoleDirective } from '../../../../app/shared/roles/role.directive';
+import { ThemedSearchComponent } from '../../../../app/shared/search/themed-search.component';
+
+/**
+ * This component represents the whole mydspace page
+ */
+@Component({
+ selector: 'ds-themed-my-dspace-page',
+ // styleUrls: ['./my-dspace-page.component.scss'],
+ styleUrls: ['../../../../app/my-dspace-page/my-dspace-page.component.scss'],
+ // templateUrl: './my-dspace-page.component.html',
+ templateUrl: '../../../../app/my-dspace-page/my-dspace-page.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ animations: [pushInOut],
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: MyDSpaceConfigurationService,
+ },
+ ],
+ standalone: true,
+ imports: [
+ ThemedSearchComponent,
+ MyDSpaceNewSubmissionComponent,
+ AsyncPipe,
+ RoleDirective,
+ NgIf,
+ SuggestionsNotificationComponent,
+ MyDspaceQaEventsNotificationsComponent,
+ ],
+})
+export class MyDSpacePageComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts
new file mode 100644
index 00000000000..f0e2ebd5029
--- /dev/null
+++ b/src/themes/qmu/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts
@@ -0,0 +1,28 @@
+import {
+ AsyncPipe,
+ NgComponentOutlet,
+ NgFor,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { RouterLinkActive } from '@angular/router';
+
+import { ExpandableNavbarSectionComponent as BaseComponent } from '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component';
+import { slide } from '../../../../../app/shared/animations/slide';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+
+/**
+ * Represents an expandable section in the navbar
+ */
+@Component({
+ selector: 'ds-themed-expandable-navbar-section',
+ // templateUrl: './expandable-navbar-section.component.html',
+ templateUrl: '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component.html',
+ // styleUrls: ['./expandable-navbar-section.component.scss'],
+ styleUrls: ['../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss'],
+ animations: [slide],
+ standalone: true,
+ imports: [VarDirective, RouterLinkActive, NgComponentOutlet, NgIf, NgFor, AsyncPipe],
+})
+export class ExpandableNavbarSectionComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/navbar/navbar.component.html b/src/themes/qmu/app/navbar/navbar.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/navbar/navbar.component.scss b/src/themes/qmu/app/navbar/navbar.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/navbar/navbar.component.ts b/src/themes/qmu/app/navbar/navbar.component.ts
new file mode 100644
index 00000000000..9a5ee91b606
--- /dev/null
+++ b/src/themes/qmu/app/navbar/navbar.component.ts
@@ -0,0 +1,30 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgComponentOutlet,
+ NgFor,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
+import { TranslateModule } from '@ngx-translate/core';
+import { ThemedUserMenuComponent } from 'src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component';
+
+import { NavbarComponent as BaseComponent } from '../../../../app/navbar/navbar.component';
+import { slideMobileNav } from '../../../../app/shared/animations/slide';
+
+/**
+ * Component representing the public navbar
+ */
+@Component({
+ selector: 'ds-themed-navbar',
+ // styleUrls: ['./navbar.component.scss'],
+ styleUrls: ['../../../../app/navbar/navbar.component.scss'],
+ // templateUrl: './navbar.component.html',
+ templateUrl: '../../../../app/navbar/navbar.component.html',
+ animations: [slideMobileNav],
+ standalone: true,
+ imports: [NgbDropdownModule, NgClass, NgIf, ThemedUserMenuComponent, NgFor, NgComponentOutlet, AsyncPipe, TranslateModule],
+})
+export class NavbarComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.html b/src/themes/qmu/app/pagenotfound/pagenotfound.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.scss b/src/themes/qmu/app/pagenotfound/pagenotfound.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts b/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts
new file mode 100644
index 00000000000..f74af21914a
--- /dev/null
+++ b/src/themes/qmu/app/pagenotfound/pagenotfound.component.ts
@@ -0,0 +1,25 @@
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { RouterLink } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { PageNotFoundComponent as BaseComponent } from '../../../../app/pagenotfound/pagenotfound.component';
+
+@Component({
+ selector: 'ds-themed-pagenotfound',
+ // styleUrls: ['./pagenotfound.component.scss'],
+ styleUrls: ['../../../../app/pagenotfound/pagenotfound.component.scss'],
+ // templateUrl: './pagenotfound.component.html'
+ templateUrl: '../../../../app/pagenotfound/pagenotfound.component.html',
+ changeDetection: ChangeDetectionStrategy.Default,
+ standalone: true,
+ imports: [RouterLink, TranslateModule],
+})
+
+/**
+ * This component representing the `PageNotFound` DSpace page.
+ */
+export class PageNotFoundComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts
new file mode 100644
index 00000000000..9a3994172d8
--- /dev/null
+++ b/src/themes/qmu/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts
@@ -0,0 +1,18 @@
+import { NgIf } from '@angular/common';
+import { Component } from '@angular/core';
+
+import { ProfilePageMetadataFormComponent as BaseComponent } from '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component';
+import { FormComponent } from '../../../../../app/shared/form/form.component';
+
+@Component({
+ selector: 'ds-themed-profile-page-metadata-form',
+ templateUrl: '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html',
+ // templateUrl: './profile-page-metadata-form.component.html',
+ imports: [
+ FormComponent,
+ NgIf,
+ ],
+ standalone: true,
+})
+export class ProfilePageMetadataFormComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/profile-page/profile-page.component.html b/src/themes/qmu/app/profile-page/profile-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/profile-page/profile-page.component.scss b/src/themes/qmu/app/profile-page/profile-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/profile-page/profile-page.component.ts b/src/themes/qmu/app/profile-page/profile-page.component.ts
new file mode 100644
index 00000000000..74a88fdba63
--- /dev/null
+++ b/src/themes/qmu/app/profile-page/profile-page.component.ts
@@ -0,0 +1,40 @@
+import {
+ AsyncPipe,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { SuggestionsNotificationComponent } from '../../../../app/notifications/suggestions-notification/suggestions-notification.component';
+import { ProfilePageComponent as BaseComponent } from '../../../../app/profile-page/profile-page.component';
+import { ThemedProfilePageMetadataFormComponent } from '../../../../app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component';
+import { ProfilePageResearcherFormComponent } from '../../../../app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component';
+import { ProfilePageSecurityFormComponent } from '../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component';
+import { VarDirective } from '../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-profile-page',
+ // styleUrls: ['./profile-page.component.scss'],
+ styleUrls: ['../../../../app/profile-page/profile-page.component.scss'],
+ // templateUrl: './profile-page.component.html'
+ templateUrl: '../../../../app/profile-page/profile-page.component.html',
+ standalone: true,
+ imports: [
+ ThemedProfilePageMetadataFormComponent,
+ ProfilePageSecurityFormComponent,
+ AsyncPipe,
+ TranslateModule,
+ ProfilePageResearcherFormComponent,
+ VarDirective,
+ NgIf,
+ NgForOf,
+ SuggestionsNotificationComponent,
+ ],
+})
+/**
+ * Component for a user to edit their profile information
+ */
+export class ProfilePageComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/register-email-form/register-email-form.component.html b/src/themes/qmu/app/register-email-form/register-email-form.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/register-email-form/register-email-form.component.ts b/src/themes/qmu/app/register-email-form/register-email-form.component.ts
new file mode 100644
index 00000000000..44426c527fd
--- /dev/null
+++ b/src/themes/qmu/app/register-email-form/register-email-form.component.ts
@@ -0,0 +1,24 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import {
+ FormsModule,
+ ReactiveFormsModule,
+} from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+import { AlertComponent } from 'src/app/shared/alert/alert.component';
+import { GoogleRecaptchaComponent } from 'src/app/shared/google-recaptcha/google-recaptcha.component';
+
+import { RegisterEmailFormComponent as BaseComponent } from '../../../../app/register-email-form/register-email-form.component';
+
+@Component({
+ selector: 'ds-themed-register-email-form',
+ // templateUrl: './register-email-form.component.html',
+ templateUrl: '../../../../app/register-email-form/register-email-form.component.html',
+ standalone: true,
+ imports: [NgIf, FormsModule, ReactiveFormsModule, AlertComponent, GoogleRecaptchaComponent, AsyncPipe, TranslateModule],
+})
+export class RegisterEmailFormComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.html b/src/themes/qmu/app/register-page/create-profile/create-profile.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.scss b/src/themes/qmu/app/register-page/create-profile/create-profile.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts b/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts
new file mode 100644
index 00000000000..ac2491cc4ee
--- /dev/null
+++ b/src/themes/qmu/app/register-page/create-profile/create-profile.component.ts
@@ -0,0 +1,33 @@
+import {
+ AsyncPipe,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { ReactiveFormsModule } from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ProfilePageSecurityFormComponent } from '../../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component';
+import { CreateProfileComponent as BaseComponent } from '../../../../../app/register-page/create-profile/create-profile.component';
+
+/**
+ * Component that renders the create profile page to be used by a user registering through a token
+ */
+@Component({
+ selector: 'ds-themed-create-profile',
+ // styleUrls: ['./create-profile.component.scss'],
+ styleUrls: ['../../../../../app/register-page/create-profile/create-profile.component.scss'],
+ // templateUrl: './create-profile.component.html'
+ templateUrl: '../../../../../app/register-page/create-profile/create-profile.component.html',
+ standalone: true,
+ imports: [
+ ProfilePageSecurityFormComponent,
+ TranslateModule,
+ NgIf,
+ AsyncPipe,
+ ReactiveFormsModule,
+ NgForOf,
+ ],
+})
+export class CreateProfileComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.html b/src/themes/qmu/app/register-page/register-email/register-email.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.scss b/src/themes/qmu/app/register-page/register-email/register-email.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/register-page/register-email/register-email.component.ts b/src/themes/qmu/app/register-page/register-email/register-email.component.ts
new file mode 100644
index 00000000000..7296e1eebb4
--- /dev/null
+++ b/src/themes/qmu/app/register-page/register-email/register-email.component.ts
@@ -0,0 +1,21 @@
+import { Component } from '@angular/core';
+import { ThemedRegisterEmailFormComponent } from 'src/app/register-email-form/themed-registry-email-form.component';
+
+import { RegisterEmailComponent as BaseComponent } from '../../../../../app/register-page/register-email/register-email.component';
+
+@Component({
+ selector: 'ds-themed-register-email',
+ // styleUrls: ['./register-email.component.scss'],
+ styleUrls: ['../../../../../app/register-page/register-email/register-email.component.scss'],
+ // templateUrl: './register-email.component.html'
+ templateUrl: '../../../../../app/register-page/register-email/register-email.component.html',
+ standalone: true,
+ imports: [
+ ThemedRegisterEmailFormComponent,
+ ],
+})
+/**
+ * Component responsible the email registration step when registering as a new user
+ */
+export class RegisterEmailComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.html b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.scss
@@ -0,0 +1 @@
+
diff --git a/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts
new file mode 100644
index 00000000000..f15193dd434
--- /dev/null
+++ b/src/themes/qmu/app/request-copy/deny-request-copy/deny-request-copy.component.ts
@@ -0,0 +1,24 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+import { DenyRequestCopyComponent as BaseComponent } from 'src/app/request-copy/deny-request-copy/deny-request-copy.component';
+
+import { ThemedEmailRequestCopyComponent } from '../../../../../app/request-copy/email-request-copy/themed-email-request-copy.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-deny-request-copy',
+ // styleUrls: ['./deny-request-copy.component.scss'],
+ styleUrls: [],
+ // templateUrl: './deny-request-copy.component.html',
+ templateUrl: './../../../../../app/request-copy/deny-request-copy/deny-request-copy.component.html',
+ standalone: true,
+ imports: [VarDirective, NgIf, ThemedEmailRequestCopyComponent, ThemedLoadingComponent, AsyncPipe, TranslateModule],
+})
+export class DenyRequestCopyComponent
+ extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.html b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.scss b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts
new file mode 100644
index 00000000000..1876b134a26
--- /dev/null
+++ b/src/themes/qmu/app/request-copy/email-request-copy/email-request-copy.component.ts
@@ -0,0 +1,21 @@
+import {
+ NgClass,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+import { EmailRequestCopyComponent as BaseComponent } from 'src/app/request-copy/email-request-copy/email-request-copy.component';
+
+@Component({
+ selector: 'ds-themed-email-request-copy',
+ // styleUrls: ['./email-request-copy.component.scss'],
+ styleUrls: [],
+ // templateUrl: './email-request-copy.component.html',
+ templateUrl: './../../../../../app/request-copy/email-request-copy/email-request-copy.component.html',
+ standalone: true,
+ imports: [FormsModule, NgClass, NgIf, TranslateModule],
+})
+export class EmailRequestCopyComponent
+ extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.html b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.scss b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts
new file mode 100644
index 00000000000..b121c09cdbe
--- /dev/null
+++ b/src/themes/qmu/app/request-copy/grant-request-copy/grant-request-copy.component.ts
@@ -0,0 +1,23 @@
+import {
+ AsyncPipe,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+import { GrantRequestCopyComponent as BaseComponent } from 'src/app/request-copy/grant-request-copy/grant-request-copy.component';
+
+import { ThemedEmailRequestCopyComponent } from '../../../../../app/request-copy/email-request-copy/themed-email-request-copy.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+import { VarDirective } from '../../../../../app/shared/utils/var.directive';
+
+@Component({
+ selector: 'ds-themed-grant-request-copy',
+ // styleUrls: ['./grant-request-copy.component.scss'],
+ styleUrls: [],
+ // templateUrl: './grant-request-copy.component.html',
+ templateUrl: './../../../../../app/request-copy/grant-request-copy/grant-request-copy.component.html',
+ standalone: true,
+ imports: [VarDirective, NgIf, ThemedEmailRequestCopyComponent, FormsModule, ThemedLoadingComponent, AsyncPipe, TranslateModule],
+})
+export class GrantRequestCopyComponent extends BaseComponent {}
diff --git a/src/themes/qmu/app/root/root.component.html b/src/themes/qmu/app/root/root.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/root/root.component.scss b/src/themes/qmu/app/root/root.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/root/root.component.ts b/src/themes/qmu/app/root/root.component.ts
new file mode 100644
index 00000000000..bac434eeb3b
--- /dev/null
+++ b/src/themes/qmu/app/root/root.component.ts
@@ -0,0 +1,45 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { RouterOutlet } from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ThemedAdminSidebarComponent } from '../../../../app/admin/admin-sidebar/themed-admin-sidebar.component';
+import { ThemedBreadcrumbsComponent } from '../../../../app/breadcrumbs/themed-breadcrumbs.component';
+import { ThemedFooterComponent } from '../../../../app/footer/themed-footer.component';
+import { ThemedHeaderNavbarWrapperComponent } from '../../../../app/header-nav-wrapper/themed-header-navbar-wrapper.component';
+import { RootComponent as BaseComponent } from '../../../../app/root/root.component';
+import { slideSidebarPadding } from '../../../../app/shared/animations/slide';
+import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component';
+import { NotificationsBoardComponent } from '../../../../app/shared/notifications/notifications-board/notifications-board.component';
+import { SystemWideAlertBannerComponent } from '../../../../app/system-wide-alert/alert-banner/system-wide-alert-banner.component';
+
+@Component({
+ selector: 'ds-themed-root',
+ // styleUrls: ['./root.component.scss'],
+ styleUrls: ['../../../../app/root/root.component.scss'],
+ // templateUrl: './root.component.html',
+ templateUrl: '../../../../app/root/root.component.html',
+ animations: [slideSidebarPadding],
+ standalone: true,
+ imports: [
+ TranslateModule,
+ ThemedAdminSidebarComponent,
+ SystemWideAlertBannerComponent,
+ ThemedHeaderNavbarWrapperComponent,
+ ThemedBreadcrumbsComponent,
+ NgIf,
+ NgClass,
+ ThemedLoadingComponent,
+ RouterOutlet,
+ ThemedFooterComponent,
+ NotificationsBoardComponent,
+ AsyncPipe,
+ ],
+})
+export class RootComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.html b/src/themes/qmu/app/search-navbar/search-navbar.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.scss b/src/themes/qmu/app/search-navbar/search-navbar.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-navbar/search-navbar.component.ts b/src/themes/qmu/app/search-navbar/search-navbar.component.ts
new file mode 100644
index 00000000000..59f6bf08a1a
--- /dev/null
+++ b/src/themes/qmu/app/search-navbar/search-navbar.component.ts
@@ -0,0 +1,23 @@
+import { Component } from '@angular/core';
+import {
+ FormsModule,
+ ReactiveFormsModule,
+} from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { SearchNavbarComponent as BaseComponent } from '../../../../app/search-navbar/search-navbar.component';
+import { BrowserOnlyPipe } from '../../../../app/shared/utils/browser-only.pipe';
+import { ClickOutsideDirective } from '../../../../app/shared/utils/click-outside.directive';
+
+@Component({
+ selector: 'ds-themed-search-navbar',
+ // styleUrls: ['./search-navbar.component.scss'],
+ styleUrls: ['../../../../app/search-navbar/search-navbar.component.scss'],
+ // templateUrl: './search-navbar.component.html'
+ templateUrl: '../../../../app/search-navbar/search-navbar.component.html',
+ standalone: true,
+ imports: [ClickOutsideDirective, FormsModule, ReactiveFormsModule, TranslateModule, BrowserOnlyPipe],
+})
+export class SearchNavbarComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.html b/src/themes/qmu/app/search-page/configuration-search-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.scss b/src/themes/qmu/app/search-page/configuration-search-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-page/configuration-search-page.component.ts b/src/themes/qmu/app/search-page/configuration-search-page.component.ts
new file mode 100644
index 00000000000..8635cd2edbb
--- /dev/null
+++ b/src/themes/qmu/app/search-page/configuration-search-page.component.ts
@@ -0,0 +1,45 @@
+import {
+ AsyncPipe,
+ NgIf,
+ NgTemplateOutlet,
+} from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+} from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service';
+import { SEARCH_CONFIG_SERVICE } from '../../../../app/my-dspace-page/my-dspace-configuration.service';
+import { ConfigurationSearchPageComponent as BaseComponent } from '../../../../app/search-page/configuration-search-page.component';
+import { pushInOut } from '../../../../app/shared/animations/push';
+import { SearchLabelsComponent } from '../../../../app/shared/search/search-labels/search-labels.component';
+import { ThemedSearchResultsComponent } from '../../../../app/shared/search/search-results/themed-search-results.component';
+import { ThemedSearchSidebarComponent } from '../../../../app/shared/search/search-sidebar/themed-search-sidebar.component';
+import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component';
+import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component';
+import { ViewModeSwitchComponent } from '../../../../app/shared/view-mode-switch/view-mode-switch.component';
+
+@Component({
+ selector: 'ds-themed-configuration-search-page',
+ // styleUrls: ['./configuration-search-page.component.scss'],
+ styleUrls: ['../../../../app/shared/search/search.component.scss'],
+ // templateUrl: './configuration-search-page.component.html'
+ templateUrl: '../../../../app/shared/search/search.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ animations: [pushInOut],
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService,
+ },
+ ],
+ standalone: true,
+ imports: [NgIf, NgTemplateOutlet, PageWithSidebarComponent, ViewModeSwitchComponent, ThemedSearchResultsComponent, ThemedSearchSidebarComponent, ThemedSearchFormComponent, SearchLabelsComponent, AsyncPipe, TranslateModule],
+})
+
+/**
+ * This component renders a search page using a configuration as input.
+ */
+export class ConfigurationSearchPageComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/search-page/search-page.component.html b/src/themes/qmu/app/search-page/search-page.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-page/search-page.component.scss b/src/themes/qmu/app/search-page/search-page.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/search-page/search-page.component.ts b/src/themes/qmu/app/search-page/search-page.component.ts
new file mode 100644
index 00000000000..2d8093c7541
--- /dev/null
+++ b/src/themes/qmu/app/search-page/search-page.component.ts
@@ -0,0 +1,27 @@
+import { Component } from '@angular/core';
+import { SEARCH_CONFIG_SERVICE } from 'src/app/my-dspace-page/my-dspace-configuration.service';
+
+import { SearchConfigurationService } from '../../../../app/core/shared/search/search-configuration.service';
+import { SearchPageComponent as BaseComponent } from '../../../../app/search-page/search-page.component';
+import { ThemedSearchComponent } from '../../../../app/shared/search/themed-search.component';
+
+@Component({
+ selector: 'ds-themed-search-page',
+ // styleUrls: ['./search-page.component.scss'],
+ // templateUrl: './search-page.component.html'
+ templateUrl: '../../../../app/search-page/search-page.component.html',
+ providers: [
+ {
+ provide: SEARCH_CONFIG_SERVICE,
+ useClass: SearchConfigurationService,
+ },
+ ],
+ standalone: true,
+ imports: [ThemedSearchComponent],
+})
+/**
+ * This component represents the whole search page
+ * It renders search results depending on the current search options
+ */
+export class SearchPageComponent extends BaseComponent {}
+
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.html b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.scss b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts
new file mode 100644
index 00000000000..bddca786047
--- /dev/null
+++ b/src/themes/qmu/app/shared/auth-nav-menu/auth-nav-menu.component.ts
@@ -0,0 +1,37 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import {
+ RouterLink,
+ RouterLinkActive,
+} from '@angular/router';
+import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
+import { TranslateModule } from '@ngx-translate/core';
+import { ThemedUserMenuComponent } from 'src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component';
+import { ThemedLogInComponent } from 'src/app/shared/log-in/themed-log-in.component';
+
+import {
+ fadeInOut,
+ fadeOut,
+} from '../../../../../app/shared/animations/fade';
+import { AuthNavMenuComponent as BaseComponent } from '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component';
+import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pipe';
+
+/**
+ * Component representing the {@link AuthNavMenuComponent} of a page
+ */
+@Component({
+ selector: 'ds-themed-auth-nav-menu',
+ // templateUrl: './auth-nav-menu.component.html',
+ templateUrl: '../../../../../app/shared/auth-nav-menu/auth-nav-menu.component.html',
+ // styleUrls: ['./auth-nav-menu.component.scss'],
+ styleUrls: ['../../../../../app/shared/auth-nav-menu/auth-nav-menu.component.scss'],
+ animations: [fadeInOut, fadeOut],
+ standalone: true,
+ imports: [NgClass, NgIf, NgbDropdownModule, ThemedLogInComponent, RouterLink, RouterLinkActive, ThemedUserMenuComponent, AsyncPipe, TranslateModule, BrowserOnlyPipe],
+})
+export class AuthNavMenuComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.html b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.scss b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
new file mode 100644
index 00000000000..80df6857292
--- /dev/null
+++ b/src/themes/qmu/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
@@ -0,0 +1,31 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import {
+ RouterLink,
+ RouterLinkActive,
+} from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component';
+import { LogOutComponent } from 'src/app/shared/log-out/log-out.component';
+
+import { UserMenuComponent as BaseComponent } from '../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component';
+
+/**
+ * Component representing the {@link UserMenuComponent} of a page
+ */
+@Component({
+ selector: 'ds-themed-user-menu',
+ // templateUrl: 'user-menu.component.html',
+ templateUrl: '../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component.html',
+ // styleUrls: ['user-menu.component.scss'],
+ styleUrls: ['../../../../../../app/shared/auth-nav-menu/user-menu/user-menu.component.scss'],
+ standalone: true,
+ imports: [NgIf, ThemedLoadingComponent, RouterLinkActive, NgClass, RouterLink, LogOutComponent, AsyncPipe, TranslateModule],
+
+})
+export class UserMenuComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.html b/src/themes/qmu/app/shared/browse-by/browse-by.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.scss b/src/themes/qmu/app/shared/browse-by/browse-by.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/browse-by/browse-by.component.ts b/src/themes/qmu/app/shared/browse-by/browse-by.component.ts
new file mode 100644
index 00000000000..34c0bf965a7
--- /dev/null
+++ b/src/themes/qmu/app/shared/browse-by/browse-by.component.ts
@@ -0,0 +1,36 @@
+import {
+ AsyncPipe,
+ NgClass,
+ NgComponentOutlet,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+import { ErrorComponent } from 'src/app/shared/error/error.component';
+import { ThemedLoadingComponent } from 'src/app/shared/loading/themed-loading.component';
+import { ObjectCollectionComponent } from 'src/app/shared/object-collection/object-collection.component';
+import { ThemedResultsBackButtonComponent } from 'src/app/shared/results-back-button/themed-results-back-button.component';
+import { VarDirective } from 'src/app/shared/utils/var.directive';
+
+import {
+ fadeIn,
+ fadeInOut,
+} from '../../../../../app/shared/animations/fade';
+import { BrowseByComponent as BaseComponent } from '../../../../../app/shared/browse-by/browse-by.component';
+import { StartsWithLoaderComponent } from '../../../../../app/shared/starts-with/starts-with-loader.component';
+
+@Component({
+ selector: 'ds-themed-browse-by',
+ // styleUrls: ['./browse-by.component.scss'],
+ styleUrls: ['../../../../../app/shared/browse-by/browse-by.component.scss'],
+ // templateUrl: './browse-by.component.html',
+ templateUrl: '../../../../../app/shared/browse-by/browse-by.component.html',
+ animations: [
+ fadeIn,
+ fadeInOut,
+ ],
+ standalone: true,
+ imports: [VarDirective, NgClass, NgComponentOutlet, NgIf, ThemedResultsBackButtonComponent, ObjectCollectionComponent, ThemedLoadingComponent, ErrorComponent, AsyncPipe, TranslateModule, StartsWithLoaderComponent],
+})
+export class BrowseByComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.html b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.scss b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts
new file mode 100644
index 00000000000..0217a309f66
--- /dev/null
+++ b/src/themes/qmu/app/shared/collection-dropdown/collection-dropdown.component.ts
@@ -0,0 +1,28 @@
+import {
+ AsyncPipe,
+ NgFor,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import {
+ FormsModule,
+ ReactiveFormsModule,
+} from '@angular/forms';
+import { TranslateModule } from '@ngx-translate/core';
+import { InfiniteScrollModule } from 'ngx-infinite-scroll';
+
+import { CollectionDropdownComponent as BaseComponent } from '../../../../../app/shared/collection-dropdown/collection-dropdown.component';
+import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
+
+@Component({
+ selector: 'ds-themed-collection-dropdown',
+ templateUrl: '../../../../../app/shared/collection-dropdown/collection-dropdown.component.html',
+ // templateUrl: './collection-dropdown.component.html',
+ styleUrls: ['../../../../../app/shared/collection-dropdown/collection-dropdown.component.scss'],
+ // styleUrls: ['./collection-dropdown.component.scss']
+ standalone: true,
+ imports: [NgIf, FormsModule, ReactiveFormsModule, InfiniteScrollModule, NgFor, ThemedLoadingComponent, AsyncPipe, TranslateModule],
+})
+export class CollectionDropdownComponent extends BaseComponent {
+
+}
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts
new file mode 100644
index 00000000000..9495ae45d56
--- /dev/null
+++ b/src/themes/qmu/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts
@@ -0,0 +1,34 @@
+import {
+ AsyncPipe,
+ NgForOf,
+ NgIf,
+} from '@angular/common';
+import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import {
+ RouterLink,
+ RouterLinkActive,
+} from '@angular/router';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component';
+
+@Component({
+ selector: 'ds-themed-comcol-page-browse-by',
+ // styleUrls: ['./comcol-page-browse-by.component.scss'],
+ styleUrls: ['../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss'],
+ // templateUrl: './comcol-page-browse-by.component.html'
+ templateUrl: '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html',
+ standalone: true,
+ imports: [
+ FormsModule,
+ NgForOf,
+ RouterLink,
+ RouterLinkActive,
+ TranslateModule,
+ AsyncPipe,
+ NgIf,
+ ],
+})
+export class ComcolPageBrowseByComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts
new file mode 100644
index 00000000000..1d98892e33d
--- /dev/null
+++ b/src/themes/qmu/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts
@@ -0,0 +1,20 @@
+import { NgIf } from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ComcolPageContentComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component';
+
+@Component({
+ selector: 'ds-themed-comcol-page-content',
+ // styleUrls: ['./comcol-page-content.component.scss'],
+ styleUrls: ['../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.scss'],
+ // templateUrl: './comcol-page-content.component.html',
+ templateUrl: '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.html',
+ imports: [
+ TranslateModule,
+ NgIf,
+ ],
+ standalone: true,
+})
+export class ComcolPageContentComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts
new file mode 100644
index 00000000000..7609879f784
--- /dev/null
+++ b/src/themes/qmu/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts
@@ -0,0 +1,20 @@
+import { NgIf } from '@angular/common';
+import { Component } from '@angular/core';
+import { TranslateModule } from '@ngx-translate/core';
+
+import { ComcolPageHandleComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component';
+
+@Component({
+ selector: 'ds-themed-comcol-page-handle',
+ // templateUrl: './comcol-page-handle.component.html',
+ templateUrl: '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html',
+ // styleUrls: ['./comcol-page-handle.component.scss'],
+ styleUrls: ['../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss'],
+ standalone: true,
+ imports: [
+ NgIf,
+ TranslateModule,
+ ],
+})
+export class ComcolPageHandleComponent extends BaseComponent {
+}
diff --git a/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html
new file mode 100644
index 00000000000..54044f5d796
--- /dev/null
+++ b/src/themes/qmu/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.html
@@ -0,0 +1,11 @@
+