From 40f241e4270dd7a0ba10ec68da78522dbd2ea281 Mon Sep 17 00:00:00 2001 From: Janaina <jsk22@inf.ufpr.br> Date: Mon, 3 Jun 2024 11:10:42 -0300 Subject: [PATCH] redirection done --- src/app/app-routing.module.ts | 3 +- src/app/app.component.html | 8 +-- src/app/app.component.ts | 6 +- src/app/app.module.ts | 6 +- src/app/home/home.component.scss | 6 -- src/app/home/home.component.ts | 8 +-- .../redirection/redirection.component.html | 26 +++++++ .../redirection/redirection.component.scss | 25 +++++++ .../redirection/redirection.component.spec.ts | 25 +++++++ src/app/redirection/redirection.component.ts | 69 +++++++++++++++++++ .../modal/warning/warningModal.component.scss | 4 ++ 11 files changed, 167 insertions(+), 19 deletions(-) create mode 100644 src/app/redirection/redirection.component.html create mode 100644 src/app/redirection/redirection.component.scss create mode 100644 src/app/redirection/redirection.component.spec.ts create mode 100644 src/app/redirection/redirection.component.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index e1ea848d..1de967bc 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -3,6 +3,7 @@ import { RouterModule, Routes } from '@angular/router'; import { AboutComponent } from './about/about.component'; import { HomeComponent } from './home/home.component'; +import { RedirectionComponent } from './redirection/redirection.component'; import { NotFoundComponent } from './not-found/not-found.component'; import { TeamComponent } from './team/team.component'; import { PqrComponent } from './simulator/pqr/pqr.component'; @@ -12,7 +13,7 @@ import { ResetPasswordComponent } from './reset-password/reset-password.componen import { ContactComponent } from './contact/contact.component'; const routes: Routes = [ - { path: '', component: HomeComponent, canDeactivate: [HasErrorGuard] }, + { path: '', component: RedirectionComponent, canDeactivate: [HasErrorGuard] }, { path: 'pqr', component: PqrComponent, canDeactivate: [HasErrorGuard] }, { path: 'about', component: AboutComponent }, { path: 'quality', component: QualityComponent }, diff --git a/src/app/app.component.html b/src/app/app.component.html index 17fe042b..33057584 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -16,7 +16,7 @@ <img [src]="'assets/images/simcaq_logo_' + (isInverseColor ? 'gray' : 'white') + '.svg'" alt="Logo SimCAQ"> </a> </div> - <div #navbarContent id="mainNavBar" class="collapse navbar-collapse" [collapse]="navBarIsCollapsed"> + <!-- <div #navbarContent id="mainNavBar" class="collapse navbar-collapse" [collapse]="navBarIsCollapsed"> <p class="navbar-text slogan" [class.inverse]="isInverseColor"> <em>Por uma educação pública gratuita e de qualidade para todos/as</em> </p> @@ -61,7 +61,7 @@ <app-profile [isInverseColor]="isInverseColor"></app-profile> </div> </ul> - </div> + </div> --> </div> </nav> <nav class="navbar visible-print-inline"> @@ -77,7 +77,7 @@ <router-outlet></router-outlet> </div> <div *ngIf="showFooter" class="container-fluid hidden-print"> - <div class="sup-footer"> + <!-- <div class="sup-footer"> <div class="row"> <div class="col-md-6 col-lg-3"> <ul class="list-sub-footer"> @@ -131,7 +131,7 @@ </ul> </div> </div> - </div> + </div> --> <div class="footer"> <div class="title">Realização:</div> <a href="http://www.ufpr.br" target="_blank" title="Universidade Federal do Paraná - UFPR"> diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 867b37d5..bd210036 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -76,9 +76,9 @@ export class AppComponent extends BaseUnsubscribe implements OnInit { this.showFooter = true; // Close the navbar menu (mobile screen). - if (this.navbarContent.nativeElement.classList.contains('show')) { - this.navbarMenuToggle.nativeElement.click(); - } + // if (this.navbarContent.nativeElement.classList.contains('show')) { + // this.navbarMenuToggle.nativeElement.click(); + // } }); } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 8dcc64ed..708a22e3 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,6 +13,7 @@ import { AppHttpInterceptor } from './shared/services/http/interceptors/app-http import { AppErrorHandler } from './shared/services/error-handler/app-error-handler.service'; import { AppComponent } from './app.component'; import { HomeComponent } from './home/home.component'; +import { RedirectionComponent } from './redirection/redirection.component'; import { AppRoutingModule } from './app-routing.module'; import { LoginComponent } from './login/login.component'; import { NotFoundComponent } from './not-found/not-found.component'; @@ -22,6 +23,7 @@ import { AboutComponent } from './about/about.component'; import { QualityComponent } from './quality/quality.component'; import { ResetPasswordComponent } from './reset-password/reset-password.component'; import { ContactComponent } from './contact/contact.component'; +import { WarningModalComponent } from './shared/components/modal/warning/warningModal.component'; registerLocaleData(localePt, 'pt'); @@ -39,6 +41,7 @@ registerLocaleData(localePt, 'pt'); declarations: [ AppComponent, HomeComponent, + RedirectionComponent, LoginComponent, NotFoundComponent, TeamComponent, @@ -46,7 +49,8 @@ registerLocaleData(localePt, 'pt'); AboutComponent, QualityComponent, ResetPasswordComponent, - ContactComponent + ContactComponent, + WarningModalComponent ], entryComponents: [ LoginComponent, diff --git a/src/app/home/home.component.scss b/src/app/home/home.component.scss index bee1608f..c9b36aa6 100644 --- a/src/app/home/home.component.scss +++ b/src/app/home/home.component.scss @@ -10,12 +10,6 @@ $blue-color-hover: #43657a; background: url(assets/images/home_bg_curve.svg) no-repeat top right; background-size: cover; - .warningModal { - background-color: #ffffff; - margin-top: 100px; - - } - .phrases { color: $navbar-color; margin-top: 55px; diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index 9e851e09..25de93bf 100644 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -25,12 +25,12 @@ export class HomeComponent extends BaseUnsubscribe implements OnInit { bsModalRef: BsModalRef; - constructor(private simulatorService: SimulatorService, private authService: AuthService,private bsModalService: BsModalService) { + constructor(private simulatorService: SimulatorService, private authService: AuthService, private bsModalService: BsModalService) { super(); - this.bsModalRef = this.bsModalService.show(WarningModalComponent); - this.bsModalRef.content.title = 'Ops!'; - this.bsModalRef.content.body = 'Página não encontrada!'; + // this.bsModalRef = this.bsModalService.show(WarningModalComponent); + // this.bsModalRef.content.title = 'O SIMCAQ não está mais sendo desenvolvido no C3SL/UFPR!'; + // this.bsModalRef.content.body = 'Ele está no seguinte endereço: <a href="https://simcaq.ufg.br">https://simcaq.ufg.br</a> '; } ngOnInit(): void { diff --git a/src/app/redirection/redirection.component.html b/src/app/redirection/redirection.component.html new file mode 100644 index 00000000..24c20545 --- /dev/null +++ b/src/app/redirection/redirection.component.html @@ -0,0 +1,26 @@ +<meta http-equiv = "refresh" content = "10; url = https://simcaq.ufg.br" /> + +<div class="container"> + <div class="row"> + <div class="col-lg-12"> + <div class="redirection-container"> + <div class="redirection"> + <div class="redirection-title"> + <h1>O SIMCAQ não está mais sendo desenvolvido no C3SL/UFPR. </h1> + </div> + <div class="redirection-text"> + Ele está no seguinte endereço: <a href="https://simcaq.ufg.br">https://simcaq.ufg.br</a> + </div> + <div class="redirection-text"> + Você será redirecionado em {{this.counter}} segundos... + </div> + <div class="redirection-text"> + <p>Se você não for redirecionado automaticamente, clique no botão abaixo.</p> + </div> + <div class="redirection-button"> + <a href="https://simcaq.ufg.br" class="button">Ir direto para o link</a> + </div> + </div> + </div> + </div> + </div> \ No newline at end of file diff --git a/src/app/redirection/redirection.component.scss b/src/app/redirection/redirection.component.scss new file mode 100644 index 00000000..a153cfb9 --- /dev/null +++ b/src/app/redirection/redirection.component.scss @@ -0,0 +1,25 @@ +.container { + margin-top: 20vh; + margin-bottom: 18%; + padding-left: 0; + padding-right: 0; + display: flex; + + .redirection-text { + font-size: 20px; + padding-top: 20px; + } + + .redirection-button { + padding-top: 20px; + + .button { + border: 1px solid #49697d; + background-color: #49697d; + border-radius: 4px; + color: #fff; + padding: 10px 20px; + font-size: 15px; + } + } +} \ No newline at end of file diff --git a/src/app/redirection/redirection.component.spec.ts b/src/app/redirection/redirection.component.spec.ts new file mode 100644 index 00000000..55a6bf6a --- /dev/null +++ b/src/app/redirection/redirection.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RedirectionComponent } from './redirection.component'; + +describe('RedirectionComponent', () => { + let component: RedirectionComponent; + let fixture: ComponentFixture<RedirectionComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ RedirectionComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(RedirectionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should be created', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/redirection/redirection.component.ts b/src/app/redirection/redirection.component.ts new file mode 100644 index 00000000..bf9bb416 --- /dev/null +++ b/src/app/redirection/redirection.component.ts @@ -0,0 +1,69 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { takeUntil, map } from 'rxjs/operators'; +import { Observable, timer } from 'rxjs'; +import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal'; + +import { SimulationType } from '../simulator/simulator/entities/enums/simulation-type.enum'; +import { SimulatorService } from '../simulator/simulator/services/simulator.service'; +import { AuthService } from '../shared/services/auth/auth.service'; +import { BaseUnsubscribe } from '../shared/entities/base/base-unsubscribe'; +import { WarningModalComponent } from 'app/shared/components/modal/warning/warningModal.component'; + +@Component({ + selector: 'app-redirection', + templateUrl: './redirection.component.html', + styleUrls: ['./redirection.component.scss'] +}) +export class RedirectionComponent extends BaseUnsubscribe implements OnInit { + + financingSimulationIsEnable: boolean = false; + + readonly caq: SimulationType = SimulationType.caq; + readonly planning: SimulationType = SimulationType.planning; + readonly financing: SimulationType = SimulationType.financing; + + bsModalRef: BsModalRef; + + counter = 10; + + constructor(private simulatorService: SimulatorService, private authService: AuthService, private bsModalService: BsModalService, private router: Router) { + super(); + } + + ngOnInit(): void { + + setInterval( () => this.numDecrement(this.counter), 1000); + + this.verifyFinancingSimulationIsEnable(); + + this.authService.userLoggedObserver.pipe( + takeUntil(this.unsubscribe)) + .subscribe(userIsLoggedIn => { + if (userIsLoggedIn) { + this.verifyFinancingSimulationIsEnable(); + } else { + this.financingSimulationIsEnable = false; + } + }); + + } + + numDecrement(numRecieved : number) { + while(numRecieved > 0) { + this.counter = numRecieved - 1; + return numRecieved; + } + } + + startSimulation(simulationType: SimulationType): void { + this.simulatorService.startSimulation(simulationType); + } + + private verifyFinancingSimulationIsEnable(): void { + this.authService.userIsAdmin().pipe( + takeUntil(this.unsubscribe)) + .subscribe(userIsAdmin => this.financingSimulationIsEnable = userIsAdmin); + } + +} diff --git a/src/app/shared/components/modal/warning/warningModal.component.scss b/src/app/shared/components/modal/warning/warningModal.component.scss index e69de29b..b1b2b310 100644 --- a/src/app/shared/components/modal/warning/warningModal.component.scss +++ b/src/app/shared/components/modal/warning/warningModal.component.scss @@ -0,0 +1,4 @@ +.modal-content { + width: 100vh; + height: 50vh; +} \ No newline at end of file -- GitLab