This commit is contained in:
MartinBraquet
2025-10-24 18:52:00 +02:00
parent b1caa6dfdc
commit c3124ec7c3
3 changed files with 19 additions and 27 deletions

View File

@@ -64,6 +64,8 @@ export function AgeFilterText(props: {
)
}
const FILTER_MAX = 60;
export function AgeFilter(props: {
filters: Partial<FilterFields>
updateFilter: (newState: Partial<FilterFields>) => void
@@ -72,30 +74,30 @@ export function AgeFilter(props: {
return (
<RangeSlider
lowValue={filters.pref_age_min ?? PREF_AGE_MIN}
highValue={filters.pref_age_max ?? PREF_AGE_MAX}
highValue={filters.pref_age_max ?? FILTER_MAX}
setValues={(low: number, high: number) => {
updateFilter({
pref_age_min: Number(low),
pref_age_max: Number(high),
pref_age_min: low > PREF_AGE_MIN ? Number(low) : undefined,
pref_age_max: high < FILTER_MAX ? Number(high) : undefined,
})
}}
min={PREF_AGE_MIN}
max={PREF_AGE_MAX}
max={FILTER_MAX}
marks={[
{ value: 0, label: `${PREF_AGE_MIN}` },
{
value: ((30 - PREF_AGE_MIN) / (PREF_AGE_MAX - PREF_AGE_MIN)) * 100,
value: ((30 - PREF_AGE_MIN) / (FILTER_MAX - PREF_AGE_MIN)) * 100,
label: `30`,
},
{
value: ((50 - PREF_AGE_MIN) / (PREF_AGE_MAX - PREF_AGE_MIN)) * 100,
label: `50`,
value: ((40 - PREF_AGE_MIN) / (FILTER_MAX - PREF_AGE_MIN)) * 100,
label: `40`,
},
{
value: ((70 - PREF_AGE_MIN) / (PREF_AGE_MAX - PREF_AGE_MIN)) * 100,
label: `70`,
value: ((50 - PREF_AGE_MIN) / (FILTER_MAX - PREF_AGE_MIN)) * 100,
label: `50`,
},
{ value: 100, label: `${PREF_AGE_MAX}+` },
{ value: 100, label: `${FILTER_MAX}+` },
]}
/>
)

View File

@@ -3,7 +3,7 @@ import {RangeSlider} from 'web/components/widgets/slider'
import {FilterFields} from 'common/filters'
export const DRINKS_MIN = 0
export const DRINKS_MAX = 30
export const DRINKS_MAX = 20
export function getNoMinMaxDrinks(
drinks_min: number | null | undefined,
@@ -92,14 +92,14 @@ export function DrinksFilter(props: {
highValue={filters.drinks_max ?? DRINKS_MAX}
setValues={(low: number, high: number) => {
updateFilter({
drinks_min: Number(low),
drinks_max: Number(high),
drinks_min: low > DRINKS_MIN ? Number(low) : undefined,
drinks_max: high < DRINKS_MAX ? Number(high) : undefined,
})
}}
min={DRINKS_MIN}
max={DRINKS_MAX}
marks={[
{ value: 0, label: `${DRINKS_MIN}` },
{value: 0, label: `${DRINKS_MIN}`},
{
value: ((5 - DRINKS_MIN) / (DRINKS_MAX - DRINKS_MIN)) * 100,
label: `5`,
@@ -109,10 +109,10 @@ export function DrinksFilter(props: {
label: `10`,
},
{
value: ((20 - DRINKS_MIN) / (DRINKS_MAX - DRINKS_MIN)) * 100,
label: `20`,
value: ((15 - DRINKS_MIN) / (DRINKS_MAX - DRINKS_MIN)) * 100,
label: `15`,
},
{ value: 100, label: `${DRINKS_MAX}+` },
{value: 100, label: `${DRINKS_MAX}+`},
]}
/>
)

View File

@@ -6,8 +6,6 @@ import {debounce, isEqual} from "lodash";
import {wantsKidsDatabase, wantsKidsDatabaseToWantsKidsFilter, wantsKidsToHasKidsFilter} from "common/wants-kids";
import {FilterFields, initialFilters, OriginLocation} from "common/filters";
import {MAX_INT, MIN_INT} from "common/constants";
import {DRINKS_MAX, DRINKS_MIN} from "web/components/filters/drinks-filter";
import {PREF_AGE_MAX, PREF_AGE_MIN} from "web/components/filters/age-filter";
export const useFilters = (you: Profile | undefined) => {
const isLooking = useIsLooking()
@@ -20,15 +18,7 @@ export const useFilters = (you: Profile | undefined) => {
const updateFilter = (newState: Partial<FilterFields>) => {
const updatedState = {...newState}
if ((updatedState?.pref_age_min ?? MAX_INT) <= PREF_AGE_MIN) updatedState.pref_age_min = undefined
if ((updatedState?.pref_age_max ?? MIN_INT) >= PREF_AGE_MAX) updatedState.pref_age_max = undefined
if ((updatedState?.drinks_min ?? DRINKS_MIN) <= DRINKS_MIN) updatedState.drinks_min = undefined
if ((updatedState?.drinks_max ?? DRINKS_MIN) >= DRINKS_MAX) updatedState.drinks_max = undefined
// console.log('updating filters', updatedState)
setFilters((prevState) => ({...prevState, ...updatedState}))
}