// Функция для правильного определения множественного числа элементов, нужна для окончаний слов
export const plural = (
  length: number,
  messageType: 'confirm' | 'success',
): {
  number: number | string;
  s: string;
  ending1: string;
  ending2: string;
} => {
  let s;

  const isOnceItem = length === 0 || length === 1;

  const messageTypeEnding = {
    confirm: {
      ending1: isOnceItem ? 'й' : 'е',
      ending2: isOnceItem ? ' ' : 'ы',
    },
    success: {
      ending1: isOnceItem ? ' ' : 'и',
      ending2: isOnceItem ? ' ' : 'ы',
    },
  };

  if ((length % 10 === 1 && length % 100 !== 11) || length === 0) {
    s = ' '; // выбран один элемент
  } else if (
    length % 10 >= 2 &&
    length % 10 <= 4 &&
    (length % 100 < 10 || length % 100 >= 20)
  ) {
    s = 'а'; // выбрано несколько элементов
  } else {
    s = 'ов'; // выбрано много элементов
  }

  return {
    number: length || 1,
    s,
    ending1: messageTypeEnding[messageType].ending1,
    ending2: messageTypeEnding[messageType].ending2,
  };
};
