Client/lib/view/pages/more/feedback/feedbackSender.dart

32 lines
1.2 KiB
Dart

import 'dart:convert';
import 'package:feedback/feedback.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:loader_overlay/loader_overlay.dart';
import 'package:package_info/package_info.dart';
import '../../../../api/mhsl/server/feedback/addFeedback.dart';
import '../../../../api/mhsl/server/feedback/addFeedbackParams.dart';
import '../../../../model/accountData.dart';
import '../../../../widget/infoDialog.dart';
class FeedbackSender {
static send(BuildContext context, UserFeedback feedback) async {
BetterFeedback.of(context).hide();
context.loaderOverlay.show();
AddFeedbackParams params = AddFeedbackParams(
user: AccountData().getUserSecret(),
feedback: feedback.text,
screenshot: await compute((message) => base64Encode(message), feedback.screenshot),
appVersion: int.parse((await PackageInfo.fromPlatform()).buildNumber)
);
AddFeedback(params).run().then((value) {
InfoDialog.show(context, "Danke für dein Feedback!");
context.loaderOverlay.hide();
}).catchError((error, trace) {
InfoDialog.show(context, error.toString());
context.loaderOverlay.hide();
});
}
}