UNPKG

dawn-interfaces

Version:

Dawn application interfaces

165 lines (147 loc) 4.2 kB
export const lookupGenerator = (arr:string[]) =>{ return arr.reduce((obj,str)=>{ obj[str] = str; return obj; },{} as any); } export const filtersPreferenceBuyingUrgencyExchange = { "Distant Plans":0, "Within the Next Year":1, "Within the Next Few Months":2, "Urgent":3 } export const filtersPreferenceBuyingUrgencyValues = Object.keys(filtersPreferenceBuyingUrgencyExchange); export const filtersPreferenceBuyingUrgencyLookup = lookupGenerator(filtersPreferenceBuyingUrgencyValues); export const filtersPriceRangeExchange = { "No Min":0, "$10k":10000, "$20k":20000, "$30k":30000, "$50k":50000, "$100k":100000, "$130k":130000, "$150k":150000, "$200k":200000, "$250k":250000, "$300k":300000, "$350k":350000, "$400k":400000, "$450k":450000, "$500k":500000, "$550k":550000, "$600k":600000, "$650k":650000, "$700k":700000, "$750k":750000, "$800k":800000, "$850k":850000, "$900k":900000, "$950k":950000, "$1m":1000000, "$1.1m":1100000, "$1.2m":1200000, "$1.25m":1250000, "$1.3m":1300000, "$1.4m":1400000, "$1.5m":1500000, "$1.6m":1600000, "$1.7m":1700000, "$1.75m":1750000, "$1.8m":1800000, "$1.9m":1900000, "$2m":2000000, "$2.25m":2250000, "$2.5m":2500000, "$2.75m":2750000, "$3m":3000000, "$3.5m":3500000, "$4m":4000000, "$5m":5000000, "$10m":10000000, "$20m":20000000, "No Max": 99999999999 }; export const filtersPriceRangeValues = Object.keys(filtersPriceRangeExchange); export const filtersPriceRangeLookup = lookupGenerator(filtersPriceRangeValues); export const filtersBedRangeExchange = { "No Min":0, "1+":1, "2+":2, "3+":3, "4+":4, "5+":999 } export const filtersBedRangeValues = Object.keys(filtersBedRangeExchange); export const filtersBedRangeLookup = lookupGenerator(filtersBedRangeValues); export const filtersBathRangeExchange = { "No Min":0, "1+":1, "2+":2, "3+":3, "4+":4, "5+":999 } export const filtersBathRangeValues = Object.keys(filtersBathRangeExchange); export const filtersBathRangeLookup = lookupGenerator(filtersBathRangeValues); export const filtersPropertyTypeExchange = { "All":null, "Residential": "residential", "Condominium": "condominium", "Multifamily": "multifamily", "Commercial": "commercial", "Land": "land", "Farm": "farm", "Mobilehome": "mobilehome", "Rental":"rental" } export const filtersPropertyTypeValues = Object.keys(filtersPropertyTypeExchange); export const filtersPropertyTypeLookup = lookupGenerator(filtersPropertyTypeValues); export const filtersHomeStatusExchange = { "All":null, "Active": "Active", "Pending": "Pending", "Closed": "Closed", "Active Under Contract": "ActiveUnderContract", "Hold": "Hold", "Coming Soon": "ComingSoon" } export const filtersHomeStatusValues = Object.keys(filtersHomeStatusExchange); export const filtersHomeStatusLookup = lookupGenerator(filtersHomeStatusValues); export interface IMlsFilters{ priceRangeStart:string; priceRangeEnd:string; bedroomRangeStart:string; bathroomRangeStart:string; propertyType:string; houseSqftStart:number | null; houseSqftEnd:number | null; yearBuiltStart:number | null; yearBuiltEnd:number | null; homeStatus:string; houseSort: string; } export interface IMlsFiltersSaved extends IMlsFilters{ id:string; createdAt:string; filterName:string; createdBy:string; } export interface IMlsMapRegion{ latitude: number; longitude: number; latitudeDelta: number; longitudeDelta: number; } export const sortingHousingExchange = { "None":null, "Price High-Low":"-listprice", "Price Low-High":"listprice", "List Date Newest-Oldest":"listdate", "List Date Oldest-Newest":"-listdate", "Beds High-Low":"-beds", "Beds Low-High":"beds", "Baths High-Low":"-baths", "Baths Low-High":"baths" } export const sortingHousingValues = Object.keys(sortingHousingExchange); export const sortingHousingLookup = lookupGenerator(sortingHousingValues);