diff --git a/src/apps/stable/routes/search.tsx b/src/apps/stable/routes/search.tsx
index da55e9d8e8..34438c1334 100644
--- a/src/apps/stable/routes/search.tsx
+++ b/src/apps/stable/routes/search.tsx
@@ -9,25 +9,36 @@ import LiveTVSearchResults from 'components/search/LiveTVSearchResults';
import { usePrevious } from 'hooks/usePrevious';
import globalize from 'scripts/globalize';
+const COLLECTION_TYPE_PARAM = 'collectionType';
+const PARENT_ID_PARAM = 'parentId';
+const QUERY_PARAM = 'query';
+const SERVER_ID_PARAM = 'serverId';
+
const Search: FC = () => {
const navigate = useNavigate();
const [ searchParams, setSearchParams ] = useSearchParams();
- const urlQuery = searchParams.get('query') || '';
+ const urlQuery = searchParams.get(QUERY_PARAM) || '';
const [ query, setQuery ] = useState(urlQuery);
const prevQuery = usePrevious(query, '');
useEffect(() => {
if (query !== prevQuery) {
if (query === '' && urlQuery !== '') {
- // The query input has been cleared; navigate back to the search landing page
- navigate(-1);
+ // The query input has been cleared; remove the url param
+ searchParams.delete(QUERY_PARAM);
+ setSearchParams(searchParams, { replace: true });
} else if (query !== urlQuery) {
// Update the query url param value
- searchParams.set('query', query);
- setSearchParams(searchParams, { replace: !!urlQuery });
+ searchParams.set(QUERY_PARAM, query);
+ setSearchParams(searchParams, { replace: true });
}
} else if (query !== urlQuery) {
// Update the query if the query url param has changed
+ if (!urlQuery) {
+ searchParams.delete(QUERY_PARAM);
+ setSearchParams(searchParams, { replace: true });
+ }
+
setQuery(urlQuery);
}
}, [query, prevQuery, navigate, searchParams, setSearchParams, urlQuery]);
@@ -41,19 +52,19 @@ const Search: FC = () => {
{!query
&&
}