using CMSMicroservice.Domain.Common;

namespace CMSMicroservice.Domain.Entities.Content;

/// <summary>
/// تصاویر مرتبط با صفحات سایت
/// شامل: مجوزها، اعضای تیم، ارزش‌ها و سایر آیتم‌های تصویری
/// </summary>
public class SitePageImage : BaseAuditableEntity
{
    /// <summary>
    /// شناسه صفحه مرتبط
    /// </summary>
    public long SitePageSettingsId { get; set; }

    /// <summary>
    /// گروه تصویر (licenses, team, values)
    /// </summary>
    public string ImageGroup { get; set; } = string.Empty;

    /// <summary>
    /// عنوان
    /// </summary>
    public string? Title { get; set; }

    /// <summary>
    /// زیرعنوان
    /// </summary>
    public string? Subtitle { get; set; }

    /// <summary>
    /// توضیحات
    /// </summary>
    public string? Description { get; set; }

    /// <summary>
    /// مسیر تصویر اصلی
    /// </summary>
    public string ImagePath { get; set; } = string.Empty;

    /// <summary>
    /// مسیر تامبنیل
    /// </summary>
    public string? ThumbnailPath { get; set; }

    /// <summary>
    /// لینک خارجی (برای مجوزها: لینک به سایت مرجع)
    /// </summary>
    public string? LinkUrl { get; set; }

    /// <summary>
    /// نام آیکون Material
    /// </summary>
    public string? IconName { get; set; }

    /// <summary>
    /// ترتیب نمایش
    /// </summary>
    public int SortOrder { get; set; }

    /// <summary>
    /// فعال بودن
    /// </summary>
    public bool IsActive { get; set; } = true;

    /// <summary>
    /// صفحه مرتبط
    /// </summary>
    public virtual SitePageSettings SitePageSettings { get; set; } = null!;
}
