add logIn component
This commit is contained in:
parent
a9c82046f4
commit
ddfca9c137
10
db.json
10
db.json
@ -29,6 +29,16 @@
|
|||||||
"province": "pe",
|
"province": "pe",
|
||||||
"phone": "23453453454",
|
"phone": "23453453454",
|
||||||
"age": 18
|
"age": 18
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "1fl2",
|
||||||
|
"name": "Giulio",
|
||||||
|
"lastname": "Diomede",
|
||||||
|
"email": "flavio.bonta@gmail.com",
|
||||||
|
"fiscalcode": "tdyfuvyghuj",
|
||||||
|
"province": "pe",
|
||||||
|
"phone": "23453453454",
|
||||||
|
"age": 18
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -6,8 +6,8 @@ import { UserComponent } from './user/user.component';
|
|||||||
import { UserDetailComponent } from './user-detail/user-detail.component';
|
import { UserDetailComponent } from './user-detail/user-detail.component';
|
||||||
import { FormsModule } from '@angular/forms';
|
import { FormsModule } from '@angular/forms';
|
||||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
||||||
import { UserService } from './services/user.service';
|
|
||||||
import { UserDataComponent } from './user-data/user-data.component';
|
import { UserDataComponent } from './user-data/user-data.component';
|
||||||
|
import { LoginComponent } from './login/login.component';
|
||||||
|
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
@ -26,6 +26,11 @@ const routes: Routes = [
|
|||||||
path: 'users/new',
|
path: 'users/new',
|
||||||
component: UserDetailComponent,
|
component: UserDetailComponent,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'users/login',
|
||||||
|
pathMatch:'full',
|
||||||
|
component: LoginComponent ,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'users/:id/edit',
|
path: 'users/:id/edit',
|
||||||
component: UserDetailComponent,
|
component: UserDetailComponent,
|
||||||
@ -35,6 +40,7 @@ const routes: Routes = [
|
|||||||
component: UserDataComponent,
|
component: UserDataComponent,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
@ -42,6 +48,9 @@ const routes: Routes = [
|
|||||||
UsersComponent,
|
UsersComponent,
|
||||||
UserComponent,
|
UserComponent,
|
||||||
UserDetailComponent,
|
UserDetailComponent,
|
||||||
|
LoginComponent,
|
||||||
|
UserDataComponent,
|
||||||
|
|
||||||
],
|
],
|
||||||
imports: [RouterModule.forRoot(routes),
|
imports: [RouterModule.forRoot(routes),
|
||||||
FormsModule,
|
FormsModule,
|
||||||
|
@ -3,7 +3,6 @@ import { BrowserModule, provideClientHydration } from '@angular/platform-browser
|
|||||||
import { AppRoutingModule } from './app-routing.module';
|
import { AppRoutingModule } from './app-routing.module';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { NavComponent } from './nav/nav.component';
|
import { NavComponent } from './nav/nav.component';
|
||||||
import { UserDataComponent } from './user-data/user-data.component';
|
|
||||||
import { HttpClientModule } from '@angular/common/http';
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
|
|
||||||
|
|
||||||
@ -11,7 +10,7 @@ import { HttpClientModule } from '@angular/common/http';
|
|||||||
declarations: [
|
declarations: [
|
||||||
AppComponent,
|
AppComponent,
|
||||||
NavComponent,
|
NavComponent,
|
||||||
UserDataComponent,
|
|
||||||
|
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
|
12
src/app/classes/templog.ts
Normal file
12
src/app/classes/templog.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { TempLogInterface } from "../interfaces/templog";
|
||||||
|
|
||||||
|
export class TempLog implements TempLogInterface{
|
||||||
|
name: string;
|
||||||
|
lastname: string;
|
||||||
|
|
||||||
|
constructor(){
|
||||||
|
this.name = '';
|
||||||
|
this.lastname = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
6
src/app/interfaces/templog.ts
Normal file
6
src/app/interfaces/templog.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export interface TempLogInterface {
|
||||||
|
|
||||||
|
name: string;
|
||||||
|
lastname: string;
|
||||||
|
|
||||||
|
}
|
0
src/app/login/login.component.css
Normal file
0
src/app/login/login.component.css
Normal file
17
src/app/login/login.component.html
Normal file
17
src/app/login/login.component.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<form class="userForm" #f="ngForm">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="firstname">First name</label>
|
||||||
|
<input class="form-control" [(ngModel)]="templog.name" name="firstname" id="firstname">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="lastname">Last name</label>
|
||||||
|
<input class="form-control" [(ngModel)]="templog.lastname" name="lastname" id="lastname">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="form-group form-footer">
|
||||||
|
<button class="btn btn-outline-secondary" (click)="makeLogIn()" >LOG IN</button>
|
||||||
|
<button class="btn btn-success" (click)="emptyIn()">CANCEL</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
23
src/app/login/login.component.spec.ts
Normal file
23
src/app/login/login.component.spec.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { LoginComponent } from './login.component';
|
||||||
|
|
||||||
|
describe('LoginComponent', () => {
|
||||||
|
let component: LoginComponent;
|
||||||
|
let fixture: ComponentFixture<LoginComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
declarations: [LoginComponent]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(LoginComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
42
src/app/login/login.component.ts
Normal file
42
src/app/login/login.component.ts
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
|
import { User } from '../classes/user';
|
||||||
|
import { TempLog } from '../classes/templog';
|
||||||
|
import { UserService } from '../services/user.service';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-login',
|
||||||
|
templateUrl: './login.component.html',
|
||||||
|
styleUrl: './login.component.css'
|
||||||
|
|
||||||
|
})
|
||||||
|
export class LoginComponent implements OnInit {
|
||||||
|
@Input() templog = new TempLog ;
|
||||||
|
users: User[] = [];
|
||||||
|
|
||||||
|
|
||||||
|
constructor(private userService: UserService, private router: Router){
|
||||||
|
|
||||||
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.userService.getUsers()
|
||||||
|
.subscribe(user => this.users = user);
|
||||||
|
|
||||||
|
}
|
||||||
|
makeLogIn(){
|
||||||
|
for (const user of this.users) {
|
||||||
|
|
||||||
|
if((user.name == this.templog.name) && (user.lastname == this.templog.lastname)){
|
||||||
|
this.router.navigateByUrl('/users/' + user.id )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
emptyIn(){
|
||||||
|
this.templog.name='';
|
||||||
|
this.templog.lastname='';
|
||||||
|
return this.templog
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -9,6 +9,9 @@
|
|||||||
<li class="nav-item active">
|
<li class="nav-item active">
|
||||||
<a class="nav-link" href="#" routerLink="/">Home <span class="sr-only">(current)</span></a>
|
<a class="nav-link" href="#" routerLink="/">Home <span class="sr-only">(current)</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a href="#" class="nav-link" routerLink="users/login">LogIn</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="nav-item active">
|
<li class="nav-item active">
|
||||||
<a href="#" class="nav-link" routerLink="users/new" >New User</a>
|
<a href="#" class="nav-link" routerLink="users/new" >New User</a>
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import { FormsModule } from '@angular/forms';
|
|
||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
import { User } from '../classes/user';
|
import { User } from '../classes/user';
|
||||||
import { UserService } from '../services/user.service';
|
import { UserService } from '../services/user.service';
|
||||||
import { createSecureServer } from 'node:http2';
|
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user