/** Абзацы и списки из текста перевода: строки с «• » — пункты списка, остальные — абзацы */ export function RichText({ text }: { text: string }) { const blocks: ({ kind: 'p'; text: string } | { kind: 'ul'; items: string[] })[] = []; for (const line of text.split('\n')) { if (line.startsWith('• ')) { const last = blocks.at(-1); if (last?.kind === 'ul') last.items.push(line.slice(2)); else blocks.push({ kind: 'ul', items: [line.slice(2)] }); } else if (line.trim()) blocks.push({ kind: 'p', text: line }); } return ( <> {blocks.map((b, i) => b.kind === 'p' ? (
{b.text}
) : (