32 lines
1.2 KiB
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();
|
|
});
|
|
}
|
|
} |