// Copyright 2025 BMW Group
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.

function getSearchKeyFromUrl(location, sortKeys) {
  const searchParams = new URLSearchParams(location.search)
  const searchKey = searchParams.get('sort')
  if (!searchKey) {
    return null
  }
  return sortKeys.find(k => k.key === searchKey)
}

function writeSearchKeyToUrl(sortKey, location, history) {
  const searchParams = new URLSearchParams(location.search)
  searchParams.set('sort', sortKey.key)
  history.push({
    pathname: location.pathname,
    search: searchParams.toString(),
  })
}

export { getSearchKeyFromUrl, writeSearchKeyToUrl }

