/**
 * Centralización de contenidos de ayuda (Help v2)
 * Nota: Solo copy; no depende de flags ni del runtime. Integración en command.ts llega en Fase 4.
 */
import { section, bullets, code, italic } from '../../utils/formatting';

export function getQuickHelp(baseUrl?: string): string {
  const parts: string[] = [];

  parts.push(section('Comandos básicos'));
  parts.push(
    bullets([
      `Crear: ${code('/t n Descripción 27-11-14 @Ana')}`,
      `Ver mis: ${code('/t mias')} _por privado_`,
      `Ver todas: ${code('/t todas')} _por privado_`,
      `Más info: ${code('/t info')}`,
      `Completar: ${code('/t x 26')} _(máx. 10 a la vez)_`,
      `Tomar: ${code('/t tomar 12')} _(máx. 10 a la vez)_`,
      `Soltar: ${code('/t soltar 26')} _(máx. 10 a la vez)_`,
      `Recordatorios: ${code('/t configurar diario|l-v|semanal|off [HH:MM]')} _por privado_`,
      `Versión web: ${code('/t web')}`,
    ])
  );

  parts.push(
    italic('El bot responde por privado, incluso si escribes desde un grupo.')
  );

  return parts.join('\n');
}

export function getFullHelp(baseUrl?: string): string {
  const out: string[] = [];

  // Crear
  out.push(section('Crear'));
  out.push(
    bullets([
      `${code('/t n Descripción [YYYY-MM-DD|YY-MM-DD|hoy|mañana] [@menciones...]')}`,
      'En privado: sin menciones → asignada a quien la crea.',
      'En grupo: sin menciones → queda “sin responsable”.',
      'Fechas: usa la última válida encontrada; no acepta pasadas.',
    ])
  );

  // Listados
  out.push('');
  out.push(section('Listados'));
  out.push(
    bullets([
      `${code('/t mias')} tus pendientes (por privado).`,
      `${code('/t todas')} tus pendientes + “sin responsable”.`,
      'Nota: no respondo en grupos; usa estos comandos por privado.',
      'Máx. 10 elementos por sección; se añade “… y N más” si hay más.',
      'Fechas en DD/MM y ⚠️ si están vencidas.',
    ])
  );

  // Fechas
  out.push('');
  out.push(section('Fechas'));
  out.push(
    bullets([
      'Puedes escribir fechas en formato `2027-09-04` o `27-09-04`',
      '`hoy` y `mañana` también son expresiones válidas',
    ])
  );

  // Recordatorios
  out.push('');
  out.push(section('Recordatorios'));
  out.push(
    bullets([
      `${code('/t configurar diario|l-v|semanal|off [HH:MM]')}`,
      'Alias: diario/diaria, laborables (l-v/lv), semanal, off/apagar.',
      'Si omites hora, se conserva la anterior o se usa 08:30 por defecto (semanal asume lunes).',
    ])
  );

  // Acceso web
  out.push('');
  out.push(section('Acceso web'));
  out.push(
    bullets([
      `${code('/t web')} genera un enlace de acceso de un solo uso (dura 10 min, una vez entras dura 2 horas).`,
    ])
  );

  // Otros
  out.push('');
  out.push(section('Otros'));
  out.push(
    bullets([
      'IDs visibles con 4 dígitos, pero puedes escribirlos sin ceros (ej.: 26).',
      'Máx. 10 IDs en completar/tomar; separa por espacios o comas.',
    ])
  );

  return out.join('\n');
}
