import { Component, inject } from "@angular/core"; import { FormBuilder, FormControl, ReactiveFormsModule, Validators } from "@angular/forms"; import { MatRippleModule } from "@angular/material/core"; import { MatIconModule } from "@angular/material/icon"; import { Router } from "@angular/router"; @Component({ selector: 'app-publications-search-bar', templateUrl: './publications-search-bar.component.html', styleUrl: './publications-search-bar.component.scss', imports: [ MatIconModule, MatRippleModule, ReactiveFormsModule ], providers: [] }) export class PublicationsSearchBarComponent { private formBuilder = inject(FormBuilder); private router = inject(Router); formGroup = this.formBuilder.group({ criteria: new FormControl('', [Validators.required]) }); searchPublications(): void { const query = this.formGroup.controls.criteria.value if (query?.trim()) { const queryParams = { 'query' : this.formGroup.controls.criteria.value ?? '' } this.router.navigate(['/publications'], { queryParams }); } else { this.router.navigate(['/home']); } } }