diff --git a/src/main/webapp/app/layouts/footer/footer.html b/src/main/webapp/app/layouts/footer/footer.html index 30aca31d3..9ee1b3841 100644 --- a/src/main/webapp/app/layouts/footer/footer.html +++ b/src/main/webapp/app/layouts/footer/footer.html @@ -1,3 +1,4 @@ -
+ diff --git a/src/main/webapp/app/layouts/footer/footer.scss b/src/main/webapp/app/layouts/footer/footer.scss new file mode 100644 index 000000000..39759a206 --- /dev/null +++ b/src/main/webapp/app/layouts/footer/footer.scss @@ -0,0 +1,30 @@ +@import 'bootstrap/scss/functions'; +@import 'bootstrap/scss/variables'; + +/* ========================================================================== +Footer +========================================================================== */ + +.footer { + margin-top: 2rem; + padding: 1.25rem 1rem; + border-top: 1px solid $border-color; + text-align: center; + font-size: $font-size-sm; + color: $text-muted; + + .footer-text { + margin-bottom: 0.25rem; + } + + .footer-link { + color: $secondary; + text-decoration: none; + + &:hover, + &:focus { + color: $body-color; + text-decoration: underline; + } + } +} diff --git a/src/main/webapp/app/layouts/footer/footer.ts b/src/main/webapp/app/layouts/footer/footer.ts index fd2b68888..6af1329d8 100644 --- a/src/main/webapp/app/layouts/footer/footer.ts +++ b/src/main/webapp/app/layouts/footer/footer.ts @@ -1,10 +1,13 @@ import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import HasAnyAuthorityDirective from 'app/shared/auth/has-any-authority.directive'; import { TranslateDirective } from 'app/shared/language'; @Component({ selector: 'jhi-footer', templateUrl: './footer.html', - imports: [TranslateDirective], + styleUrl: './footer.scss', + imports: [TranslateDirective, RouterLink, HasAnyAuthorityDirective], }) export default class Footer {} diff --git a/src/main/webapp/app/layouts/main/main.spec.ts b/src/main/webapp/app/layouts/main/main.spec.ts index bc362b652..b52253afd 100644 --- a/src/main/webapp/app/layouts/main/main.spec.ts +++ b/src/main/webapp/app/layouts/main/main.spec.ts @@ -1,9 +1,9 @@ import { beforeEach, describe, expect, it, vitest } from 'vitest'; import { DOCUMENT } from '@angular/common'; -import { Component } from '@angular/core'; +import { Component, signal } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { Title } from '@angular/platform-browser'; -import { Router, TitleStrategy } from '@angular/router'; +import { Router, TitleStrategy, provideRouter } from '@angular/router'; import { InterpolatableTranslationObject, LangChangeEvent, TranslateModule, TranslateService } from '@ngx-translate/core'; import { Subject, of } from 'rxjs'; @@ -27,11 +27,14 @@ describe('Main', () => { TestBed.configureTestingModule({ imports: [TranslateModule.forRoot()], providers: [ + provideRouter([]), Title, { provide: AccountService, useValue: { identity: vitest.fn(() => of(null)), + trackCurrentAccount: vitest.fn(() => signal(null)), + hasAnyAuthority: vitest.fn(() => false), }, }, { provide: TitleStrategy, useClass: AppPageTitleStrategy }, diff --git a/src/main/webapp/i18n/en/global.json b/src/main/webapp/i18n/en/global.json index 28bcf7d1d..18f125d3d 100644 --- a/src/main/webapp/i18n/en/global.json +++ b/src/main/webapp/i18n/en/global.json @@ -147,5 +147,6 @@ "not.image": "File was expected to be an image but was found to be \"{{ fileType }}\"" } }, - "footer": "This is your footer" + "footer": "JHipster Sample Application — © 2026 Cognition Partner Workshops", + "footerDocs": "Documentation" }