Hiyve Components - v1.0.0
    Preparing search index...

    Function useRoomFilters

    • Client-side search, sort, and filter for stored rooms.

      Parameters

      • rooms: StoredRoom[]

        Array of stored rooms to process

      • Optionaloptions: UseRoomFiltersOptions

        Optional configuration (e.g., storageKey for localStorage persistence)

      Returns {
          activeFiltersCount: number;
          clearFilters: () => void;
          filterBy: FilterOption;
          processedRooms: StoredRoom[];
          searchQuery: string;
          setFilterBy: (value: FilterOption) => void;
          setSearchQuery: Dispatch<SetStateAction<string>>;
          setSortBy: (value: SortOption) => void;
          sortBy: SortOption;
      }

      Search/sort/filter state, processed rooms, and control functions

      import { useRoomFilters } from '@hiyve/react-rooms';

      function RoomDashboard({ rooms }) {
      const {
      searchQuery, setSearchQuery,
      sortBy, setSortBy,
      filterBy, setFilterBy,
      processedRooms,
      clearFilters,
      activeFiltersCount,
      } = useRoomFilters(rooms, { storageKey: 'my-rooms' });

      return (
      <div>
      <input value={searchQuery} onChange={e => setSearchQuery(e.target.value)} />
      {processedRooms.map(room => <RoomCard key={room.id} room={room} />)}
      </div>
      );
      }