chore: initial release
This commit is contained in:
40
lib/core/models/user_settings.dart
Normal file
40
lib/core/models/user_settings.dart
Normal file
@@ -0,0 +1,40 @@
|
||||
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,
|
||||
|
||||
// Advanced settings
|
||||
@Default({}) Map<String, dynamic> customSettings,
|
||||
}) = _UserSettings;
|
||||
|
||||
factory UserSettings.fromJson(Map<String, dynamic> json) =>
|
||||
_$UserSettingsFromJson(json);
|
||||
}
|
||||
Reference in New Issue
Block a user