ChatReportProvider class

Provider for managing the chat message/user reporting flow.

This provider manages the state of the reporting dialog, including the selected reason, whether to report the user, and whether to block them.

Example:

final provider = ChatReportProvider(
  chatService,
  () => print('User was blocked'),
);
Inheritance

Constructors

ChatReportProvider(ChatService service, dynamic onUserBlocked())
Creates a new ChatReportProvider.

Properties

blockUser bool
Whether the user should be blocked.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
loading bool
Whether a report is currently being submitted.
no setter
onUserBlocked → dynamic Function()
Callback invoked when a user is blocked.
final
reportUser bool
Whether the user should be reported.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedReason ChatReportReason?
The reason selected for reporting the message.
getter/setter pair
service ChatService
The service for sending reports.
final
step ChatReportStep
The current step in the report flow.
getter/setter pair

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
dispose() → void
Discards any resources used by the object.
inherited
goToNextStep() → void
Advances to the next step in the report flow.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
reset() → void
Resets the report provider to its initial state.
selectReason(ChatReportReason reason) → void
Selects a reason for reporting the message.
submitReport(String chatId, String messageId, String userId, String currentUserId) Future<void>
Submits the report to the server.
toggleBlockUser(bool? value) → void
Toggles whether to block the user.
toggleReportUser(bool? value) → void
Toggles whether to report the user.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited