relatica/lib/models/focus_mode_data.dart

25 wiersze
723 B
Dart

2024-08-30 00:31:43 +00:00
const defaultMaxNumber = 1000;
class FocusModeData {
final DateTime? disableTime;
2024-08-30 00:31:43 +00:00
final int maxNumber;
final bool enabled;
2024-08-30 00:31:43 +00:00
const FocusModeData(this.enabled,
{this.maxNumber = defaultMaxNumber, this.disableTime});
2024-08-19 18:49:58 +00:00
factory FocusModeData.disabled() => const FocusModeData(false);
factory FocusModeData.fromJson(Map<String, dynamic> json) => FocusModeData(
json['enabled'],
2024-08-30 00:31:43 +00:00
maxNumber: json['maxNumber'] ?? defaultMaxNumber,
2024-08-19 18:49:58 +00:00
disableTime: DateTime.tryParse(json['disableTime'] ?? ''),
);
Map<String, dynamic> toJson() => {
'enabled': enabled,
2024-08-30 00:31:43 +00:00
'maxNumber': maxNumber,
2024-08-19 18:49:58 +00:00
if (disableTime != null) 'disableTime': disableTime!.toIso8601String(),
};
}