showFeedBackWithResult method

  1. @override
Future<void> showFeedBackWithResult(
  1. BuildContext context, {
  2. required String userId,
  3. required dynamic onResult(
    1. FeedbackMediaResultModel?
    ),
})
override

Implementation

@override
Future<void> showFeedBackWithResult(BuildContext context,
    {required String userId, required Function(FeedbackMediaResultModel?) onResult}) async {
  ///Set feedback user Id
  context.read<SendFeedbackProvider>().userIdEmail = userId;

  // Show feedback dialog
  showFeedbackModel(context);

  // Initialize a new completer to track this feedback session
  _feedbackCompleter = Completer<void>();

  try {
    // Wait for the feedback result to be set
    await _feedbackCompleter?.future;

    // Return the result to the callback
    onResult(_feedbackResult);
  } catch (e) {
    // Handle any unexpected error here
    debugPrint("Error in feedback process: $e");
    onResult(null); // Or handle error as necessary
  }
}