46 lines
1.8 KiB
TypeScript
46 lines
1.8 KiB
TypeScript
import { Component } from '@angular/core';
|
|
import { DropdownModule } from 'primeng/dropdown';
|
|
import { FormsModule } from '@angular/forms';
|
|
import { CommonModule } from '@angular/common';
|
|
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
import { ActivatedRoute, Router, RouterModule } from '@angular/router';
|
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
import { ButtonModule } from 'primeng/button';
|
|
import { CheckboxModule } from 'primeng/checkbox';
|
|
import { InputTextModule } from 'primeng/inputtext';
|
|
import { SelectOptionsService } from '../../services/select-options.service';
|
|
import { UserService } from '../../services/user.service';
|
|
import onChange from 'on-change';
|
|
import { getCriteriaStateObject, getSessionStorageHandler } from '../../utils/utils';
|
|
import { ListingCriteria, User } from '../../../../../common-models/src/main.model';
|
|
import { Observable } from 'rxjs';
|
|
@Component({
|
|
selector: 'app-home',
|
|
standalone: true,
|
|
imports: [CommonModule, StyleClassModule,ButtonModule, CheckboxModule,InputTextModule,DropdownModule,FormsModule, RouterModule],
|
|
templateUrl: './home.component.html',
|
|
styleUrl: './home.component.scss'
|
|
})
|
|
export class HomeComponent {
|
|
activeTabAction = 'business';
|
|
type:string;
|
|
maxPrice:string;
|
|
minPrice:string;
|
|
criteria:ListingCriteria
|
|
user$:Observable<User>
|
|
public constructor(private router: Router,private activatedRoute: ActivatedRoute, public selectOptions:SelectOptionsService, public userService:UserService) {
|
|
this.criteria = onChange(getCriteriaStateObject(),getSessionStorageHandler);
|
|
}
|
|
ngOnInit(){
|
|
this.user$=this.userService.getUserObservable();
|
|
}
|
|
|
|
search(){
|
|
this.router.navigate([`listings/${this.activeTabAction}`])
|
|
}
|
|
|
|
|
|
login(){
|
|
this.userService.login(window.location.href);
|
|
}
|
|
} |