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']); } } }