import 'package:json_annotation/json_annotation.dart'; part 'notification_settings.g.dart'; @JsonSerializable() class NotificationSettings { /// Whether push notifications are enabled. Defaults to `true` — the OS /// permission prompt on the first Talk visit is now the gate, so there is no /// separate in-app opt-in step anymore. @JsonKey(defaultValue: true) bool enabled; /// Whether the one-time notification-permission prompt shown on the first /// Talk visit has already run. Prevents nagging the user on every visit and /// keeps the OS prompt out of the cold-start path. @JsonKey(defaultValue: false) bool talkPermissionPromptShown; NotificationSettings({ this.enabled = true, this.talkPermissionPromptShown = false, }); factory NotificationSettings.fromJson(Map json) => _$NotificationSettingsFromJson(json); Map toJson() => _$NotificationSettingsToJson(this); }