Hide debug-viewers throughout the app when debug-mode is not enabled
This commit is contained in:
parent
f8ac83a296
commit
7ec339af0c
@ -8,7 +8,7 @@ import 'package:jiffy/jiffy.dart';
|
|||||||
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
|
import '../../../api/marianumcloud/talk/chat/getChatResponse.dart';
|
||||||
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
|
import '../../../api/marianumcloud/talk/room/getRoomResponse.dart';
|
||||||
import '../../../theming/appTheme.dart';
|
import '../../../theming/appTheme.dart';
|
||||||
import '../../settings/debug/jsonViewer.dart';
|
import '../../../widget/debug/debugTile.dart';
|
||||||
import '../files/fileElement.dart';
|
import '../files/fileElement.dart';
|
||||||
import 'chatMessage.dart';
|
import 'chatMessage.dart';
|
||||||
|
|
||||||
@ -30,11 +30,6 @@ class ChatBubble extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _ChatBubbleState extends State<ChatBubble> {
|
class _ChatBubbleState extends State<ChatBubble> {
|
||||||
// late BubbleStyle styleSystem;
|
|
||||||
// late BubbleStyle Function(bool) styleRemote;
|
|
||||||
// late BubbleStyle Function(bool) styleSelf;
|
|
||||||
|
|
||||||
|
|
||||||
BubbleStyle getSystemStyle() {
|
BubbleStyle getSystemStyle() {
|
||||||
return BubbleStyle(
|
return BubbleStyle(
|
||||||
color: AppTheme.isDarkMode(context) ? const Color(0xff182229) : Colors.white,
|
color: AppTheme.isDarkMode(context) ? const Color(0xff182229) : Colors.white,
|
||||||
@ -189,11 +184,7 @@ class _ChatBubbleState extends State<ChatBubble> {
|
|||||||
onTap: () => {},
|
onTap: () => {},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
ListTile(
|
DebugTile(widget.bubbleData.toJson()).asTile(context),
|
||||||
leading: const Icon(Icons.bug_report_outlined),
|
|
||||||
title: const Text("Debugdaten anzeigen"),
|
|
||||||
onTap: () => JsonViewer.asDialog(context, widget.bubbleData.toJson()),
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -10,6 +10,7 @@ import '../../../api/marianumcloud/talk/setFavorite/setFavorite.dart';
|
|||||||
import '../../../api/marianumcloud/talk/setReadMarker/setReadMarker.dart';
|
import '../../../api/marianumcloud/talk/setReadMarker/setReadMarker.dart';
|
||||||
import '../../../api/marianumcloud/talk/setReadMarker/setReadMarkerParams.dart';
|
import '../../../api/marianumcloud/talk/setReadMarker/setReadMarkerParams.dart';
|
||||||
import '../../../widget/confirmDialog.dart';
|
import '../../../widget/confirmDialog.dart';
|
||||||
|
import '../../../widget/debug/debugTile.dart';
|
||||||
import 'chatView.dart';
|
import 'chatView.dart';
|
||||||
|
|
||||||
class ChatTile extends StatefulWidget {
|
class ChatTile extends StatefulWidget {
|
||||||
@ -168,6 +169,7 @@ class _ChatTileState extends State<ChatTile> {
|
|||||||
).asDialog(context);
|
).asDialog(context);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
DebugTile(widget.data.toJson()).asTile(context),
|
||||||
],
|
],
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
|
@ -8,8 +8,8 @@ import '../../../api/webuntis/queries/getRooms/getRoomsResponse.dart';
|
|||||||
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
|
import '../../../api/webuntis/queries/getSubjects/getSubjectsResponse.dart';
|
||||||
import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
|
import '../../../api/webuntis/queries/getTimetable/getTimetableResponse.dart';
|
||||||
import '../../../model/timetable/timetableProps.dart';
|
import '../../../model/timetable/timetableProps.dart';
|
||||||
|
import '../../../widget/debug/debugTile.dart';
|
||||||
import '../../../widget/unimplementedDialog.dart';
|
import '../../../widget/unimplementedDialog.dart';
|
||||||
import '../../settings/debug/jsonViewer.dart';
|
|
||||||
import '../more/roomplan/roomplan.dart';
|
import '../more/roomplan/roomplan.dart';
|
||||||
|
|
||||||
class AppointmentDetails {
|
class AppointmentDetails {
|
||||||
@ -76,11 +76,7 @@ class AppointmentDetails {
|
|||||||
leading: const Icon(Icons.people),
|
leading: const Icon(Icons.people),
|
||||||
title: Text("Klasse(n): ${timetableData.kl.map((e) => e['name']).join(", ")}"),
|
title: Text("Klasse(n): ${timetableData.kl.map((e) => e['name']).join(", ")}"),
|
||||||
),
|
),
|
||||||
ListTile(
|
DebugTile(timetableData.toJson()).asTile(context),
|
||||||
leading: const Icon(Icons.bug_report_outlined),
|
|
||||||
title: const Text("Webuntis Rohdaten zeigen"),
|
|
||||||
onTap: () => JsonViewer.asDialog(context, timetableData.toJson()),
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -9,8 +9,8 @@ import '../../model/accountModel.dart';
|
|||||||
import '../../storage/base/settingsProvider.dart';
|
import '../../storage/base/settingsProvider.dart';
|
||||||
import '../../theming/appTheme.dart';
|
import '../../theming/appTheme.dart';
|
||||||
import '../../widget/confirmDialog.dart';
|
import '../../widget/confirmDialog.dart';
|
||||||
import 'debug/cacheView.dart';
|
import '../../widget/debug/cacheView.dart';
|
||||||
import 'debug/jsonViewer.dart';
|
import '../../widget/debug/jsonViewer.dart';
|
||||||
|
|
||||||
class Settings extends StatefulWidget {
|
class Settings extends StatefulWidget {
|
||||||
const Settings({Key? key}) : super(key: key);
|
const Settings({Key? key}) : super(key: key);
|
||||||
|
26
lib/widget/debug/debugTile.dart
Normal file
26
lib/widget/debug/debugTile.dart
Normal 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),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user