import { createConnector } from "react-instantsearch-dom";

/* 
* Algolia function createConnector() provides a UI and a connector to hook up our own UI 
*/
const connectFilterBar = createConnector({
  displayName: "ConnectedFilterBar",
  getProvidedProps: (props, searchState, searchResults) => ({
    facets:
      !searchResults.searching &&
      searchResults?.results?.nbHits &&
      searchState.refinementList && // use default facets when there's no refinement list to avoid facets re-rendering
      searchResults?.results?.disjunctiveFacets?.length
        ? searchResults?.results?.disjunctiveFacets
        : undefined,
    selectedFacets: searchState?.refinementList,
    itemCount: searchResults?.results?.nbHits,
    currentSort: searchState?.sortBy,
    indexName: props?.contextValue?.mainTargetedIndex,
  }),
});

export default connectFilterBar;