using CMSMicroservice.Domain.Common;

namespace CMSMicroservice.Domain.Entities.Content;

/// <summary>
/// بخش‌های یک صفحه دینامیک
/// هر صفحه می‌تواند N بخش با ترتیب نمایش داشته باشد
/// </summary>
public class SitePageSection : BaseAuditableEntity
{
    public long SitePageId { get; set; }
    //کلید بخش (mission, vision, team-member-1, ...)
    public string SectionKey { get; set; } = string.Empty;
    //عنوان بخش
    public string Title { get; set; } = string.Empty;
    //زیرعنوان
    public string? Subtitle { get; set; }
    //محتوای HTML
    public string? HtmlContent { get; set; }
    //نام آیکون Material
    public string? IconName { get; set; }
    //مسیر تصویر
    public string? ImagePath { get; set; }
    //مسیر تامبنیل
    public string? ImageThumbnailPath { get; set; }
    //ترتیب نمایش
    public int SortOrder { get; set; }
    //فعال؟
    public bool IsActive { get; set; } = true;
    //داده اضافی JSON (برای فیلدهای انعطاف‌پذیر)
    public string? ExtraData { get; set; }

    public virtual SitePage SitePage { get; set; } = null!;
}
