File tree 2 files changed +24
-2
lines changed
2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
3
3
import 'package:hooks_riverpod/hooks_riverpod.dart' ;
4
4
import 'package:apidash/consts.dart' ;
5
5
import 'package:apidash/providers/providers.dart' ;
6
- import '../../common /utils.dart' ;
6
+ import 'package:apidash/utils /utils.dart' ;
7
7
8
8
class SaveButton extends ConsumerWidget {
9
9
const SaveButton ({super .key});
@@ -16,7 +16,14 @@ class SaveButton extends ConsumerWidget {
16
16
onPressed: (savingData || ! hasUnsavedChanges)
17
17
? null
18
18
: () async {
19
- await saveData (context, ref);
19
+ await saveAndShowDialog (context, onSave: () async {
20
+ await ref
21
+ .read (collectionStateNotifierProvider.notifier)
22
+ .saveData ();
23
+ await ref
24
+ .read (environmentsStateNotifierProvider.notifier)
25
+ .saveEnvironments ();
26
+ });
20
27
},
21
28
icon: const Icon (
22
29
Icons .save,
Original file line number Diff line number Diff line change 1
1
import 'package:apidash_design_system/apidash_design_system.dart' ;
2
+ import 'package:flutter/foundation.dart' ;
2
3
import 'package:flutter/material.dart' ;
3
4
import 'package:flutter/services.dart' ;
4
5
import 'package:apidash/utils/utils.dart' ;
6
+ import 'package:apidash/widgets/widgets.dart' ;
5
7
6
8
Future <void > saveCollection (
7
9
Map <String , dynamic > data,
@@ -49,3 +51,16 @@ Future<void> saveToDownloads(
49
51
sm.hideCurrentSnackBar ();
50
52
sm.showSnackBar (getSnackBar (message, small: false ));
51
53
}
54
+
55
+ Future <void > saveAndShowDialog (
56
+ BuildContext context, {
57
+ AsyncCallback ? onSave,
58
+ }) async {
59
+ final overlayWidget = OverlayWidgetTemplate (context: context);
60
+ overlayWidget.show (widget: const SavingOverlay (saveCompleted: false ));
61
+ await onSave? .call ();
62
+ overlayWidget.hide ();
63
+ overlayWidget.show (widget: const SavingOverlay (saveCompleted: true ));
64
+ await Future .delayed (const Duration (seconds: 1 ));
65
+ overlayWidget.hide ();
66
+ }
You can’t perform that action at this time.
0 commit comments