export function getDefaultAboutSoftwareText(projectName: string) { const name = projectName.trim() || 'این نرم‌افزار' return `${name} بستری امن و آنلاین برای خرید و فروش طلا فراهم کرده تا کاربران بتوانند سرمایه‌های خود را به‌سادگی مدیریت کنند.\n\nهدف ما ارائه تجربه‌ای سریع، شفاف و کاربرپسند در معاملات طلا است.` } function looksLikeHtml(value: string) { return /<\/?[a-z][\s\S]*>/i.test(value) } export type AboutSoftwareBody = | { kind: 'html'; html: string } | { kind: 'text'; text: string } /** اولویت با تنظیم about_software؛ در صورت خالی بودن، متن پیش‌فرض */ export function resolveAboutSoftwareBody( raw: unknown, projectName: string, ): AboutSoftwareBody { const value = String(raw ?? '').trim() if (!value) { return { kind: 'text', text: getDefaultAboutSoftwareText(projectName) } } if (looksLikeHtml(value)) { const stripped = value .replace(/<[^>]+>/g, ' ') .replace(/ /gi, ' ') .replace(/\s+/g, ' ') .trim() if (!stripped) { return { kind: 'text', text: getDefaultAboutSoftwareText(projectName) } } return { kind: 'html', html: value } } return { kind: 'text', text: value } }