RhythmBox/lib/providers/error_notifier.dart

39 lines
922 B
Dart
Raw Normal View History

2024-09-02 13:20:30 +00:00
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
class ErrorNotifier extends GetxController {
Rx<MaterialBanner?> showing = Rx(null);
void logError(String msg, {StackTrace? trace}) {
2024-09-04 15:28:59 +00:00
log('$msg${trace != null ? '\nTrace:\n$trace' : ''}');
2024-09-02 13:20:30 +00:00
showError(msg);
}
void showError(String msg) {
showing.value = MaterialBanner(
2024-09-02 15:52:38 +00:00
dividerColor: Colors.transparent,
2024-09-02 13:20:30 +00:00
leading: const Icon(Icons.error),
content: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
'Something went wrong...',
style: TextStyle(fontWeight: FontWeight.bold),
),
Text(msg),
],
),
actions: [
TextButton(
onPressed: () {
showing.value = null;
},
child: const Text('Dismiss'),
),
],
);
}
}