// Localised "About" / landing copy, shared by the About screen and the public landing
// page. Kept out of the flat i18n catalog because it is structured (a heading,
// a rules link, two bulleted sections) and only used in these two long-form places.

import type { Locale } from './i18n/index.svelte';

export interface AboutContent {
  /** Prominent heading: "Scrabble" / "Эрудит (Скрэббл)". */
  title: string;
  rulesUrl: string;
  /** Text before the rules link. */
  rulesPrefix: string;
  /** The rules link label. */
  rulesLink: string;
  randomTitle: string;
  /** The "respect the opponent's time" note (rendered with a ❗️ prefix). */
  randomRespect: string;
  random: string[];
  friendsTitle: string;
  friends: string[];
}

/**
 * aboutContent returns the localised About/landing copy. hours is the auto-match move clock
 * (backend game.DefaultTurnTimeout), inlined into the random-game time-limit bullet.
 */
export function aboutContent(locale: Locale, hours: number): AboutContent {
  if (locale === 'ru') {
    return {
      title: 'Эрудит (Скрэббл)',
      rulesUrl: 'https://ru.wikipedia.org/wiki/Скрэббл',
      rulesPrefix: 'Основные ',
      rulesLink: 'правила игры',
      randomTitle: 'Случайная игра',
      randomRespect: 'Уважайте личное время соперника, будьте терпеливы.',
      random: [
        'В игре двое соперников.',
        'Каждому доступна 1 подсказка в новой партии.',
        `Лимит времени на ход: ${hours} ч. 00 минут.`,
        'Время отсутствия задаётся в профиле и продлевает лимит.',
      ],
      friendsTitle: 'Игра с друзьями',
      friends: ['До 4-х участников.', 'Количество подсказок регулируется.', 'Произвольный лимит времени.'],
    };
  }
  return {
    title: 'Scrabble',
    rulesUrl: 'https://en.wikipedia.org/wiki/Scrabble',
    rulesPrefix: 'Basic ',
    rulesLink: 'game rules',
    randomTitle: 'Random game',
    randomRespect: "Respect your opponent's time, be patient.",
    random: [
      'Two opponents per game.',
      'Each player gets 1 hint per new game.',
      `Move time limit: ${hours} h 00 min.`,
      'An away window set in your profile extends the limit.',
    ],
    friendsTitle: 'Game with friends',
    friends: ['Up to 4 players.', 'The number of hints is configurable.', 'A custom time limit.'],
  };
}
