diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html index 0680b43f9c..8b3716657a 100644 --- a/frontend/src/app/app.component.html +++ b/frontend/src/app/app.component.html @@ -1 +1,2 @@ + diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts index 278922e18d..284699f649 100644 --- a/frontend/src/app/app.module.ts +++ b/frontend/src/app/app.module.ts @@ -28,7 +28,6 @@ import { MatRadioModule } from '@angular/material/radio'; import { ConfigService } from './config.service'; import { firstValueFrom } from 'rxjs'; import { environment } from '../environments/environment'; -import { ApplicationTopBarComponent } from './components/application-top-bar/application-top-bar.component'; import { TeamComponent } from './components/team/team.component'; import { OverviewComponent } from './components/overview/overview.component'; import { ObjectiveComponent } from './components/objective/objective.component'; @@ -62,6 +61,7 @@ import { CheckInFormMetricComponent } from './components/checkin/check-in-form-m import { CheckInFormOrdinalComponent } from './components/checkin/check-in-form-ordinal/check-in-form-ordinal.component'; import { CheckInFormComponent } from './components/checkin/check-in-form/check-in-form.component'; import { SidepanelComponent } from './components/sidepanel/sidepanel.component'; +import { ApplicationTopBarComponent } from './components/application-top-bar/application-top-bar.component'; function initOauthFactory(configService: ConfigService, oauthService: OAuthService) { return async () => { diff --git a/frontend/src/app/components/application-banner/application-banner.component.html b/frontend/src/app/components/application-banner/application-banner.component.html index a9c00a7a87..1c9d342318 100644 --- a/frontend/src/app/components/application-banner/application-banner.component.html +++ b/frontend/src/app/components/application-banner/application-banner.component.html @@ -36,13 +36,7 @@
- okr-tangram +
diff --git a/frontend/src/app/components/application-banner/application-banner.component.scss b/frontend/src/app/components/application-banner/application-banner.component.scss index 7f50d0ee5f..0c0c6289e3 100644 --- a/frontend/src/app/components/application-banner/application-banner.component.scss +++ b/frontend/src/app/components/application-banner/application-banner.component.scss @@ -1,14 +1,5 @@ @import "../style/variables"; -#okrBanner { - position: fixed; - width: 100%; - height: min-content; - z-index: 100; - transition: 0.5s; - background-color: #dcedf9; -} - .header-content { padding-left: 1.5rem; } diff --git a/frontend/src/app/components/application-top-bar/application-top-bar.component.html b/frontend/src/app/components/application-top-bar/application-top-bar.component.html index 62916fe5ab..8543d4a6fb 100644 --- a/frontend/src/app/components/application-top-bar/application-top-bar.component.html +++ b/frontend/src/app/components/application-top-bar/application-top-bar.component.html @@ -1,8 +1,8 @@
- - okr-logo - + + okr-logo +
diff --git a/frontend/src/app/components/application-top-bar/application-top-bar.component.ts b/frontend/src/app/components/application-top-bar/application-top-bar.component.ts index 7e9a7cb658..8f6cffb73f 100644 --- a/frontend/src/app/components/application-top-bar/application-top-bar.component.ts +++ b/frontend/src/app/components/application-top-bar/application-top-bar.component.ts @@ -2,8 +2,7 @@ import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; import { map } from 'rxjs'; import { ConfigService } from '../../config.service'; -// import { TeamManagementComponent } from '../shared/dialog/team-management/team-management.component'; -import { Router } from '@angular/router'; +import { NavigationEnd, Router } from '@angular/router'; import { UserService } from '../../services/user.service'; import { getFullNameFromUser } from '../../shared/types/model/User'; @@ -35,7 +34,16 @@ export class ApplicationTopBarComponent implements OnInit { ) .subscribe(); - this.userFullName = getFullNameFromUser(this.userService.getCurrentUser()); + this.initUserFullName(); + } + + private initUserFullName() { + // user is loaded on base route resolver. We have to wait until routing is done. + this.router.events.subscribe((val) => { + if (!this.userFullName && val instanceof NavigationEnd) { + this.userFullName = getFullNameFromUser(this.userService.getCurrentUser()); + } + }); } logOut() { diff --git a/frontend/src/app/components/overview/overview.component.html b/frontend/src/app/components/overview/overview.component.html index a05561f4e4..188ba70cb2 100644 --- a/frontend/src/app/components/overview/overview.component.html +++ b/frontend/src/app/components/overview/overview.component.html @@ -1,6 +1,3 @@ - - -
diff --git a/frontend/src/app/shared/custom/okr-tangram/okr-tangram.component.ts b/frontend/src/app/shared/custom/okr-tangram/okr-tangram.component.ts new file mode 100644 index 0000000000..5f7770b649 --- /dev/null +++ b/frontend/src/app/shared/custom/okr-tangram/okr-tangram.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-okr-tangram', + templateUrl: './okr-tangram.component.html', + styleUrl: './okr-tangram.component.css', +}) +export class OkrTangramComponent {} diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index ecd5405219..b9db9cd0ae 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { CommonModule, NgOptimizedImage } from '@angular/common'; import { ExampleDialogComponent } from './dialog/example-dialog/example-dialog.component'; import { ObjectiveFormComponent } from './dialog/objective-dialog/objective-form.component'; import { UnitValueTransformationPipe } from './pipes/unit-value-transformation/unit-value-transformation.pipe'; @@ -16,6 +16,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatSelectModule } from '@angular/material/select'; import { MatRadioModule } from '@angular/material/radio'; import { MatIconModule } from '@angular/material/icon'; +import { OkrTangramComponent } from './custom/okr-tangram/okr-tangram.component'; @NgModule({ declarations: [ @@ -28,6 +29,7 @@ import { MatIconModule } from '@angular/material/icon'; ScoringComponent, CompleteDialogComponent, DialogHeaderComponent, + OkrTangramComponent, ], imports: [ CommonModule, @@ -39,6 +41,7 @@ import { MatIconModule } from '@angular/material/icon'; MatSelectModule, MatRadioModule, MatIconModule, + NgOptimizedImage, ], exports: [ ExampleDialogComponent, @@ -50,6 +53,7 @@ import { MatIconModule } from '@angular/material/icon'; ScoringComponent, CompleteDialogComponent, DialogHeaderComponent, + OkrTangramComponent, ], }) export class SharedModule {} diff --git a/frontend/src/app/team-management/team-management-banner/team-management-banner.component.css b/frontend/src/app/team-management/team-management-banner/team-management-banner.component.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frontend/src/app/team-management/team-management-banner/team-management-banner.component.html b/frontend/src/app/team-management/team-management-banner/team-management-banner.component.html new file mode 100644 index 0000000000..47d755fe4f --- /dev/null +++ b/frontend/src/app/team-management/team-management-banner/team-management-banner.component.html @@ -0,0 +1,8 @@ +
+
+
+
+ +
+
+
diff --git a/frontend/src/app/team-management/team-management-banner/team-management-banner.component.ts b/frontend/src/app/team-management/team-management-banner/team-management-banner.component.ts new file mode 100644 index 0000000000..32175a7ad2 --- /dev/null +++ b/frontend/src/app/team-management/team-management-banner/team-management-banner.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { isMobileDevice } from '../../shared/common'; + +@Component({ + selector: 'app-team-management-banner', + templateUrl: './team-management-banner.component.html', + styleUrl: './team-management-banner.component.css', +}) +export class TeamManagementBannerComponent { + protected readonly isMobileDevice = isMobileDevice; +} diff --git a/frontend/src/app/team-management/team-management.component.html b/frontend/src/app/team-management/team-management.component.html index 6ee6c5139a..831234e9ba 100644 --- a/frontend/src/app/team-management/team-management.component.html +++ b/frontend/src/app/team-management/team-management.component.html @@ -1 +1 @@ - + diff --git a/frontend/src/app/team-management/team-management.module.ts b/frontend/src/app/team-management/team-management.module.ts index 43e5ee6f94..96f9c6e6f4 100644 --- a/frontend/src/app/team-management/team-management.module.ts +++ b/frontend/src/app/team-management/team-management.module.ts @@ -1,5 +1,5 @@ import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; +import { CommonModule, NgOptimizedImage } from '@angular/common'; import { TeamManagementComponent } from './team-management.component'; import { TeamManagementRoutingModule } from './team-management-routing.module'; import { AddEditTeamDialog } from './add-edit-team-dialog/add-edit-team-dialog.component'; @@ -7,9 +7,10 @@ import { SharedModule } from '../shared/shared.module'; import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { TeamManagementBannerComponent } from './team-management-banner/team-management-banner.component'; @NgModule({ - declarations: [TeamManagementComponent, AddEditTeamDialog], + declarations: [TeamManagementComponent, AddEditTeamDialog, TeamManagementBannerComponent], imports: [ CommonModule, MatDialogModule, @@ -18,6 +19,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; SharedModule, FormsModule, ReactiveFormsModule, + NgOptimizedImage, ], }) export class TeamManagementModule {} diff --git a/frontend/src/style/styles.scss b/frontend/src/style/styles.scss index d7d41b27a2..b5eec1ba72 100644 --- a/frontend/src/style/styles.scss +++ b/frontend/src/style/styles.scss @@ -287,3 +287,12 @@ mat-form-field.quarter-filter .mat-mdc-text-field-wrapper { .break-word { word-break: break-all; } + +#okrBanner { + position: fixed; + width: 100%; + height: min-content; + z-index: 100; + transition: 0.5s; + background-color: #dcedf9; +}