Skip to content

Commit 3a5e527

Browse files
committed
v6.33.0
1 parent d3d8943 commit 3a5e527

File tree

5 files changed

+33
-7
lines changed

5 files changed

+33
-7
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## [6.33.0] - 2025-07-14
2+
3+
* Added `lifecycleActions` to `NyPage`. This will allow you to handle lifecycle events in your pages.
4+
* Update pubspec.yaml
5+
16
## [6.32.0] - 2025-07-02
27

38
* Added `excludeKeys` to `NyStorage.deleteAll`. This will allow you to exclude certain keys from being deleted when calling `deleteAll`.

example/pubspec.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -592,10 +592,10 @@ packages:
592592
dependency: transitive
593593
description:
594594
name: skeletonizer
595-
sha256: a9ddf63900947f4c0648372b6e9987bc2b028db9db843376db6767224d166c31
595+
sha256: eebc03dc86b298e2d7f61e0ebce5713e9dbbc3e786f825909b4591756f196eb6
596596
url: "https://pub.dev"
597597
source: hosted
598-
version: "2.0.1"
598+
version: "2.1.0+1"
599599
sky_engine:
600600
dependency: transitive
601601
description: flutter

lib/widgets/ny_page.dart

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import 'package:flutter/material.dart';
1010
import '/widgets/ny_stateful_widget.dart';
1111
import 'event_bus/update_state.dart';
1212

13-
abstract class NyPage<T extends StatefulWidget> extends NyBaseState<T> {
13+
abstract class NyPage<T extends StatefulWidget> extends NyBaseState<T>
14+
with WidgetsBindingObserver {
1415
/// Base NyPage
1516
NyPage({super.path});
1617

@@ -27,9 +28,13 @@ abstract class NyPage<T extends StatefulWidget> extends NyBaseState<T> {
2728
/// enable or disable if the [NyPage] should be state managed
2829
bool get stateManaged => false;
2930

31+
/// Map of lifecycle actions
32+
Map<AppLifecycleState, Function()> get lifecycleActions => {};
33+
3034
@override
3135
void initState() {
3236
super.initState();
37+
WidgetsBinding.instance.addObserver(this);
3338

3439
if (stateManaged) {
3540
/// Set the state name if the widget is a NyStatefulWidget
@@ -172,4 +177,20 @@ abstract class NyPage<T extends StatefulWidget> extends NyBaseState<T> {
172177
await Function.apply(function, []);
173178
}
174179
}
180+
181+
@override
182+
void dispose() {
183+
WidgetsBinding.instance.removeObserver(this);
184+
super.dispose();
185+
}
186+
187+
@override
188+
void didChangeAppLifecycleState(AppLifecycleState state) {
189+
if (lifecycleActions.isEmpty) {
190+
return;
191+
}
192+
if (lifecycleActions.containsKey(state)) {
193+
lifecycleActions[state]!();
194+
}
195+
}
175196
}

pubspec.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -601,10 +601,10 @@ packages:
601601
dependency: "direct main"
602602
description:
603603
name: skeletonizer
604-
sha256: a9ddf63900947f4c0648372b6e9987bc2b028db9db843376db6767224d166c31
604+
sha256: eebc03dc86b298e2d7f61e0ebce5713e9dbbc3e786f825909b4591756f196eb6
605605
url: "https://pub.dev"
606606
source: hosted
607-
version: "2.0.1"
607+
version: "2.1.0+1"
608608
sky_engine:
609609
dependency: transitive
610610
description: flutter

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: nylo_support
22
description: Support library for the Nylo framework. This library supports routing, widgets, localization, cli, storage and more.
3-
version: 6.32.0
3+
version: 6.33.0
44
homepage: https://nylo.dev
55
repository: https://github.com/nylo-core/support/tree/6.x
66
issue_tracker: https://github.com/nylo-core/support/issues
@@ -31,7 +31,7 @@ dependencies:
3131
rxdart: ^0.28.0
3232
pretty_dio_logger: ^1.4.0
3333
intl: ^0.20.2
34-
skeletonizer: ^2.0.1
34+
skeletonizer: ^2.1.0+1
3535
error_stack: ^1.10.3
3636
date_field: ^6.0.3+1
3737
flutter_multi_formatter: ^2.13.7

0 commit comments

Comments
 (0)