import 'package:freezed_annotation/freezed_annotation.dart'; part 'user_settings.freezed.dart'; part 'user_settings.g.dart'; @freezed sealed class UserSettings with _$UserSettings { const factory UserSettings({ // Chat preferences @Default(true) bool showReadReceipts, @Default(true) bool enableNotifications, @Default(false) bool enableSounds, @Default('auto') String theme, // 'light', 'dark', 'auto' // AI preferences @Default(0.7) double temperature, @Default(2048) int maxTokens, @Default(false) bool streamResponses, @Default(false) bool webSearchEnabled, // Privacy settings @Default(true) bool saveConversations, @Default(false) bool shareUsageData, // Interface preferences @Default('comfortable') String density, // 'compact', 'comfortable', 'spacious' @Default(14.0) double fontSize, @Default('en') String language, // Accessibility settings @Default(false) bool reduceMotion, @Default(true) bool hapticFeedback, // Model preferences String? defaultModelId, // Advanced settings @Default({}) Map customSettings, }) = _UserSettings; factory UserSettings.fromJson(Map json) => _$UserSettingsFromJson(json); }