+ {config.label.replace(/%20/g, " ")}: {labels} +
+ ); + } + return ( ++ {config.label}: {value} +
+ ); + }; + + // Handles removing an individual filter + const handleRemoveFilter = (keyToRemove: TFilterKeys) => { + const newParams = new URLSearchParams(currentParams.toString()); + newParams.delete(keyToRemove); + newParams.set("page", "1"); // Reset page after removing a filter + + // Clear the specific input's local state + const inputConfig = inputs.find((input) => input.name === keyToRemove); + setInputValues((prev) => ({ + ...prev, + [keyToRemove]: inputConfig?.type === "checkbox-group" ? [] : "", + })); + + startTransition(() => { + replace(`${pathname}?${newParams.toString()}`); + }); + }; + + return ( +