import { useTranslation } from "react-i18next";

const contactIdNamespace = "contact_id";

/**
 * Хук для работы с кодами Contact ID.
 * Предоставляет функционал для получения локализованных сообщений
 * на основе кодов Contact ID из пространства имен 'contact_id'.
 * @returns {Object} Объект с функцией getMessage для получения локализованного сообщения по коду
 */
export const useContactId = () => {
	const { t } = useTranslation(contactIdNamespace);

	/**
	 * Функция для получения локализованного сообщения по коду
	 * @param {number} code Код сообщения
	 * @returns {string} Локализованное сообщение
	 */
	const getMessage = (code: number): string => {
		type ContactIdKey = (typeof t.arguments)[0];
		return t(code.toFixed(0) as ContactIdKey);
	};

	/**
	 * Функция для получения группы сообщения по коду
	 * @param {number} code Код сообщения
	 * @returns {string} Локализованное сообщение
	 */
	const getGroup = (code: number): string => {
		type ContactIdKey = (typeof t.arguments)[0];
		return t(`group-${code}` as ContactIdKey);
	};

	return {
		getMessage,
		getGroup,
	};
};
