feat: enhance dual-range-slider handling in DynamicFilter component
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 12m44s

This commit is contained in:
2025-07-04 23:11:01 +05:00
parent f6e60c0188
commit f4c34d3b7b

View File

@ -315,6 +315,23 @@ export default function DynamicFilter<
}> = [];
for (const input of inputs) {
if (input.type === "dual-range-slider") {
const minValue = searchParams.get(`${input.name}_min`);
const maxValue = searchParams.get(`${input.name}_max`);
if (minValue && maxValue) {
const parsedMin = Number(minValue);
const parsedMax = Number(maxValue);
// Only show as applied filter if values are different from defaults
if (parsedMin !== input.min || parsedMax !== input.max) {
filters.push({
key: input.name,
value: [parsedMin, parsedMax],
label: input.label,
config: input,
});
}
}
} else {
const urlValue = searchParams.get(input.name);
if (urlValue) {
if (input.type === "checkbox-group") {
@ -328,19 +345,6 @@ export default function DynamicFilter<
config: input,
});
}
} else if (input.type === "dual-range-slider") {
const minValue = searchParams.get(`${input.name}_min`);
const maxValue = searchParams.get(`${input.name}_max`);
if (minValue && maxValue) {
const parsedMin = Number(minValue);
const parsedMax = Number(maxValue);
filters.push({
key: input.name,
value: [parsedMin, parsedMax],
label: input.label,
config: input,
});
}
} else {
filters.push({
key: input.name,
@ -351,6 +355,7 @@ export default function DynamicFilter<
}
}
}
}
return filters;
}, [searchParams, inputs]);