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