/**
 * 페이징 설정 상수
 *
 * @description
 * 목록 조회, 검색, 가상 스크롤링 등의 페이징 기본값
 */
export const PAGINATION_CONFIG = {
  /**
   * 목록별 기본 페이지당 항목 수
   */
  DEFAULTS: {
    /**
     * 개체 목록
     * 일반 개체 목록 조회 시 기본값
     */
    COW_LIST: 10,

    /**
     * 교배조합 목록
     */
    BREED_SAVE: 10,

    /**
     * 검색 결과
     * 키워드 검색 결과 표시 기본값
     */
    SEARCH_RESULT: 20,

    /**
     * 유전자 검색
     * 5000개 이상 유전자 검색 시 기본값
     */
    GENE_SEARCH: 50,

    /**
     * 가상 스크롤링
     * 무한 스크롤 방식 로딩 단위
     */
    VIRTUAL_SCROLL: 50,
  },

  /**
   * 제한값
   */
  LIMITS: {
    /**
     * 최소 페이지당 항목 수
     */
    MIN: 1,

    /**
     * 최대 페이지당 항목 수
     * 성능 및 메모리 고려
     */
    MAX: 100,

    /**
     * 기본 페이지 번호
     */
    DEFAULT_PAGE: 1,
  },
} as const;
