aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_pages/login-page
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/_pages/login-page')
-rw-r--r--frontend/src/app/_pages/login-page/login-page.component.css0
-rw-r--r--frontend/src/app/_pages/login-page/login-page.component.html43
-rw-r--r--frontend/src/app/_pages/login-page/login-page.component.spec.ts25
-rw-r--r--frontend/src/app/_pages/login-page/login-page.component.ts40
4 files changed, 108 insertions, 0 deletions
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
--- /dev/null
+++ b/frontend/src/app/_pages/login-page/login-page.component.css
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..906eaba6
--- /dev/null
+++ b/frontend/src/app/_pages/login-page/login-page.component.html
@@ -0,0 +1,43 @@
+<div style="min-height: 100vh; position: relative;">
+
+ <!-- TODO : <app-navbar [activeNav]="'login'"></app-navbar>-->
+
+ <div class="container p-5 rounded-3 shadow-sm border" style="max-width: 50em; margin-top: 50px;">
+ <h3 class="text-center pb-5">Prijavite se</h3>
+ <form>
+ <!-- Email input -->
+ <div class="form-outline mb-4">
+ <label class="form-label" for="email">Email adresa</label>
+ <input [(ngModel)]="email" name="email" type="email" id="email" class="form-control form-control-lg"
+ placeholder="Unesite email adresu..." />
+ </div>
+
+ <!-- Password input -->
+ <div class="form-outline mb-3">
+ <label class="form-label" for="password">Lozinka</label>
+ <input [(ngModel)]="password" name="password" type="password" id="password"
+ class="form-control form-control-lg" placeholder="Unesite lozinku..." />
+ </div>
+
+ <div class="text-center text-lg-start mt-4 pt-2">
+ <!-- Pogresna lozinka -->
+ <p *ngIf="wrongCreds" class="small fw-bold mt-2 pt-1 mb-0 text-danger">Lozinka ili e-mail su pogrešni
+ </p>
+ <!-- Nepotvrdjena registracija
+ <p *ngIf="notApproved" class="small fw-bold mt-2 pt-1 mb-0 text-danger">Vaša registracija još uvek nije potvrđena</p>-->
+ <br>
+
+ <button type="button" class="btn btn-primary btn-lg"
+ style="padding-left: 2.5rem; padding-right: 2.5rem;" (click)="onSubmit()">Prijava
+ </button>
+
+ <p class="small fw-bold mt-2 pt-1 mb-0">Još uvek nemate nalog?
+ <a routerLink="/register" class="link-danger">Registrujte se</a>
+ </p>
+ </div>
+ </form>
+ </div>
+
+ <!-- TODO: <app-footer></app-footer>-->
+
+</div> \ 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<LoginPageComponent>;
+
+ 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..fec5e16e
--- /dev/null
+++ b/frontend/src/app/_pages/login-page/login-page.component.ts
@@ -0,0 +1,40 @@
+import { Component, OnInit } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { response } from 'express';
+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 {
+ 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 authService: AuthService
+ ) { }
+
+ ngOnInit(): void {
+ }
+
+ onSubmit() {
+ if (!this.pattEmail.test(this.email)) {
+ console.warn('Bad email!');
+ return;
+ }
+ else {
+ this.authService.login(this.email, this.password).subscribe((response) => {
+ console.log(response)
+ })
+ }
+ }
+
+}