FeedbackDraft class
Data payload for submitting user feedback, bug reports, and suggestions.
Encapsulates title, description, reporter info, platform runtime, and optional diagnostics.
Example
final draft = FeedbackDraft(
title: 'Dark mode contrast is too low in settings',
description: 'The toggle button text is hard to read when dark mode is enabled.',
reporterName: 'Jordan',
reporterEmail: 'jordan@example.com',
platform: FeedbackPlatform.current,
appVersion: '1.2.0',
buildNumber: '42',
metadata: {'screen': 'SettingsView', 'osVersion': '17.4'},
);
final result = await client.submit(draft);
print('Submitted ID: ${result.submissionId}');
Constructors
-
FeedbackDraft({required String title, required String description, String? reporterName, String? reporterEmail, required FeedbackPlatform platform, String? appVersion, String? buildNumber, Map<
String, String> metadata = const {}, List<FeedbackAttachment> attachments = const []}) -
Creates a FeedbackDraft ready for submission.
const
Properties
- appVersion → String?
-
Application version string (e.g.
'1.0.4').final -
attachments
→ List<
FeedbackAttachment> -
List of uploaded screenshot or log attachments.
final
- buildNumber → String?
-
Application build or compilation number (e.g.
'12').final - description → String
-
Detailed description of the user feedback or steps to reproduce.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
metadata
→ Map<
String, String> -
Custom key-value diagnostic metadata (device info, screen names, state).
final
- platform → FeedbackPlatform
-
Target platform where the feedback was generated.
final
- reporterEmail → String?
-
Optional email address for reply notifications.
final
- reporterName → String?
-
Optional self-reported name of the submitting user.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- title → String
-
Short title summarizing the feedback or issue.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
{required String appKey, required String submittedAt}) → Map< String, dynamic> -
Serializes FeedbackDraft to a JSON payload ready for
POST /api/v1/feedback. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited