/** * Возвращает три центральных номера страниц для пагинации в зависимости от активной: * начало списка `[3,4,5]`, конец `[length-4, length-3, length-2]` или соседи текущей. * @param activeNumber - текущая активная страница * @param length - общее число страниц */ export function getPaginationNumbers(activeNumber: number, length: number): number[] { if (activeNumber < 5) { return [3, 4, 5]; } else if (activeNumber > length - 3) { return [length - 4, length - 3, length - 2]; } return [activeNumber - 1, activeNumber, activeNumber + 1]; }