Hide debug-viewers throughout the app when debug-mode is not enabled

This commit is contained in:
Elias Müller 2023-06-07 19:39:11 +02:00
parent f8ac83a296
commit 7ec339af0c
8 changed files with 34 additions and 19 deletions

View File

@ -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<ChatBubble> {
// 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<ChatBubble> {
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),
],
);
});

View File

@ -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<ChatTile> {
).asDialog(context);
},
),
DebugTile(widget.data.toJson()).asTile(context),
],
));
},

View File

@ -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),
],
),
)

View File

@ -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);

View File

@ -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<String, dynamic> data;
DebugTile(this.data);
Widget asTile(BuildContext context, {bool ignoreConfig = false}) {
return Visibility(
visible: Provider.of<SettingsProvider>(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),
),
);
}
}