From 00ed1daaccdebe646c6ff428d2f32c8fc62ef8db Mon Sep 17 00:00:00 2001 From: Bryant Hernandez Date: Mon, 16 Dec 2024 06:52:07 -0800 Subject: [PATCH 1/3] general error handling --- fightme_webapp/lib/searchbar.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fightme_webapp/lib/searchbar.dart b/fightme_webapp/lib/searchbar.dart index 9d1e44f..ac4e770 100644 --- a/fightme_webapp/lib/searchbar.dart +++ b/fightme_webapp/lib/searchbar.dart @@ -13,7 +13,11 @@ class CustomSearchDelegate extends SearchDelegate { return[ IconButton( onPressed: () { - query = ""; + try { + query = ""; + } catch (e) { + print("Error clearing search query: $e"); + } }, icon: const Icon(Icons.clear), ), From 5ca2b2b8a37880e7f979ec98d425c1fba7715061 Mon Sep 17 00:00:00 2001 From: Bryant Hernandez Date: Mon, 16 Dec 2024 07:14:31 -0800 Subject: [PATCH 2/3] Error handling that identifies issues with user data --- fightme_webapp/lib/training_area_page.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/fightme_webapp/lib/training_area_page.dart b/fightme_webapp/lib/training_area_page.dart index 788db40..699fff3 100644 --- a/fightme_webapp/lib/training_area_page.dart +++ b/fightme_webapp/lib/training_area_page.dart @@ -49,11 +49,15 @@ class TrainingAreaPageState extends State { children: [ ElevatedButton( onPressed: () { - showDialog( - context: context, - builder: (BuildContext context) => - FightButton(game: FightGameSession.practice(widget.curUser)) - ); + try { + showDialog( + context: context, + builder: (BuildContext context) => FightButton(game: FightGameSession.practice(widget.curUser)) + ); + } catch (e) { + final snackBar = SnackBar(content: Text('Failed to start practice session: ${e.toString()}')); + ScaffoldMessenger.of(context).showSnackBar(snackBar); + } }, child: const Text('Practice against a dummy')), ElevatedButton( From 14c84e7bc6f4713f741999efdd85804c9235d0e7 Mon Sep 17 00:00:00 2001 From: Bryant Hernandez Date: Mon, 16 Dec 2024 07:26:10 -0800 Subject: [PATCH 3/3] Ensures no runtime errors --- fightme_webapp/lib/training_area_page.dart | 25 +++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/fightme_webapp/lib/training_area_page.dart b/fightme_webapp/lib/training_area_page.dart index 699fff3..38fbb71 100644 --- a/fightme_webapp/lib/training_area_page.dart +++ b/fightme_webapp/lib/training_area_page.dart @@ -62,18 +62,27 @@ class TrainingAreaPageState extends State { child: const Text('Practice against a dummy')), ElevatedButton( onPressed: () { + try { String pfp = settingsProvider.profilePicture.split('/').last; - if (pfp.isEmpty) { - pfp = 'default-avatar.png'; + pfp = 'default-avatar.png'; //default value if profile picture is not set } + //ensures any other necessary data or conditions are met before navigating Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const DungeonLobby())); - }, - child: const Text("Enter the Dungeon Lobby"), - ), + context, + MaterialPageRoute( + builder: (context) => const DungeonLobby() + ) + ); + } catch (e) { + //handles any errors that might occur during navigation or data processing + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Failed to enter Dungeon Lobby: ${e.toString()}')) + ); + } + }, + child: const Text("Enter the Dungeon Lobby"), + ), ])), ); }