// Mini-renderizador de texto rico: **negrito**, *itálico*, [texto](url) e quebras de linha.
// Escapa o HTML antes de aplicar as marcações para evitar injeção.
export function renderRichText(text: string): string {
  if (!text) return ''
  let out = text
    .replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;')

  // links [texto](url)
  out = out.replace(
    /\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)/g,
    '<a href="$2" target="_blank" rel="noopener noreferrer" class="font-medium underline underline-offset-2">$1</a>'
  )
  // negrito **
  out = out.replace(/\*\*([^*]+)\*\*/g, '<strong class="font-semibold text-slate-900">$1</strong>')
  // itálico *
  out = out.replace(/\*([^*]+)\*/g, '<em>$1</em>')
  // quebras de linha
  out = out.replace(/\n/g, '<br/>')
  return out
}

export function RichText({ text, className }: { text: string; className?: string }) {
  return (
    <p
      className={className}
      dangerouslySetInnerHTML={{ __html: renderRichText(text) }}
    />
  )
}
