simplified code across the app and consolidated duplicated helpers

This commit is contained in:
2026-09-27 17:29:54 +02:00
parent 3e856d0b1c
commit ee1240f71a
155 changed files with 1772 additions and 2546 deletions
@@ -26,15 +26,10 @@ import '../widgets/endpoint_picker.dart';
import '../widgets/settings_checkbox_tile.dart';
import '../widgets/settings_dropdown_tile.dart';
class DevToolsSection extends StatefulWidget {
class DevToolsSection extends StatelessWidget {
final SettingsCubit settings;
const DevToolsSection({required this.settings, super.key});
@override
State<DevToolsSection> createState() => _DevToolsSectionState();
}
class _DevToolsSectionState extends State<DevToolsSection> {
@override
Widget build(BuildContext context) => Column(
children: [
@@ -54,11 +49,11 @@ class _DevToolsSectionState extends State<DevToolsSection> {
context,
children: (sheetCtx) => [
BlocBuilder<SettingsCubit, model.Settings>(
bloc: widget.settings,
bloc: settings,
builder: (_, _) {
final dev = widget.settings.val().devToolsSettings;
final dev = settings.val().devToolsSettings;
DevToolsSettings write() =>
widget.settings.val(write: true).devToolsSettings;
settings.val(write: true).devToolsSettings;
return Column(
mainAxisSize: MainAxisSize.min,
children: [
@@ -122,17 +117,17 @@ class _DevToolsSectionState extends State<DevToolsSection> {
title: const Text('Marianum-Connect-Server'),
subtitle: Text(
MarianumConnectEndpointPicker.labelFor(
widget.settings.val().devToolsSettings,
settings.val().devToolsSettings,
),
),
trailing: const Icon(Icons.arrow_right),
onTap: () =>
MarianumConnectEndpointPicker.show(context, widget.settings),
MarianumConnectEndpointPicker.show(context, settings),
),
BlocBuilder<SettingsCubit, model.Settings>(
bloc: widget.settings,
bloc: settings,
builder: (_, _) {
final override = widget.settings
final override = settings
.val()
.devToolsSettings
.emergencyNoticeUrl
@@ -143,7 +138,7 @@ class _DevToolsSectionState extends State<DevToolsSection> {
subtitle: Text(override.isEmpty ? 'Standardquelle' : override),
trailing: const Icon(Icons.arrow_right),
onTap: () =>
_EmergencyNoticeUrlEditor.show(context, widget.settings),
_EmergencyNoticeUrlEditor.show(context, settings),
);
},
),
@@ -152,18 +147,18 @@ class _DevToolsSectionState extends State<DevToolsSection> {
icon: Icons.settings_applications_outlined,
title: 'Einstellungen',
describe: () async => filesize(
utf8.encode(jsonEncode(widget.settings.val().toJson())).length,
utf8.encode(jsonEncode(settings.val().toJson())).length,
),
onOpen: (_) async => AppRoutes.openJsonViewer(
context,
widget.settings.val().toJson(),
settings.val().toJson(),
title: 'Einstellungen',
),
clearTitle: 'Einstellungen zurücksetzen',
clearContent:
'Alle Einstellungen gehen verloren! Accountdaten sowie App-Daten '
'sind nicht betroffen.',
onClear: widget.settings.reset,
onClear: settings.reset,
),
_StorageTile(
icon: Icons.account_tree_outlined,