From 7ec339af0c3daa54ece9c786ae2a5eb58511ad14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Wed, 7 Jun 2023 19:39:11 +0200 Subject: [PATCH] Hide debug-viewers throughout the app when debug-mode is not enabled --- lib/view/pages/talk/chatBubble.dart | 13 ++-------- lib/view/pages/talk/chatTile.dart | 2 ++ .../pages/timetable/appointmentDetails.dart | 8 ++---- lib/view/settings/settings.dart | 4 +-- .../settings => widget}/about/about.dart | 0 .../settings => widget}/debug/cacheView.dart | 0 lib/widget/debug/debugTile.dart | 26 +++++++++++++++++++ .../settings => widget}/debug/jsonViewer.dart | 0 8 files changed, 34 insertions(+), 19 deletions(-) rename lib/{view/settings => widget}/about/about.dart (100%) rename lib/{view/settings => widget}/debug/cacheView.dart (100%) create mode 100644 lib/widget/debug/debugTile.dart rename lib/{view/settings => widget}/debug/jsonViewer.dart (100%) diff --git a/lib/view/pages/talk/chatBubble.dart b/lib/view/pages/talk/chatBubble.dart index 7a118e1..a985858 100644 --- a/lib/view/pages/talk/chatBubble.dart +++ b/lib/view/pages/talk/chatBubble.dart @@ -8,7 +8,7 @@ import 'package:jiffy/jiffy.dart'; import '../../../api/marianumcloud/talk/chat/getChatResponse.dart'; import '../../../api/marianumcloud/talk/room/getRoomResponse.dart'; import '../../../theming/appTheme.dart'; -import '../../settings/debug/jsonViewer.dart'; +import '../../../widget/debug/debugTile.dart'; import '../files/fileElement.dart'; import 'chatMessage.dart'; @@ -30,11 +30,6 @@ class ChatBubble extends StatefulWidget { } class _ChatBubbleState extends State { - // late BubbleStyle styleSystem; - // late BubbleStyle Function(bool) styleRemote; - // late BubbleStyle Function(bool) styleSelf; - - BubbleStyle getSystemStyle() { return BubbleStyle( color: AppTheme.isDarkMode(context) ? const Color(0xff182229) : Colors.white, @@ -189,11 +184,7 @@ class _ChatBubbleState extends State { onTap: () => {}, ), ), - ListTile( - leading: const Icon(Icons.bug_report_outlined), - title: const Text("Debugdaten anzeigen"), - onTap: () => JsonViewer.asDialog(context, widget.bubbleData.toJson()), - ) + DebugTile(widget.bubbleData.toJson()).asTile(context), ], ); }); diff --git a/lib/view/pages/talk/chatTile.dart b/lib/view/pages/talk/chatTile.dart index ee63b9d..20a252e 100644 --- a/lib/view/pages/talk/chatTile.dart +++ b/lib/view/pages/talk/chatTile.dart @@ -10,6 +10,7 @@ import '../../../api/marianumcloud/talk/setFavorite/setFavorite.dart'; import '../../../api/marianumcloud/talk/setReadMarker/setReadMarker.dart'; import '../../../api/marianumcloud/talk/setReadMarker/setReadMarkerParams.dart'; import '../../../widget/confirmDialog.dart'; +import '../../../widget/debug/debugTile.dart'; import 'chatView.dart'; class ChatTile extends StatefulWidget { @@ -168,6 +169,7 @@ class _ChatTileState extends State { ).asDialog(context); }, ), + DebugTile(widget.data.toJson()).asTile(context), ], )); }, diff --git a/lib/view/pages/timetable/appointmentDetails.dart b/lib/view/pages/timetable/appointmentDetails.dart index a16ed88..e76a1f6 100644 --- a/lib/view/pages/timetable/appointmentDetails.dart +++ b/lib/view/pages/timetable/appointmentDetails.dart @@ -8,8 +8,8 @@ import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart'; import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart'; import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart'; import '../../../model/timetable/timetableProps.dart'; +import '../../../widget/debug/debugTile.dart'; import '../../../widget/unimplementedDialog.dart'; -import '../../settings/debug/jsonViewer.dart'; import '../more/roomplan/roomplan.dart'; class AppointmentDetails { @@ -76,11 +76,7 @@ class AppointmentDetails { leading: const Icon(Icons.people), title: Text("Klasse(n): ${timetableData.kl.map((e) => e['name']).join(", ")}"), ), - ListTile( - leading: const Icon(Icons.bug_report_outlined), - title: const Text("Webuntis Rohdaten zeigen"), - onTap: () => JsonViewer.asDialog(context, timetableData.toJson()), - ) + DebugTile(timetableData.toJson()).asTile(context), ], ), ) diff --git a/lib/view/settings/settings.dart b/lib/view/settings/settings.dart index a27fabc..f107ac1 100644 --- a/lib/view/settings/settings.dart +++ b/lib/view/settings/settings.dart @@ -9,8 +9,8 @@ import '../../model/accountModel.dart'; import '../../storage/base/settingsProvider.dart'; import '../../theming/appTheme.dart'; import '../../widget/confirmDialog.dart'; -import 'debug/cacheView.dart'; -import 'debug/jsonViewer.dart'; +import '../../widget/debug/cacheView.dart'; +import '../../widget/debug/jsonViewer.dart'; class Settings extends StatefulWidget { const Settings({Key? key}) : super(key: key); diff --git a/lib/view/settings/about/about.dart b/lib/widget/about/about.dart similarity index 100% rename from lib/view/settings/about/about.dart rename to lib/widget/about/about.dart diff --git a/lib/view/settings/debug/cacheView.dart b/lib/widget/debug/cacheView.dart similarity index 100% rename from lib/view/settings/debug/cacheView.dart rename to lib/widget/debug/cacheView.dart diff --git a/lib/widget/debug/debugTile.dart b/lib/widget/debug/debugTile.dart new file mode 100644 index 0000000..0327bc3 --- /dev/null +++ b/lib/widget/debug/debugTile.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +import '../../storage/base/settingsProvider.dart'; +import 'jsonViewer.dart'; + +class DebugTile { + Map data; + + DebugTile(this.data); + + Widget asTile(BuildContext context, {bool ignoreConfig = false}) { + return Visibility( + visible: Provider.of(context).val().devToolsEnabled || ignoreConfig, + child: ListTile( + leading: const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [Icon(Icons.data_object)], + ), + title: const Text("JSON daten anzeigen"), + subtitle: const Text("Entwicklermodus aktiviert"), + onTap: () => JsonViewer.asDialog(context, data), + ), + ); + } +} \ No newline at end of file diff --git a/lib/view/settings/debug/jsonViewer.dart b/lib/widget/debug/jsonViewer.dart similarity index 100% rename from lib/view/settings/debug/jsonViewer.dart rename to lib/widget/debug/jsonViewer.dart