Files
sori.studio/lib/display-count-settings.js
zenn 00999404a4 페이지 섹션·공개 목록 설정 누적 변경 일괄 반영
페이지 섹션 관리와 홈 Pages 진열장 연동, 공개 목록 표시개수 설정 관련 누적 로컬 변경을 기능 단위로 정리해 반영한다.
문서 이력과 패키지 버전을 v1.9.23으로 맞춰 코드와 문서 상태를 동기화한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 18:48:42 +09:00

49 lines
1.2 KiB
JavaScript

export const DISPLAY_COUNT_OPTIONS = [6, 10, 12, 20, 30, 50]
export const POST_LIST_COUNT_OPTIONS = [10, 20, 30, 50]
export const DEFAULT_HOME_LATEST_POST_LIMIT = 20
export const DEFAULT_POST_LIST_PAGE_SIZE = 20
export const DEFAULT_TAG_POST_LIST_PAGE_SIZE = 20
export const DEFAULT_FEATURED_POST_LIMIT = 6
export const DEFAULT_PAGE_SECTION_ITEM_LIMIT = 12
export const MIN_DISPLAY_COUNT = 1
export const MAX_DISPLAY_COUNT = 50
/**
* 공개 목록 표시 개수를 정규화한다.
* @param {unknown} value - 원본 값
* @param {number} fallback - 기본값
* @returns {number} 표시 개수
*/
export const normalizeDisplayCount = (value, fallback) => {
const parsed = Number(value)
if (!Number.isFinite(parsed)) {
return fallback
}
const rounded = Math.round(parsed)
if (rounded < MIN_DISPLAY_COUNT) {
return MIN_DISPLAY_COUNT
}
if (rounded > MAX_DISPLAY_COUNT) {
return MAX_DISPLAY_COUNT
}
return rounded
}
/**
* 페이지 번호를 정규화한다.
* @param {unknown} value - 원본 값
* @returns {number} 페이지 번호
*/
export const normalizeListPage = (value) => {
const parsed = Number(value)
if (!Number.isFinite(parsed) || parsed < 1) {
return 1
}
return Math.floor(parsed)
}