using InboxIntel.Domain.Common; namespace InboxIntel.Domain.Entities; /// /// Persisted dashboard layout for a user. One row per widget instance, /// storing grid geometry and visibility so the dashboard restores exactly. /// public class WidgetLayout : AuditableEntity { public Guid Id { get; set; } = Guid.NewGuid(); public Guid UserId { get; set; } /// Stable widget key, e.g. "inbox-health", "top-senders". public string WidgetKey { get; set; } = string.Empty; // react-grid-layout geometry. public int X { get; set; } public int Y { get; set; } public int W { get; set; } = 4; public int H { get; set; } = 4; public bool Visible { get; set; } = true; public int SortOrder { get; set; } /// Optional per-widget settings as JSON. public string? SettingsJson { get; set; } }