From adc312943862f70f7931238b8dc300f35501384e Mon Sep 17 00:00:00 2001 From: soniaklimas <57659625+soniaklimas@users.noreply.github.com> Date: Tue, 31 Dec 2024 14:38:34 +0100 Subject: [PATCH] fix: Fix sorting on mobile (#145) --- .../src/app/[locale]/(main)/search/actions.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/apps/storefront/src/app/[locale]/(main)/search/actions.ts b/apps/storefront/src/app/[locale]/(main)/search/actions.ts index c8c07add..c549b2cd 100644 --- a/apps/storefront/src/app/[locale]/(main)/search/actions.ts +++ b/apps/storefront/src/app/[locale]/(main)/search/actions.ts @@ -27,24 +27,16 @@ export const handleFiltersFormSubmit = async ( }); passThroughParams.forEach((param) => { - const paramsValue = searchParams[param]; const formValue = formData.get(param) as string; + const value = formValue ?? searchParams[param]; // Sorting can be changed either independently (on desktop) // or together with filters (on mobile) // that is why it needs some custom logic - if (param === "sortBy") { - const value = formValue ?? paramsValue; - - if (value !== DEFAULT_SORT_BY) { - params.set(param, value); - } else { - params.delete(param); - } - } - - if (searchParams[param]) { - params.set(param, searchParams[param]); + if (param === "sortBy" && value === DEFAULT_SORT_BY) { + params.delete(param); + } else if (value) { + params.set(param, value); } });