💄 Optimized account creation

This commit is contained in:
2025-04-30 00:22:12 +08:00
parent 627b726bbc
commit a4e27e57a3
6 changed files with 134 additions and 43 deletions

View File

@ -1,10 +1,33 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter_platform_alert/flutter_platform_alert.dart';
String _parseRemoteError(DioException err) {
if (err.response?.data is String) return err.response?.data;
if (err.response?.data?['errors'] != null) {
final errors = err.response?.data['errors'] as Map<String, dynamic>;
return errors.values
.map(
(ele) =>
(ele as List<dynamic>).map((ele) => ele.toString()).join('\n'),
)
.join('\n');
}
return jsonEncode(err.response?.data);
}
void showErrorAlert(dynamic err) async {
final text = switch (err) {
String _ => err,
DioException _ => _parseRemoteError(err),
Exception _ => err.toString(),
_ => err.toString(),
};
FlutterPlatformAlert.showAlert(
windowTitle: 'somethingWentWrong'.tr(),
text: err.toString(),
text: text,
alertStyle: AlertButtonStyle.ok,
iconStyle: IconStyle.error,
);