From bcced02657e0e57df6c8f3517277928a50e4f3e9 Mon Sep 17 00:00:00 2001 From: MatusBeke Date: Tue, 18 Aug 2026 12:38:26 +0200 Subject: [PATCH 1/3] MENDELU/Reduce the footer vendor credit to the company name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The footer credit read "Theme by" stacked above "+ dataquest". Drop the wording entirely and leave the company name on its own. The i18n key footer.theme.by.message is now unused and removed from en.json5 and cs.json5. Nothing in the credit is translated any more, so English and Czech render identically. Layout notes: - The stacking came from a block-level

inside the narrow col-md-2 cell. The credit is now a single line of text with white-space: nowrap. - The whole credit is guarded by @if on the company name, the same way the base footer component does. Without it the anchor renders as on stacks that do not expose themed.by.company.name — an empty link with no discernible text, which fails the footer a11y e2e test (link-name). - *ngVar is no longer needed, so VarDirective drops out of the component's imports; it had no other use in this template. - The redundant [title] tooltip is dropped; the link text already supplies the accessible name. - Footer height is unchanged at 83px. 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 | 13 ++++----- .../custom/app/footer/footer.component.scss | 29 +++++++++++++++++++ .../custom/app/footer/footer.component.ts | 2 -- 5 files changed, 34 insertions(+), 15 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..92ce39b1f2d 100644 --- a/src/themes/custom/app/footer/footer.component.html +++ b/src/themes/custom/app/footer/footer.component.html @@ -104,14 +104,11 @@

Footer Content
- + @if ((themedByCompanyName$ | async)?.payload?.values?.[0]; as companyName) { + + }
diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss index 1f9da8098aa..01c3f97c34f 100644 --- a/src/themes/custom/app/footer/footer.component.scss +++ b/src/themes/custom/app/footer/footer.component.scss @@ -75,6 +75,35 @@ .btn { box-shadow: none; } + + // Vendor credit at the right end of the bar: the company name on its own, + // no wording and no symbol. White to match the nav links beside it. Kept on + // a single non-breaking line so it never splits across the narrow column. + .footer-sign { + font-size: 1.0625rem; + font-weight: 600; + line-height: 1.2; + letter-spacing: 0.012em; + white-space: nowrap; + color: #fff; + + .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 { 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 { From 5d4fef85d87cdd5557afa94a84ca6ecdbcdae5fe Mon Sep 17 00:00:00 2001 From: MatusBeke Date: Tue, 18 Aug 2026 13:12:20 +0200 Subject: [PATCH 2/3] MENDELU/Only link the vendor credit when the URL is configured Addresses review feedback on the footer credit. When themed.by.company.name resolves but themed.by.url does not, the anchor rendered as , a link that goes nowhere and reloads the current page on click. Render the name as plain text in that case and keep the anchor for when the URL is actually available. Verified by returning 404 for themed.by.url alone: the credit stays visible, no anchor is emitted. Also set an explicit margin: 0 on .footer-sign. The theme's own `footer p { margin: 0 }` already neutralises Bootstrap Reboot's `p { margin-bottom: 1rem }`, so nothing was broken, but pinning it locally keeps the bar height independent of a rule declared far away. Refs dataquest-dev/dspace-customers#592 Co-Authored-By: Claude Opus 5 --- src/themes/custom/app/footer/footer.component.html | 10 +++++++--- src/themes/custom/app/footer/footer.component.scss | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/themes/custom/app/footer/footer.component.html b/src/themes/custom/app/footer/footer.component.html index 92ce39b1f2d..0aee83c5fd7 100644 --- a/src/themes/custom/app/footer/footer.component.html +++ b/src/themes/custom/app/footer/footer.component.html @@ -105,9 +105,13 @@
Footer Content
@if ((themedByCompanyName$ | async)?.payload?.values?.[0]; as companyName) { - + }
diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss index 01c3f97c34f..ceb54962f68 100644 --- a/src/themes/custom/app/footer/footer.component.scss +++ b/src/themes/custom/app/footer/footer.component.scss @@ -80,6 +80,10 @@ // no wording and no symbol. White to match the nav links beside it. Kept on // a single non-breaking line so it never splits across the narrow column. .footer-sign { + // Explicit even though `footer p { margin: 0 }` above already covers it — + // this keeps the credit independent of that rule and of Bootstrap Reboot's + // `p { margin-bottom: 1rem }`, either of which could change the bar height. + margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.2; From bac855faaa2b8684e9651efd6269a992f74c0bce Mon Sep 17 00:00:00 2001 From: MatusBeke Date: Wed, 19 Aug 2026 11:16:02 +0200 Subject: [PATCH 3/3] MENDELU/Keep the vendor credit's existing typography Review feedback: the credit came out bold, which production does not do. The .footer-sign block was carrying font-size: 1.0625rem, font-weight: 600 and letter-spacing from an earlier iteration of this change, when the credit was being redesigned around a copyright sign. That design was dropped in favour of the plain company name, but the type overrides stayed behind and silently restyled the credit. Measured on https://repozitar.mendelu.cz/ the credit renders at 16px, weight 400, letter-spacing normal. With those three declarations removed it inherits exactly that again, verified on the compiled build. What remains in the block is layout only, not looks: margin: 0 against Bootstrap Reboot, white-space: nowrap, the colour that replaces the removed text-white class, and the hover/focus states. Refs dataquest-dev/dspace-customers#592 Co-Authored-By: Claude Opus 5 --- src/themes/custom/app/footer/footer.component.scss | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/themes/custom/app/footer/footer.component.scss b/src/themes/custom/app/footer/footer.component.scss index ceb54962f68..fc79b3ff923 100644 --- a/src/themes/custom/app/footer/footer.component.scss +++ b/src/themes/custom/app/footer/footer.component.scss @@ -84,10 +84,9 @@ // this keeps the credit independent of that rule and of Bootstrap Reboot's // `p { margin-bottom: 1rem }`, either of which could change the bar height. margin: 0; - font-size: 1.0625rem; - font-weight: 600; - line-height: 1.2; - letter-spacing: 0.012em; + // Deliberately no font-size / font-weight / letter-spacing here: the + // credit must keep rendering exactly as it does in production (16px, + // weight 400). This issue only removes the wording, not the look. white-space: nowrap; color: #fff;