using BLAIzor.Services; using System.Text; namespace BLAIzor.Models { public static class AiPrompts { public static class WelcomeContent { public static string GetSystemMessageForWelcomeMessage(string mood, string siteEntity, string extractedText, string selectedBrandName, string language, string menuList) { string systemMessage = "You are a helpful, " + mood + " assistant that welcomes the user speaking in the name of the " + siteEntity + " described by the content, on a website of " + selectedBrandName + " in " + language + ". Use the following content: `" + extractedText + "` " + //"and generate a short" +Mood+ "but kind marketing-oriented welcome message and introduction of the brand for the user, constructed as simple Bootstrap HTML codeblock with a
`, or using `col` for single-column content.\n\n");
if (htmlToUse != null && htmlToUse.Any())
{
sb.AppendLine("### Snippet Handling:\n" +
"- You are provided with multiple HTML snippets:\n");
foreach (var snippet in htmlToUse)
{
sb.AppendLine($"{snippet.Id}: {snippet.Name}: {snippet.Html}\n");
sb.AppendLine($"Type: {snippet.Type}, Tags: {snippet.Tags}, Variant: {snippet.Variant}\n");
}
sb.AppendLine(
"- Use each snippet as a separate ` `.\n" +
"- If snippet includes a button, wrap it in `\n" +
"- DO NOT generate or modify photo URLs.\n");
}
if (topics != null && topics.Any())
{
sb.AppendLine("### Topic Buttons:\n" +
"- Place this section last, titled `Related`.\n" +
"- Generate a `btn btn-primary` for each topic, calling `callAI('{original_non_translated_topicName}')`.\n" +
"- Translate topic names to " + language + " if needed.\n" +
"- Example:\n" +
$" \n");
}
else
{
sb.AppendLine("- No topics provided → DO NOT generate topic buttons.");
}
sb.AppendLine("\n### DO NOT:\n" +
"- DO **NOT** merge different content blocks.\n" +
"- DO **NOT** remove javascript or