JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "use-channel-query-params.ts"

Full Path: /home/markqprx/iniasli.pro/client/channels/use-channel-query-params.ts
File size: 938 bytes
MIME-type: text/plain
Charset: utf-8

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>
) {
  const params = useParams();
  const [searchParams] = useSearchParams();
  const {encodedFilters} = useBackendFilterUrlParams();

  const queryParams = {
    ...userParams,
    restriction: params.restriction || '',
    order: searchParams.get('order'),
    [BackendFiltersUrlKey]: encodedFilters,
    paginate: 'simple',
  };

  // always set default channel order to keep query key stable
  if (!queryParams.order && channel) {
    queryParams.order = channel.config.contentOrder || 'popularity:desc';
  }

  return queryParams;
}