From ba5bde24e11d253522d160564458b4cb7a1b5fd9 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 20 Mar 2025 09:33:10 -0500 Subject: [PATCH] fix --- .../lib/screens/edit_settings_screen.dart | 4 ++-- web/repertory/lib/widgets/ui_settings.dart | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/web/repertory/lib/screens/edit_settings_screen.dart b/web/repertory/lib/screens/edit_settings_screen.dart index d6db0830..658294fc 100644 --- a/web/repertory/lib/screens/edit_settings_screen.dart +++ b/web/repertory/lib/screens/edit_settings_screen.dart @@ -1,4 +1,4 @@ -import 'dart:convert' show jsonDecode; +import 'dart:convert' show jsonDecode, jsonEncode; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; @@ -28,6 +28,7 @@ class _EditSettingsScreenState extends State { } return UISettingsWidget( + origSettings: jsonDecode(jsonEncode(snapshot.requireData)), settings: snapshot.requireData, showAdvanced: false, ); @@ -56,7 +57,6 @@ class _EditSettingsScreenState extends State { return {}; } - // UISettingsWidget(settings: {}, showAdvanced: false), @override void setState(VoidCallback fn) { if (!mounted) { diff --git a/web/repertory/lib/widgets/ui_settings.dart b/web/repertory/lib/widgets/ui_settings.dart index 25bec67b..320d495d 100644 --- a/web/repertory/lib/widgets/ui_settings.dart +++ b/web/repertory/lib/widgets/ui_settings.dart @@ -16,8 +16,10 @@ import 'package:settings_ui/settings_ui.dart'; class UISettingsWidget extends StatefulWidget { final bool showAdvanced; final Map settings; + final Map origSettings; const UISettingsWidget({ super.key, + required this.origSettings, required this.settings, required this.showAdvanced, }); @@ -27,8 +29,6 @@ class UISettingsWidget extends StatefulWidget { } class _UISettingsWidgetState extends State { - late Map _origSettings; - @override Widget build(BuildContext context) { List commonSettings = []; @@ -100,7 +100,12 @@ class _UISettingsWidgetState extends State { @override void dispose() { - if (!DeepCollectionEquality().equals(widget.settings, _origSettings)) { + debugPrint('current: ${jsonEncode(widget.settings)}'); + debugPrint('orig: ${jsonEncode(widget.origSettings)}'); + if (!DeepCollectionEquality().equals( + widget.settings, + widget.origSettings, + )) { http .put( Uri.parse( @@ -118,12 +123,6 @@ class _UISettingsWidgetState extends State { super.dispose(); } - @override - void initState() { - _origSettings = jsonDecode(jsonEncode(widget.settings)); - super.initState(); - } - @override void setState(VoidCallback fn) { if (!mounted) {