ente/mobile/lib/utils/toast_util.dart
2024-03-01 12:25:37 +05:30

52 lines
1.5 KiB
Dart

import "dart:async";
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:photos/ente_theme_data.dart';
void showToast(
BuildContext context,
String message, {
toastLength = Toast.LENGTH_LONG,
int iosLongToastLengthInSec = 2,
}) async {
if (Platform.isAndroid) {
await Fluttertoast.cancel();
unawaited(
Fluttertoast.showToast(
msg: message,
toastLength: toastLength,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Theme.of(context).colorScheme.toastBackgroundColor,
textColor: Theme.of(context).colorScheme.toastTextColor,
fontSize: 16.0,
),
);
} else {
EasyLoading.instance
..backgroundColor = Theme.of(context).colorScheme.toastBackgroundColor
..indicatorColor = Theme.of(context).colorScheme.toastBackgroundColor
..textColor = Theme.of(context).colorScheme.toastTextColor
..userInteractions = true
..loadingStyle = EasyLoadingStyle.custom;
unawaited(
EasyLoading.showToast(
message,
duration: Duration(
seconds:
(toastLength == Toast.LENGTH_LONG ? iosLongToastLengthInSec : 1),
),
toastPosition: EasyLoadingToastPosition.bottom,
dismissOnTap: false,
),
);
}
}
void showShortToast(context, String message) {
showToast(context, message, toastLength: Toast.LENGTH_SHORT);
}