feat: соц-кнопки и кнопка «Наверх» внизу + русская плюрализация

- Под лентой контента появилась панель из трёх pill-кнопок:
  Telegram (t.me/anotherreflections), ВКонтакте (vk.com/anotherreflections)
  и «Наверх» (smooth scroll to top)
- Универсальный plural() в consts.ts — больше нет «8 мира»,
  hero показывает «8 миров / 50 публикаций / 20 лет онлайн»
  с автоматически правильной формой при любом значении
- Уточнено описание Ренессанса: «фантастическими допущениями мира Сумрака»
This commit is contained in:
2026-05-21 01:43:30 +03:00
parent 65a55ca6ef
commit 5f9ec37211
6 changed files with 81 additions and 7 deletions

View File

@@ -1,3 +1,18 @@
export const SOCIAL = {
telegram: { url: 'https://t.me/anotherreflections', label: 'Telegram' },
vk: { url: 'https://vk.com/anotherreflections', label: 'ВКонтакте' },
};
/** Русская плюрализация: [1, 2-4, 5+]. Пример: plural(8, ['мир', 'мира', 'миров']) → 'миров' */
export function plural(n: number, forms: [string, string, string]): string {
const a = Math.abs(n) % 100;
const b = a % 10;
if (a > 10 && a < 20) return forms[2];
if (b > 1 && b < 5) return forms[1];
if (b === 1) return forms[0];
return forms[2];
}
export const SITE_TITLE = 'Иные Отражения';
export const SITE_DESCRIPTION = 'Ролевой проект по современной фантастике. Дозоры С. Лукьяненко, Амбер Р. Желязны, А. Пехов.';
export const SITE_URL = 'https://anotherreflections.ru';
@@ -69,7 +84,7 @@ export const WORLDS: World[] = [
{
name: 'Ренессанс',
tag: 'Историческая фантастика',
desc: 'Эпоха возрождения с фантастическими допущениями.',
desc: 'Эпоха Возрождения с фантастическими допущениями мира Сумрака.',
url: 'https://renessans.anotherreflections.ru/',
color: 'var(--c-roleplay)',
},