diff --git a/feedback/lib/src/user_feedback.dart b/feedback/lib/src/user_feedback.dart index 5056b62..3069700 100644 --- a/feedback/lib/src/user_feedback.dart +++ b/feedback/lib/src/user_feedback.dart @@ -5,7 +5,7 @@ import 'package:feedback/src/better_feedback.dart'; class UserFeedback { /// Creates an [UserFeedback]. /// Typically never used by a user of this library. - UserFeedback({ + const UserFeedback({ required this.text, required this.screenshot, this.extra, @@ -22,4 +22,21 @@ class UserFeedback { /// When using a custom [BetterFeedback.feedbackBuilder] this can be used /// to supply additional information. final Map? extra; + + /// Creates a copy of this [UserFeedback] with the given fields replaced + /// by new values. + /// + /// Any parameter that is omitted will default to the value of the + /// corresponding field in this instance. + UserFeedback copyWith({ + String? text, + Uint8List? screenshot, + Map? extra, + }) { + return UserFeedback( + text: text ?? this.text, + screenshot: screenshot ?? this.screenshot, + extra: extra ?? this.extra, + ); + } }