namespace Nuuru.Server.DTOs.UserSettings { public class UserSettingsDto { // Appearance public string Theme { get; set; } = "dark"; // Notification toggles public bool NotifyOnPostComment { get; set; } public bool NotifyOnMention { get; set; } public bool NotifyOnForumQuote { get; set; } public bool NotifyOnWatchedPostComment { get; set; } public bool NotifyOnWatchedThreadReply { get; set; } public bool NotifyOnPrivateMessage { get; set; } public bool NotifyOnGroupMessage { get; set; } public bool NotifyOnReaction { get; set; } public bool NotifyOnFriendAdded { get; set; } public bool NotifyOnEnemyAdded { get; set; } public bool NotifyOnFriendRemoved { get; set; } // Auto-watch toggles public bool AutoWatchOwnPosts { get; set; } public bool AutoWatchOnPostComment { get; set; } public bool AutoWatchOnForumThreadCreate { get; set; } public bool AutoWatchOnForumThreadReply { get; set; } // Auto-update public bool AutoUpdateEnabled { get; set; } public bool AutoNavigateNextPage { get; set; } // Search public string DefaultSearchQuery { get; set; } = string.Empty; // Comments public bool FloatingCommentEditor { get; set; } // Social / Privacy public bool BlockMentionsFromEnemies { get; set; } public bool OnlyAllowDmsFromFriends { get; set; } } public class UpdateUserSettingsRequest { // Appearance public string? Theme { get; set; } // Notification toggles public bool? NotifyOnPostComment { get; set; } public bool? NotifyOnMention { get; set; } public bool? NotifyOnForumQuote { get; set; } public bool? NotifyOnWatchedPostComment { get; set; } public bool? NotifyOnWatchedThreadReply { get; set; } public bool? NotifyOnPrivateMessage { get; set; } public bool? NotifyOnGroupMessage { get; set; } public bool? NotifyOnReaction { get; set; } public bool? NotifyOnFriendAdded { get; set; } public bool? NotifyOnEnemyAdded { get; set; } public bool? NotifyOnFriendRemoved { get; set; } // Auto-watch toggles public bool? AutoWatchOwnPosts { get; set; } public bool? AutoWatchOnPostComment { get; set; } public bool? AutoWatchOnForumThreadCreate { get; set; } public bool? AutoWatchOnForumThreadReply { get; set; } // Auto-update public bool? AutoUpdateEnabled { get; set; } public bool? AutoNavigateNextPage { get; set; } // Search public string? DefaultSearchQuery { get; set; } // Comments public bool? FloatingCommentEditor { get; set; } // Social / Privacy public bool? BlockMentionsFromEnemies { get; set; } public bool? OnlyAllowDmsFromFriends { get; set; } } }