File tree Expand file tree Collapse file tree 4 files changed +36
-4
lines changed Expand file tree Collapse file tree 4 files changed +36
-4
lines changed Original file line number Diff line number Diff line change @@ -83,14 +83,14 @@ class AdaptiveNavigationScaffold extends StatelessWidget {
8383
8484 int getSelectedIndex (BuildContext context, List <AdaptiveNavigationItem > items) {
8585 final location = GoRouterState .of (context).uri.toString ();
86- return max (0 , items.indexWhere ((item) => location.startsWith (item.route)));
86+ return max (0 , items.indexWhere ((item) => location.endsWith (item.route)));
8787 }
8888
8989 void onItemTapped (int index, List <AdaptiveNavigationItem > items) {
9090 final item = items[index];
9191 final branchIndex = navigationShell.route.routes.indexWhere ((r) {
9292 if (r is GoRoute ) {
93- return r.path.startsWith (item.route);
93+ return r.path.endsWith (item.route);
9494 }
9595 return false ;
9696 });
Original file line number Diff line number Diff line change @@ -18,6 +18,22 @@ class GameActionPage extends StatefulWidget {
1818}
1919
2020class _GameActionPageState extends State <GameActionPage > {
21+ @override
22+ void initState () {
23+ super .initState ();
24+ player.addListener (refresh);
25+ }
26+
27+ @override
28+ void dispose () {
29+ player.removeListener (refresh);
30+ super .dispose ();
31+ }
32+
33+ void refresh () {
34+ setState (() {});
35+ }
36+
2137 @override
2238 Widget build (BuildContext context) {
2339 final actions = player.getAvailableActions ();
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ class _GameBackpackPageState extends State<GameBackpackPage> {
4242 @override
4343 void initState () {
4444 super .initState ();
45- player.addListener (updateDefaultSelection );
45+ player.addListener (refresh );
4646 if (lastSelectedIndex >= 0 ) {
4747 selected = player.backpack[lastSelectedIndex];
4848 }
@@ -51,10 +51,15 @@ class _GameBackpackPageState extends State<GameBackpackPage> {
5151
5252 @override
5353 void dispose () {
54- player.removeListener (updateDefaultSelection );
54+ player.removeListener (refresh );
5555 super .dispose ();
5656 }
5757
58+ void refresh () {
59+ updateDefaultSelection ();
60+ setState (() {});
61+ }
62+
5863 void updateDefaultSelection () {
5964 if (selected.isEmpty && player.backpack.isNotEmpty) {
6065 selected = player.backpack.firstOrEmpty;
Original file line number Diff line number Diff line change @@ -34,6 +34,17 @@ class _GameCraftPageState extends State<GameCraftPage> {
3434 super .initState ();
3535 cat2Recipes = Contents .craftRecipes.cat2Recipes.entries.toList ();
3636 selectedCatIndex = lastSelectedIndex.clamp (0 , cat2Recipes.length - 1 );
37+ player.addListener (refresh);
38+ setState (() {});
39+ }
40+
41+ @override
42+ void dispose () {
43+ player.removeListener (refresh);
44+ super .dispose ();
45+ }
46+
47+ void refresh () {
3748 setState (() {});
3849 }
3950
You can’t perform that action at this time.
0 commit comments