This commit is contained in:
2025-08-07 16:57:51 -05:00
parent 4efa6c9d77
commit 4dcff1d883
12 changed files with 158 additions and 161 deletions

View File

@@ -2,7 +2,7 @@ import { Router } from '@angular/router';
import { ConsoleFormattedStream, INFO, createLogger as _createLogger, stdSerializers } from 'browser-bunyan';
import { jwtDecode } from 'jwt-decode';
import onChange from 'on-change';
import { User } from '../../../../bizmatch-server/src/models/db.model';
import { SortByOptions, User } from '../../../../bizmatch-server/src/models/db.model';
import { BusinessListingCriteria, CommercialPropertyListingCriteria, JwtToken, KeycloakUser, MailInfo, UserListingCriteria } from '../../../../bizmatch-server/src/models/main.model';
import { environment } from '../../environments/environment';
@@ -15,7 +15,6 @@ export function createEmptyBusinessListingCriteria(): BusinessListingCriteria {
city: null,
types: [],
prompt: '',
sortBy: null,
criteriaType: 'businessListings',
minPrice: null,
maxPrice: null,
@@ -46,7 +45,6 @@ export function createEmptyCommercialPropertyListingCriteria(): CommercialProper
city: null,
types: [],
prompt: '',
sortBy: null,
criteriaType: 'commercialPropertyListings',
minPrice: null,
maxPrice: null,
@@ -64,7 +62,6 @@ export function createEmptyUserListingCriteria(): UserListingCriteria {
city: null,
types: [],
prompt: '',
sortBy: null,
criteriaType: 'brokerListings',
brokerName: '',
companyName: '',
@@ -82,7 +79,6 @@ export function resetBusinessListingCriteria(criteria: BusinessListingCriteria)
criteria.city = null;
criteria.types = [];
criteria.prompt = '';
criteria.sortBy = null;
criteria.criteriaType = 'businessListings';
criteria.minPrice = null;
criteria.maxPrice = null;
@@ -110,7 +106,6 @@ export function resetCommercialPropertyListingCriteria(criteria: CommercialPrope
criteria.city = null;
criteria.types = [];
criteria.prompt = '';
criteria.sortBy = null;
criteria.criteriaType = 'commercialPropertyListings';
criteria.minPrice = null;
criteria.maxPrice = null;
@@ -126,7 +121,6 @@ export function resetUserListingCriteria(criteria: UserListingCriteria) {
criteria.city = null;
criteria.types = [];
criteria.prompt = '';
criteria.sortBy = null;
criteria.criteriaType = 'brokerListings';
criteria.brokerName = '';
criteria.companyName = '';
@@ -300,6 +294,11 @@ export function checkAndUpdate(changed: boolean, condition: boolean, assignment:
}
return changed || condition;
}
export function removeSortByStorage() {
sessionStorage.removeItem('businessSortBy');
sessionStorage.removeItem('commercialSortBy');
sessionStorage.removeItem('professionalsSortBy');
}
// -----------------------------
// Criteria Proxy
// -----------------------------
@@ -341,6 +340,19 @@ export function createEnhancedProxy(obj: BusinessListingCriteria | CommercialPro
}
});
}
// export function isAdmin(email: string) {
// return 'andreas.knuth@gmail.com' === email;
// }
export function getCriteriaByListingCategory(listingsCategory: 'business' | 'professionals_brokers' | 'commercialProperty') {
const storedState =
listingsCategory === 'business'
? sessionStorage.getItem('businessListings')
: listingsCategory === 'commercialProperty'
? sessionStorage.getItem('commercialPropertyListings')
: sessionStorage.getItem('brokerListings');
return JSON.parse(storedState);
}
export function getSortByListingCategory(listingsCategory: 'business' | 'professionals_brokers' | 'commercialProperty') {
const storedSortBy =
listingsCategory === 'business' ? sessionStorage.getItem('businessSortBy') : listingsCategory === 'commercialProperty' ? sessionStorage.getItem('commercialSortBy') : sessionStorage.getItem('professionalsSortBy');
const sortBy = storedSortBy && storedSortBy !== 'null' ? (storedSortBy as SortByOptions) : null;
return sortBy;
}