SeemGen/Models/LayoutBlock.cs

29 lines
1.0 KiB
C#

namespace BLAIzor.Models
{
public class LayoutBlock
{
public string Type { get; set; } // e.g. "hero", "article", "gallery", "testimonial"
public string? Variant { get; set; } // e.g. "image-left", "image-right", "no-image"
public List<string> RequiredSlots { get; set; } // e.g. ["title", "text", "image", "cta"]
public Dictionary<string, string> ContentMap { get; set; }
// Maps slot names to content IDs or keys, e.g. { "title": "main_heading", "image": "img_1" }
public int? PreferredSnippetId { get; set; }
// Optional: used if a perfect match snippet is found or AI prefers one
//public string? BootstrapStructure { get; set; }
// Optional: e.g. "row-cols-2", "container-fluid py-5"
public string RawContent { get; set; } = string.Empty;
public int Order { get; set; }
// The position of the block in the layout
public string? Notes { get; set; }
// Optional field for AI hints, comments, or debug info
}
}