Files
mtdb_movie/common/resources/client/channels/use-channel-query-params.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

28 lines
962 B
TypeScript
Executable File

import {Channel} from '@common/channels/channel';
import {useParams, useSearchParams} from 'react-router-dom';
import {useBackendFilterUrlParams} from '@common/datatable/filters/backend-filter-url-params';
import {BackendFiltersUrlKey} from '@common/datatable/filters/backend-filters-url-key';
export function useChannelQueryParams(
channel?: Channel,
userParams?: Record<string, string | null> | null,
): Record<string, string | number | null> {
const params = useParams();
const [searchParams] = useSearchParams();
const {encodedFilters} = useBackendFilterUrlParams();
const queryParams = {
...userParams,
restriction: params.restriction || '',
order: searchParams.get('order'),
[BackendFiltersUrlKey]: encodedFilters,
};
// always set default channel order to keep query key stable
if (!queryParams.order && channel) {
queryParams.order = channel.config.contentOrder || 'popularity:desc';
}
return queryParams;
}