From cd2188997ff4cbcce83e3cada3fc220375ebc78e Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Sat, 5 Mar 2022 22:03:03 +0100 Subject: Login and Register page - v. 0.1.0 --- .../app/_pages/login-page/login-page.component.css | 0 .../_pages/login-page/login-page.component.html | 39 ++++++++++++++++++ .../_pages/login-page/login-page.component.spec.ts | 25 ++++++++++++ .../app/_pages/login-page/login-page.component.ts | 46 ++++++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100644 frontend/src/app/_pages/login-page/login-page.component.css create mode 100644 frontend/src/app/_pages/login-page/login-page.component.html create mode 100644 frontend/src/app/_pages/login-page/login-page.component.spec.ts create mode 100644 frontend/src/app/_pages/login-page/login-page.component.ts (limited to 'frontend/src/app/_pages/login-page') diff --git a/frontend/src/app/_pages/login-page/login-page.component.css b/frontend/src/app/_pages/login-page/login-page.component.css new file mode 100644 index 00000000..e69de29b diff --git a/frontend/src/app/_pages/login-page/login-page.component.html b/frontend/src/app/_pages/login-page/login-page.component.html new file mode 100644 index 00000000..b8620e2f --- /dev/null +++ b/frontend/src/app/_pages/login-page/login-page.component.html @@ -0,0 +1,39 @@ +
+ + + +
+

Prijavite se

+
+ +
+ + +
+ + +
+ + +
+ +
+ +

Lozinka ili e-mail su pogrešni

+ +
+ + + +

Još uvek nemate nalog? + Registrujte se

+
+
+
+ + + +
\ No newline at end of file diff --git a/frontend/src/app/_pages/login-page/login-page.component.spec.ts b/frontend/src/app/_pages/login-page/login-page.component.spec.ts new file mode 100644 index 00000000..9da3aca8 --- /dev/null +++ b/frontend/src/app/_pages/login-page/login-page.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LoginPageComponent } from './login-page.component'; + +describe('LoginPageComponent', () => { + let component: LoginPageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ LoginPageComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LoginPageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_pages/login-page/login-page.component.ts b/frontend/src/app/_pages/login-page/login-page.component.ts new file mode 100644 index 00000000..c041003d --- /dev/null +++ b/frontend/src/app/_pages/login-page/login-page.component.ts @@ -0,0 +1,46 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { AuthService } from 'src/app/_services/auth.service'; +//import { LoginService } from 'src/app/_services/login.service'; + +@Component({ + selector: 'app-login-page', + templateUrl: './login-page.component.html', + styleUrls: ['./login-page.component.css'] +}) +export class LoginPageComponent implements OnInit { + + public pageLoaded: boolean = false; //ako korisnik ne sme da ima pristup stranici (vec je ulogovan itd), ona ne sme ni da se ucita + email: string = ''; + password: string = ''; + + public wrongCreds: boolean = false; //RAZMOTRITI + //public notApproved: boolean = false; //RAZMOTRITI + + pattEmail: RegExp = /^[a-zA-Z0-9]+([\.\-\+][a-zA-Z0-9]+)*\@([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}$/; + + constructor( + private activatedRoute: ActivatedRoute, + private authService: AuthService + //private loginService: LoginService + ) { } + + ngOnInit(): void { + /*this.authService.checkAccess(this.activatedRoute, this, + (self: any) => self.pageLoaded = true; + );*/ + } + + onSubmit() { + //this.wrongCreds = false; + //this.notApproved = false; RAZMOTRITI + + if (this.pattEmail.test(this.email)) { + //this.loginService.login(this.email, this.password); + } + else { + //this.wrongCreds = true; + } + } + +} -- cgit v1.2.3 From 7ce6eb09b198e796301dbd7c3e4b23441e2d46ae Mon Sep 17 00:00:00 2001 From: Danijel Andjelkovic Date: Mon, 7 Mar 2022 19:25:58 +0100 Subject: Linked frontend to backend, but backend needs to enable CORS. --- frontend/src/app/_pages/login-page/login-page.component.ts | 10 +++++----- frontend/src/app/_services/auth.service.ts | 4 ++-- frontend/src/config.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'frontend/src/app/_pages/login-page') diff --git a/frontend/src/app/_pages/login-page/login-page.component.ts b/frontend/src/app/_pages/login-page/login-page.component.ts index fec5e16e..f8b429e3 100644 --- a/frontend/src/app/_pages/login-page/login-page.component.ts +++ b/frontend/src/app/_pages/login-page/login-page.component.ts @@ -1,8 +1,6 @@ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; -import { response } from 'express'; +import { CookieService } from 'ngx-cookie-service'; import { AuthService } from 'src/app/_services/auth.service'; -//import { LoginService } from 'src/app/_services/login.service'; @Component({ selector: 'app-login-page', @@ -19,7 +17,8 @@ export class LoginPageComponent implements OnInit { pattEmail: RegExp = /^[a-zA-Z0-9]+([\.\-\+][a-zA-Z0-9]+)*\@([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}$/; constructor( - private authService: AuthService + private authService: AuthService, + private cookie: CookieService ) { } ngOnInit(): void { @@ -32,7 +31,8 @@ export class LoginPageComponent implements OnInit { } else { this.authService.login(this.email, this.password).subscribe((response) => { - console.log(response) + console.log(response); + this.cookie.set('token', response); }) } } diff --git a/frontend/src/app/_services/auth.service.ts b/frontend/src/app/_services/auth.service.ts index d1012d37..7129b95b 100644 --- a/frontend/src/app/_services/auth.service.ts +++ b/frontend/src/app/_services/auth.service.ts @@ -14,11 +14,11 @@ export class AuthService { constructor(private http: HttpClient, private cookie: CookieService) { } login(username: string, password: string) { - return this.http.post(`${API_SETTINGS.apiURL}/login`, { username, password }); + return this.http.post(`${API_SETTINGS.apiURL}/auth/login`, { username, password }, { responseType: 'text' }); } register(user: any) { - return this.http.post(`${API_SETTINGS.apiURL}/register`, user); + return this.http.post(`${API_SETTINGS.apiURL}/auth/register`, user); } isAuthenticated(): boolean { diff --git a/frontend/src/config.ts b/frontend/src/config.ts index b14670ea..8c48672e 100644 --- a/frontend/src/config.ts +++ b/frontend/src/config.ts @@ -1,3 +1,3 @@ export const API_SETTINGS = { - apiURL: 'http://localhost:5000/api' + apiURL: 'http://localhost:5283/api' } \ No newline at end of file -- cgit v1.2.3