moxxy/lib/shared/models/preferences.dart

36 lines
1.3 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
part 'preferences.freezed.dart';
part 'preferences.g.dart';
@freezed
class PreferencesState with _$PreferencesState {
factory PreferencesState({
@Default(true) bool sendChatMarkers,
@Default(true) bool sendChatStates,
@Default(true) bool showSubscriptionRequests,
@Default(true) bool autoDownloadWifi,
@Default(false) bool autoDownloadMobile,
@Default(15) int maximumAutoDownloadSize,
@Default('') String backgroundPath,
@Default(true) bool isAvatarPublic,
@Default(false) bool autoAcceptSubscriptionRequests,
@Default(false) bool debugEnabled,
@Default('') String debugPassphrase,
@Default('') String debugIp,
@Default(-1) int debugPort,
@Default('') String twitterRedirect,
@Default('') String youtubeRedirect,
@Default(false) bool enableTwitterRedirect,
@Default(false) bool enableYoutubeRedirect,
@Default(false) bool defaultMuteState,
@Default(false) bool enableOmemoByDefault,
// NOTE: A value of 'default' means that the system's configured language should
// be used
@Default('default') String languageLocaleCode,
}) = _PreferencesState;
// JSON serialization
factory PreferencesState.fromJson(Map<String, dynamic> json) => _$PreferencesStateFromJson(json);
}