D1APP-16 alert system updated
This commit is contained in:
parent
86dc173932
commit
ff515fb037
|
|
@ -1,6 +1,9 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:another_flushbar/flushbar.dart';
|
import 'package:another_flushbar/flushbar.dart';
|
||||||
import 'package:didvan/config/design_config.dart';
|
import 'package:didvan/config/design_config.dart';
|
||||||
import 'package:didvan/config/theme_data.dart';
|
import 'package:didvan/config/theme_data.dart';
|
||||||
|
import 'package:didvan/constants/app_icons.dart';
|
||||||
import 'package:didvan/constants/assets.dart';
|
import 'package:didvan/constants/assets.dart';
|
||||||
import 'package:didvan/models/enums.dart';
|
import 'package:didvan/models/enums.dart';
|
||||||
import 'package:didvan/models/view/action_sheet_data.dart';
|
import 'package:didvan/models/view/action_sheet_data.dart';
|
||||||
|
|
@ -42,13 +45,51 @@ class ActionSheetUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<void> showAlert(AlertData alertData) async {
|
static Future<void> showAlert(AlertData alertData) async {
|
||||||
|
bool isInit = true;
|
||||||
|
Color backgroundColor;
|
||||||
|
Color foregroundColor;
|
||||||
|
switch (alertData.aLertType) {
|
||||||
|
case ALertType.info:
|
||||||
|
backgroundColor = Theme.of(context).colorScheme.focused;
|
||||||
|
foregroundColor = Theme.of(context).colorScheme.focusedBorder;
|
||||||
|
break;
|
||||||
|
case ALertType.success:
|
||||||
|
backgroundColor = Theme.of(context).colorScheme.successBack;
|
||||||
|
foregroundColor = Theme.of(context).colorScheme.success;
|
||||||
|
break;
|
||||||
|
case ALertType.error:
|
||||||
|
backgroundColor = Theme.of(context).colorScheme.errorBack;
|
||||||
|
foregroundColor = Theme.of(context).colorScheme.error;
|
||||||
|
break;
|
||||||
|
}
|
||||||
await Flushbar(
|
await Flushbar(
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 16),
|
margin: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
message: alertData.message,
|
borderColor: foregroundColor,
|
||||||
backgroundColor: Theme.of(context).colorScheme.focused,
|
backgroundColor: backgroundColor,
|
||||||
borderRadius: DesignConfig.mediumBorderRadius,
|
borderRadius: DesignConfig.mediumBorderRadius,
|
||||||
messageColor: Theme.of(context).colorScheme.text,
|
icon: const Icon(DidvanIcons.info_circle_solid),
|
||||||
flushbarPosition: FlushbarPosition.TOP,
|
shouldIconPulse: true,
|
||||||
|
flushbarPosition: FlushbarPosition.BOTTOM,
|
||||||
|
messageText: StatefulBuilder(builder: (context, setState) {
|
||||||
|
if (isInit) {
|
||||||
|
Future.delayed(Duration.zero, () {
|
||||||
|
setState(() {});
|
||||||
|
isInit = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
DidvanText(alertData.message, color: foregroundColor),
|
||||||
|
AnimatedContainer(
|
||||||
|
duration: const Duration(seconds: 2),
|
||||||
|
width: isInit ? MediaQuery.of(context).size.width - 32 : 0,
|
||||||
|
height: 2,
|
||||||
|
color: foregroundColor,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
duration: const Duration(seconds: 2),
|
duration: const Duration(seconds: 2),
|
||||||
boxShadows: [
|
boxShadows: [
|
||||||
BoxShadow(color: Theme.of(context).colorScheme.cardBorder),
|
BoxShadow(color: Theme.of(context).colorScheme.cardBorder),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue