Add a handler for the filters on evolutions.

This commit is contained in:
zontreck 2025-03-23 22:36:44 -07:00
parent 3f4462435b
commit 670c23d264
6 changed files with 94 additions and 52 deletions

View file

@ -3,21 +3,6 @@ import 'package:flutter/widgets.dart';
import 'package:libacflutter/Constants.dart';
import 'package:pokedex/Session.dart';
class Filters {
static final int GEN1 = 1;
static final int GEN2 = 2;
static final int GEN3 = 4;
static final int GEN4 = 8;
static final int GEN5 = 16;
static final int GEN6 = 32;
static final int GEN7 = 64;
static final int GEN8 = 128;
static final int GEN9 = 255;
static final int All =
GEN1 | GEN2 | GEN3 | GEN4 | GEN5 | GEN6 | GEN7 | GEN8 | GEN9;
}
class FilterPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
@ -46,92 +31,101 @@ class _filterPage extends State<FilterPage> {
style: TextStyle(fontSize: 24),
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN1 == Filters.GEN1),
value: (SessionData.highest >= 1),
title: Text("Generation 1"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN1;
SessionData.highest = 1;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN2 == Filters.GEN2),
value: (SessionData.highest >= 2),
title: Text("Generation 2"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN2;
SessionData.highest = 2;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN3 == Filters.GEN3),
value: (SessionData.highest >= 3),
title: Text("Generation 3"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN3;
SessionData.highest = 3;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN4 == Filters.GEN4),
value: (SessionData.highest >= 4),
title: Text("Generation 4"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN4;
SessionData.highest = 4;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN5 == Filters.GEN5),
value: (SessionData.highest >= 5),
title: Text("Generation 5"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN5;
SessionData.highest = 5;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN6 == Filters.GEN6),
value: (SessionData.highest >= 6),
title: Text("Generation 6"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN6;
SessionData.highest = 6;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN7 == Filters.GEN7),
value: (SessionData.highest >= 7),
title: Text("Generation 7"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN7;
SessionData.highest = 7;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN8 == Filters.GEN8),
value: (SessionData.highest >= 8),
title: Text("Generation 8"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN8;
SessionData.highest = 8;
SessionData.resetHighestGenCache();
});
},
),
SwitchListTile(
value: (SessionData.filter & Filters.GEN9 == Filters.GEN9),
value: (SessionData.highest >= 9),
title: Text("Generation 9"),
onChanged: (val) {
setState(() {
SessionData.filter = SessionData.filter ^ Filters.GEN9;
SessionData.highest = 9;
SessionData.resetHighestGenCache();
});
},
),