diff --git a/src/app/app-routing-paths.ts b/src/app/app-routing-paths.ts
index fe2837c6e3..518622c8d1 100644
--- a/src/app/app-routing-paths.ts
+++ b/src/app/app-routing-paths.ts
@@ -32,6 +32,12 @@ export function getBitstreamRequestACopyRoute(item, bitstream): { routerLink: st
};
}
+export const COAR_NOTIFY_SUPPORT = 'coar-notify-support';
+
+export function getCoarNotifyInfoRoute() {
+ return `/${COAR_NOTIFY_SUPPORT}`;
+}
+
export const HOME_PAGE_PATH = 'admin';
export function getHomePageRoute() {
diff --git a/src/app/core/coar-notify/notify-info/notify-info.component.html b/src/app/core/coar-notify/notify-info/notify-info.component.html
new file mode 100644
index 0000000000..3596acfc67
--- /dev/null
+++ b/src/app/core/coar-notify/notify-info/notify-info.component.html
@@ -0,0 +1,16 @@
+
+
+
+ {{ 'coar-notify-support.title' | translate }}
+
+
+{{ 'coar-notify-support.title' | translate }}
+
+
+{{ 'coar-notify-support.ldn-inbox.title' | translate }}
+
+
+{{ 'coar-notify-support.message-moderation.title' | translate }}
+
+
+
diff --git a/src/app/core/coar-notify/notify-info/notify-info.component.scss b/src/app/core/coar-notify/notify-info/notify-info.component.scss
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/app/core/coar-notify/notify-info/notify-info.component.spec.ts b/src/app/core/coar-notify/notify-info/notify-info.component.spec.ts
new file mode 100644
index 0000000000..eae3a3e3d6
--- /dev/null
+++ b/src/app/core/coar-notify/notify-info/notify-info.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { NotifyInfoComponent } from './notify-info.component';
+
+describe('NotifyInfoComponent', () => {
+ let component: NotifyInfoComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ NotifyInfoComponent ]
+ })
+ .compileComponents();
+ });
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(NotifyInfoComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/core/coar-notify/notify-info/notify-info.component.ts b/src/app/core/coar-notify/notify-info/notify-info.component.ts
new file mode 100644
index 0000000000..a144f5d746
--- /dev/null
+++ b/src/app/core/coar-notify/notify-info/notify-info.component.ts
@@ -0,0 +1,18 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'ds-notify-info',
+ templateUrl: './notify-info.component.html',
+ styleUrls: ['./notify-info.component.scss']
+})
+export class NotifyInfoComponent implements OnInit {
+
+ constructor() {
+ //
+ }
+
+ ngOnInit(): void {
+ //
+ }
+
+}
diff --git a/src/app/footer/footer.component.html b/src/app/footer/footer.component.html
index 97265d7a23..5a77d98269 100644
--- a/src/app/footer/footer.component.html
+++ b/src/app/footer/footer.component.html
@@ -81,6 +81,12 @@
+
diff --git a/src/app/footer/footer.component.scss b/src/app/footer/footer.component.scss
index 350295b870..7a1af42bfc 100644
--- a/src/app/footer/footer.component.scss
+++ b/src/app/footer/footer.component.scss
@@ -22,6 +22,18 @@
}
.bottom-footer {
+ .notify-enabled {
+ .coar-notify-support-route{
+ padding: 0 calc(var(--bs-spacer) / 2);
+ color: inherit
+ }
+ .n-coar{
+ height: var(--ds-footer-n-coar-height);
+ margin-bottom: 7px;
+ }
+ margin-top: 15px;
+ margin-left: 50px;
+ }
ul {
li {
display: inline-flex;
@@ -45,3 +57,4 @@
}
+
diff --git a/src/app/info/info-routing.module.ts b/src/app/info/info-routing.module.ts
index 4c497461e7..9734fa4627 100644
--- a/src/app/info/info-routing.module.ts
+++ b/src/app/info/info-routing.module.ts
@@ -7,6 +7,8 @@ import { ThemedPrivacyComponent } from './privacy/themed-privacy.component';
import { ThemedFeedbackComponent } from './feedback/themed-feedback.component';
import { FeedbackGuard } from '../core/feedback/feedback.guard';
import { environment } from '../../environments/environment';
+import { COAR_NOTIFY_SUPPORT } from '../app-routing-paths';
+import { NotifyInfoComponent } from '../core/coar-notify/notify-info/notify-info.component';
const imports = [
@@ -18,11 +20,21 @@ const imports = [
data: { title: 'info.feedback.title', breadcrumbKey: 'info.feedback' },
canActivate: [FeedbackGuard]
}
+ ]),
+ RouterModule.forChild([
+ {
+ path: COAR_NOTIFY_SUPPORT,
+ component: NotifyInfoComponent,
+ resolve: { breadcrumb: I18nBreadcrumbResolver },
+ data: { title: 'info.coar-notify-support.title', breadcrumbKey: 'info.coar-notify-support' },
+ // TODO: create authGuard for COAR_NOTIFY
+ // canActivate: [FeedbackGuard]
+ }
])
];
- if (environment.info.enableEndUserAgreement) {
- imports.push(
+if (environment.info.enableEndUserAgreement) {
+ imports.push(
RouterModule.forChild([
{
path: END_USER_AGREEMENT_PATH,
@@ -31,9 +43,9 @@ const imports = [
data: { title: 'info.end-user-agreement.title', breadcrumbKey: 'info.end-user-agreement' }
}
]));
- }
- if (environment.info.enablePrivacyStatement) {
- imports.push(
+}
+if (environment.info.enablePrivacyStatement) {
+ imports.push(
RouterModule.forChild([
{
path: PRIVACY_PATH,
@@ -42,7 +54,7 @@ const imports = [
data: { title: 'info.privacy.title', breadcrumbKey: 'info.privacy' }
}
]));
- }
+}
@NgModule({
imports: [
diff --git a/src/app/info/info.module.ts b/src/app/info/info.module.ts
index ccc4af0a7d..0cadbf4bfa 100644
--- a/src/app/info/info.module.ts
+++ b/src/app/info/info.module.ts
@@ -13,6 +13,7 @@ import { FeedbackFormComponent } from './feedback/feedback-form/feedback-form.co
import { ThemedFeedbackFormComponent } from './feedback/feedback-form/themed-feedback-form.component';
import { ThemedFeedbackComponent } from './feedback/themed-feedback.component';
import { FeedbackGuard } from '../core/feedback/feedback.guard';
+import { NotifyInfoComponent } from '../core/coar-notify/notify-info/notify-info.component';
const DECLARATIONS = [
@@ -25,7 +26,8 @@ const DECLARATIONS = [
FeedbackComponent,
FeedbackFormComponent,
ThemedFeedbackFormComponent,
- ThemedFeedbackComponent
+ ThemedFeedbackComponent,
+ NotifyInfoComponent
];
@NgModule({
diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5
index 3a5ff742df..9d72aec64f 100644
--- a/src/assets/i18n/en.json5
+++ b/src/assets/i18n/en.json5
@@ -867,6 +867,20 @@
"claimed-declined-task-search-result-list-element.title": "Declined, sent back to Review Manager's workflow",
+ "coar-notify-support.title": "COAR Notify Protocol",
+
+ "coar-notify-support-title.content":"Here, we fully support the COAR Notify protocol, which is designed to enhance the communication between repositories. To learn more about the COAR Notify protocol, you can visit their official website here.",
+
+ "coar-notify-support.ldn-inbox.title": "LDN InBox",
+
+ "coar-notify-support.ldn-inbox.content": "For your convenience, our LDN (Linked Data Notifications) InBox is easily accessible at ${restApiUrl}/ldn/inbox
. The LDN InBox enables seamless communication and data exchange, ensuring efficient and effective collaboration.",
+
+ "coar-notify-support.message-moderation.title": "Message Moderation",
+
+ "coar-notify-support.message-moderation.content": "To ensure a secure and productive environment, all incoming LDN messages are moderated. If you are planning to exchange information with us, kindly reach out via our dedicated Feedback form. You can access the Feedback form by clicking here.",
+
+
+
"collection.create.head": "Create a Collection",
"collection.create.notifications.success": "Successfully created the Collection",
@@ -1881,6 +1895,10 @@
"info.feedback.breadcrumbs": "Feedback",
+ "info.coar-notify-support.title":"Notify Support",
+
+ "info.coar-notify-support": "Notify Support",
+
"info.feedback.head": "Feedback",
"info.feedback.title": "Feedback",
diff --git a/src/assets/images/n-coar.png b/src/assets/images/n-coar.png
new file mode 100644
index 0000000000..5c4c741572
Binary files /dev/null and b/src/assets/images/n-coar.png differ
diff --git a/src/styles/_custom_variables.scss b/src/styles/_custom_variables.scss
index ddf490c7a7..549a3f1d33 100644
--- a/src/styles/_custom_variables.scss
+++ b/src/styles/_custom_variables.scss
@@ -70,6 +70,7 @@
--ds-footer-padding: 0;
--ds-footer-padding-bottom: 0;
--ds-footer-logo-height: 50px;
+ --ds-footer-n-coar-height: 20px;
$home-news-link-color: $cyan;
--ds-home-news-link-color: #{$home-news-link-color};