From f1ce02d7273a92a99da2eb73e18f1a66de22a8ba Mon Sep 17 00:00:00 2001 From: MatusBeke Date: Mon, 17 Aug 2026 14:26:08 +0200 Subject: [PATCH 1/2] MENDELU/Replace footer "Theme by" with a copyright sign MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vendor credit in the footer read "Theme by / + dataquest", with the words stacked above the company name. Replace the wording with a bare copyright sign set as a superscript of the name, so the credit reads "+ dataquest©" on a single line. The old wording came from the i18n key footer.theme.by.message, which is now unused and removed from en.json5 and cs.json5 — a copyright sign is a symbol, not a translated word, so English and Czech render identically. Layout notes: - The stacking came from a block-level

inside a d-flex wrapper in a narrow col-md-2 cell. Both are gone; the credit is now one line of text with white-space: nowrap, so the sign can never strand itself. - line-height: 0 on the superscript keeps it out of the line box, so the footer stays 83px tall, exactly as before. - The redundant [title] tooltip is dropped; the link text already supplies the accessible name. Refs dataquest-dev/dspace-customers#592 Co-Authored-By: Claude Opus 5 --- src/assets/i18n/cs.json5 | 3 -- src/assets/i18n/en.json5 | 2 - .../custom/app/footer/footer.component.html | 12 ++---- .../custom/app/footer/footer.component.scss | 40 +++++++++++++++++++ 4 files changed, 44 insertions(+), 13 deletions(-) diff --git a/src/assets/i18n/cs.json5 b/src/assets/i18n/cs.json5 index a340360dfc2..473ab7d1f37 100644 --- a/src/assets/i18n/cs.json5 +++ b/src/assets/i18n/cs.json5 @@ -10980,8 +10980,5 @@ // "contact-us.email": "Email: ", "contact-us.email": "Email: ", - // "footer.theme.by.message": "Theme by", - "footer.theme.by.message": "Theme by", - } diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index adf1a1d2352..50d5ec15cc6 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -7281,6 +7281,4 @@ "contact-us.feedback": "Feedback", "contact-us.email": "Email: ", - - "footer.theme.by.message": "Theme by", } diff --git a/src/themes/custom/app/footer/footer.component.html b/src/themes/custom/app/footer/footer.component.html index c28660d64e9..5c13a9dcec1 100644 --- a/src/themes/custom/app/footer/footer.component.html +++ b/src/themes/custom/app/footer/footer.component.html @@ -104,14 +104,10 @@

Footer Content
- +
diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss index 1f9da8098aa..e0d9c127dac 100644 --- a/src/themes/custom/app/footer/footer.component.scss +++ b/src/themes/custom/app/footer/footer.component.scss @@ -75,6 +75,46 @@ .btn { box-shadow: none; } + + // Vendor credit at the right end of the bar. White to match the nav links + // beside it — note that #fff on this green measures 2.29:1 and is below the + // WCAG AA threshold, same as those links already are. Kept on a single + // non-breaking line so the © can never strand itself above the name. + .footer-sign { + font-size: 1.0625rem; + font-weight: 500; + line-height: 1.2; + letter-spacing: 0.012em; + white-space: nowrap; + color: #fff; + + // The © is set as a superscript of the company name, the way a trademark + // mark rides a wordmark. line-height: 0 keeps it from adding to the line box. + &__mark { + font-size: 0.68em; + font-weight: 400; + vertical-align: super; + line-height: 0; + margin-left: 0.12em; + } + + .dtq-sign { + color: inherit; + text-decoration: none; + + &:hover, + &:focus-visible { + text-decoration: underline; + text-underline-offset: 0.18em; + } + + &:focus-visible { + outline: 2px solid #fff; + outline-offset: 3px; + border-radius: 2px; + } + } + } } .footer-logo { From bd7e6c401ff615e6fc5316a32f264a081bda2c2f Mon Sep 17 00:00:00 2001 From: MatusBeke Date: Mon, 17 Aug 2026 14:55:55 +0200 Subject: [PATCH 2/2] MENDELU/Don't render the vendor credit when no company is configured MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The footer a11y e2e test failed with a link-name violation: when the backend does not expose themed.by.company.name — which is the case on the CI stack — the anchor rendered as , an empty link with no discernible text. Guard the whole credit with @if on the company name, the same way the base footer component does, so nothing renders at all when there is no vendor configured. This also stops a lone © from appearing without a name. *ngVar is no longer needed, so VarDirective drops out of the component's imports — it had no other use in this template. Refs dataquest-dev/dspace-customers#592 Co-Authored-By: Claude Opus 5 --- src/themes/custom/app/footer/footer.component.html | 9 +++++---- src/themes/custom/app/footer/footer.component.ts | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/themes/custom/app/footer/footer.component.html b/src/themes/custom/app/footer/footer.component.html index 5c13a9dcec1..284279d72f4 100644 --- a/src/themes/custom/app/footer/footer.component.html +++ b/src/themes/custom/app/footer/footer.component.html @@ -104,10 +104,11 @@
Footer Content
- + @if ((themedByCompanyName$ | async)?.payload?.values?.[0]; as companyName) { + + }
diff --git a/src/themes/custom/app/footer/footer.component.ts b/src/themes/custom/app/footer/footer.component.ts index 00bd49f83fb..e861f72d006 100644 --- a/src/themes/custom/app/footer/footer.component.ts +++ b/src/themes/custom/app/footer/footer.component.ts @@ -4,7 +4,6 @@ import { RouterLink } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { FooterComponent as BaseComponent } from '../../../../app/footer/footer.component'; -import { VarDirective } from '../../../../app/shared/utils/var.directive'; @Component({ selector: 'ds-themed-footer', @@ -17,7 +16,6 @@ import { VarDirective } from '../../../../app/shared/utils/var.directive'; AsyncPipe, RouterLink, TranslateModule, - VarDirective, ], }) export class FooterComponent extends BaseComponent {