From 6f3b1f1b4cb1de234803d58aa4492f1a0321d845 Mon Sep 17 00:00:00 2001 From: ThibaultBee <37510686+ThibaultBee@users.noreply.github.com> Date: Mon, 21 Oct 2024 15:14:18 +0200 Subject: [PATCH] fix(example): fix use_build_context_synchronously warning in the example --- example/lib/main.dart | 44 +++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 6c3c108..5f73b41 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -103,15 +103,21 @@ class UploaderPageState extends State { }); log("VideoId : ${video.videoId}"); log("Title : ${video.title}"); - showSuccessSnackBar( - context, "Video ${video.videoId} uploaded"); + if (context.mounted) { + showSuccessSnackBar( + context, "Video ${video.videoId} uploaded"); + } } on Exception catch (e) { log("Failed to upload video: $e"); - showErrorSnackBar( - context, "Failed to upload video: ${e.message}"); + if (context.mounted) { + showErrorSnackBar( + context, "Failed to upload video: ${e.message}"); + } } catch (e) { log("Failed to upload video: $e"); - showErrorSnackBar(context, "Failed to upload video $e"); + if (context.mounted) { + showErrorSnackBar(context, "Failed to upload video $e"); + } } } }, @@ -147,21 +153,32 @@ class UploaderPageState extends State { } void showSuccessSnackBar(BuildContext context, String message) { - showSnackBar(context, message, backgroundColor: Colors.green); + context.showSnackBar(message, backgroundColor: Colors.green); } void showErrorSnackBar(BuildContext context, String message) { - showSnackBar(context, message, + context.showSnackBar(message, backgroundColor: Colors.red, duration: const Duration(seconds: 60), showCloseIcon: true); } +} + +extension ErrorExtension on Exception { + String get message { + if (this is PlatformException) { + return (this as PlatformException).message ?? "Unknown error"; + } + return toString(); + } +} - void showSnackBar(BuildContext context, String message, +extension BuildContextSnachBarExtension on BuildContext { + void showSnackBar(String message, {Color? backgroundColor, Duration duration = const Duration(seconds: 4), bool showCloseIcon = false}) { - ScaffoldMessenger.of(context).showSnackBar( + ScaffoldMessenger.of(this).showSnackBar( SnackBar( content: Text(message), backgroundColor: backgroundColor, @@ -171,12 +188,3 @@ class UploaderPageState extends State { ); } } - -extension ErrorExtension on Exception { - String get message { - if (this is PlatformException) { - return (this as PlatformException).message ?? "Unknown error"; - } - return toString(); - } -}