Ctrl K
ComunidadGuías…

dashboard/src/hooks/useSearch.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { useMemo } from 'react';

export const useSearch = <T extends { ID: string }>(items: T[], searchTerm: string): T[] => {
  return useMemo(() => {
    if (!searchTerm) return items;
    if (!items) return [];

    const lowerSearchTerm = searchTerm.toLowerCase();
    return items.filter(item => {
      return Object.values(item).some(value => {
        if (typeof value === 'string') {
          return value.toLowerCase().includes(lowerSearchTerm);
        }
        return false;
      });
    });
  }, [items, searchTerm]);
};