diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index c838228..402608f 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -7,8 +7,7 @@ export const routes: Routes = [
{path: 'login', loadComponent: ()=> import("./pages/login/login").then(m =>m.Login)},
{path: 'register', loadComponent: ()=> import("./pages/register/register").then(m =>m.Register)},
{path: 'login', loadComponent: ()=> import("./pages/login/login").then(m =>m.Login)},
- {path: 'potd', loadComponent: ()=> import("./pages/potd/potd").then(m =>m.POTD)},
- {path: 'search', loadComponent: ()=> import("./pages/search/search").then(m =>m.Search)},
+ {path: 'potd', loadComponent: ()=> import("./pages/potd/potd").then(m =>m.POTD)},
{path: 'video/:id', loadComponent: ()=> import("./pages/video/video").then(m =>m.Video)},
{path: 'admin',canActivate: [adminGuard], loadChildren: () => import('./pages/admin/admin').then(m => m.Admin), data: { role: 'ADMIN' } },
//version si besoin de multiplier les routes admin
diff --git a/src/app/pages/home/home.html b/src/app/pages/home/home.html
index e69de29..2729e9d 100644
--- a/src/app/pages/home/home.html
+++ b/src/app/pages/home/home.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/app/pages/home/home.ts b/src/app/pages/home/home.ts
index 9a7d89d..0ed4f6b 100644
--- a/src/app/pages/home/home.ts
+++ b/src/app/pages/home/home.ts
@@ -1,9 +1,9 @@
import { Component } from '@angular/core';
-import { Search } from "../search/search";
+import { Searchresults } from "../search/searchresults/searchresults";
@Component({
selector: 'app-home',
- imports: [Search],
+ imports: [Searchresults],
templateUrl: './home.html',
styleUrl: './home.css'
})
diff --git a/src/app/pages/search/searchform/searchform.html b/src/app/pages/search/searchform/searchform.html
index 422e005..020c943 100644
--- a/src/app/pages/search/searchform/searchform.html
+++ b/src/app/pages/search/searchform/searchform.html
@@ -1,5 +1,5 @@
-
\ No newline at end of file
diff --git a/src/app/pages/search/searchform/searchform.ts b/src/app/pages/search/searchform/searchform.ts
index 126b7f2..3634e55 100644
--- a/src/app/pages/search/searchform/searchform.ts
+++ b/src/app/pages/search/searchform/searchform.ts
@@ -1,23 +1,24 @@
import { Component, inject, signal } from '@angular/core';
-import { Router } from '@angular/router';
-import { NasaApi } from '../../../interfaces/nasa-api';
import { NAPOD } from '../../../services/napod';
+import { Search } from '../../../services/search';
+import { FormsModule } from '@angular/forms';
@Component({
selector: 'app-searchform',
- imports: [],
+ imports: [FormsModule],
templateUrl: './searchform.html',
styleUrl: './searchform.css',
})
export class Searchform {
private readonly nasaApi = inject(NAPOD);
- private readonly router = inject(Router)
- searchResults = signal(null)
- searchString=signal('');
+ private readonly searchService = inject(Search);
+ searchString = this.searchService.searchString;
- onSubmit() {
- this.nasaApi.searchForVideos(this.searchString()).subscribe({
- next: (data)=>{this.searchResults.set(data);
+ onSubmit(event: Event) {
+ event.preventDefault(); // <-- EmpĂȘche le rechargement
+ console.log("onSubmit appelé !"); // <-- Devrait s'afficher
+ this.nasaApi.searchForVideos(this.searchService.searchString()).subscribe({
+ next: (data)=>{this.searchService.searchResults.set(data);
console.log(data.collection);
},
error: error =>{console.log(error);
@@ -25,14 +26,9 @@ export class Searchform {
})
}
- onClick(nasaId: string){
- this.router.navigate(['/video/'+nasaId])
- }
-
updateSearch(event: Event){
- console.log(this.searchString());
const target = event.target as HTMLInputElement;
- this.searchString.set(target.value)
+ this.searchService.searchString.set(target.value)
}
-
+
}
diff --git a/src/app/pages/search/searchresults/searchresults.html b/src/app/pages/search/searchresults/searchresults.html
index df5bcf5..a7992d8 100644
--- a/src/app/pages/search/searchresults/searchresults.html
+++ b/src/app/pages/search/searchresults/searchresults.html
@@ -28,5 +28,4 @@
- }
-
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/src/app/pages/search/searchresults/searchresults.ts b/src/app/pages/search/searchresults/searchresults.ts
index f50ae11..67807d5 100644
--- a/src/app/pages/search/searchresults/searchresults.ts
+++ b/src/app/pages/search/searchresults/searchresults.ts
@@ -1,4 +1,6 @@
-import { Component } from '@angular/core';
+import { Component, inject, signal } from '@angular/core';
+import { Router } from '@angular/router';
+import { Search } from '../../../services/search';
@Component({
selector: 'app-searchresults',
@@ -7,5 +9,14 @@ import { Component } from '@angular/core';
styleUrl: './searchresults.css',
})
export class Searchresults {
+ private readonly router = inject(Router)
+ private readonly searchService = inject(Search);
+ searchResults = this.searchService.searchResults;
+ searchString = this.searchService.searchString;
+
+ onClick(nasaId: string){
+ this.router.navigate(['/video/'+nasaId])
+ }
+
}
diff --git a/src/app/services/search.spec.ts b/src/app/services/search.spec.ts
new file mode 100644
index 0000000..d1a49cf
--- /dev/null
+++ b/src/app/services/search.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { Search } from './search';
+
+describe('Search', () => {
+ let service: Search;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(Search);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/src/app/services/search.ts b/src/app/services/search.ts
new file mode 100644
index 0000000..55637aa
--- /dev/null
+++ b/src/app/services/search.ts
@@ -0,0 +1,10 @@
+import { Injectable, signal } from '@angular/core';
+import { NasaApi } from '../interfaces/nasa-api';
+
+@Injectable({
+ providedIn: 'root',
+})
+export class Search {
+ searchResults = signal(null);
+ searchString = signal('');
+}