31 lines
		
	
	
		
			922 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			922 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:flutter/material.dart';
 | |
| import 'package:flutter_gen/gen_l10n/app_localizations.dart';
 | |
| 
 | |
| extension SolianCommonExtensions on BuildContext {
 | |
|   Future<void> showErrorDialog(dynamic exception) {
 | |
|     String formatMessage(dynamic exception) {
 | |
|       final message = exception.toString();
 | |
|       if (message.trim().isEmpty) return '';
 | |
|       return message
 | |
|           .split(' ')
 | |
|           .map((element) =>
 | |
|               '${element[0].toUpperCase()}${element.substring(1).toLowerCase()}')
 | |
|           .join(' ');
 | |
|     }
 | |
| 
 | |
|     return showDialog<void>(
 | |
|       context: this,
 | |
|       builder: (ctx) => AlertDialog(
 | |
|         title: Text(AppLocalizations.of(this)!.errorHappened),
 | |
|         content: Text(formatMessage(exception)),
 | |
|         actions: [
 | |
|           TextButton(
 | |
|             onPressed: () => Navigator.pop(ctx),
 | |
|             child: Text(AppLocalizations.of(this)!.confirmOkay),
 | |
|           )
 | |
|         ],
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| }
 |