mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-19 07:03:37 +00:00

* chore: remove redundant arguments * chore: remove unused constructor params * chore: reorganize constructors * chore: remove unnecessary awaits in returns * chore: remove unnecessary paranthesis * chore: add lints * chore: clean up after merge * chore: add sort constructors first * chore: organize constructors in blocs * chore: use sizedbox.shrink over empty container
76 lines
2.0 KiB
Dart
76 lines
2.0 KiB
Dart
import 'package:appflowy/generated/locale_keys.g.dart';
|
|
import 'package:appflowy/startup/startup.dart';
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:flowy_infra/size.dart';
|
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:fluttertoast/fluttertoast.dart';
|
|
|
|
class FlowyMessageToast extends StatelessWidget {
|
|
const FlowyMessageToast({required this.message, super.key});
|
|
|
|
final String message;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return DecoratedBox(
|
|
decoration: BoxDecoration(
|
|
borderRadius: const BorderRadius.all(Radius.circular(4)),
|
|
color: Theme.of(context).colorScheme.surface,
|
|
),
|
|
child: Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
|
|
child: FlowyText.medium(
|
|
message,
|
|
fontSize: FontSizes.s16,
|
|
maxLines: 3,
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|
|
|
|
void initToastWithContext(BuildContext context) {
|
|
getIt<FToast>().init(context);
|
|
}
|
|
|
|
void showMessageToast(
|
|
String message, {
|
|
BuildContext? context,
|
|
ToastGravity gravity = ToastGravity.BOTTOM,
|
|
}) {
|
|
final child = FlowyMessageToast(message: message);
|
|
final toast = context == null ? getIt<FToast>() : FToast()
|
|
..init(context!);
|
|
toast.showToast(
|
|
child: child,
|
|
gravity: gravity,
|
|
toastDuration: const Duration(seconds: 3),
|
|
);
|
|
}
|
|
|
|
void showSnackBarMessage(
|
|
BuildContext context,
|
|
String message, {
|
|
bool showCancel = false,
|
|
}) {
|
|
ScaffoldMessenger.of(context).showSnackBar(
|
|
SnackBar(
|
|
backgroundColor: Theme.of(context).colorScheme.onSecondary,
|
|
action: !showCancel
|
|
? null
|
|
: SnackBarAction(
|
|
label: LocaleKeys.button_cancel.tr(),
|
|
textColor: Colors.white,
|
|
onPressed: () {
|
|
ScaffoldMessenger.of(context).hideCurrentSnackBar();
|
|
},
|
|
),
|
|
content: FlowyText(
|
|
message,
|
|
color: Colors.white,
|
|
),
|
|
),
|
|
);
|
|
}
|