toast.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:appflowy/startup/startup.dart';
  2. import 'package:flowy_infra/size.dart';
  3. import 'package:flowy_infra_ui/style_widget/text.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:fluttertoast/fluttertoast.dart';
  6. class FlowyMessageToast extends StatelessWidget {
  7. final String message;
  8. const FlowyMessageToast({required this.message, Key? key}) : super(key: key);
  9. @override
  10. Widget build(BuildContext context) {
  11. return Container(
  12. decoration: BoxDecoration(
  13. borderRadius: const BorderRadius.all(Radius.circular(4)),
  14. color: Theme.of(context).colorScheme.surface,
  15. ),
  16. child: Padding(
  17. padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6),
  18. child: FlowyText.medium(
  19. message,
  20. fontSize: FontSizes.s16,
  21. ),
  22. ),
  23. );
  24. }
  25. }
  26. void initToastWithContext(BuildContext context) {
  27. getIt<FToast>().init(context);
  28. }
  29. void showMessageToast(String message) {
  30. final child = FlowyMessageToast(message: message);
  31. getIt<FToast>().showToast(
  32. child: child,
  33. gravity: ToastGravity.BOTTOM,
  34. toastDuration: const Duration(seconds: 3),
  35. );
  36. }