Add a filters page
This commit is contained in:
parent
ce29fd3791
commit
e968d61e8b
6 changed files with 173 additions and 11 deletions
144
lib/filters.dart
Normal file
144
lib/filters.dart
Normal file
|
@ -0,0 +1,144 @@
|
|||
import 'package:flutter/material.dart';
|
||||
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() {
|
||||
return _filterPage();
|
||||
}
|
||||
}
|
||||
|
||||
class _filterPage extends State<FilterPage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text("PokeDex - Filters"),
|
||||
backgroundColor:
|
||||
SessionData.darkMode
|
||||
? LibACFlutterConstants.TITLEBAR_COLOR
|
||||
: Colors.cyan,
|
||||
),
|
||||
body: Padding(
|
||||
padding: EdgeInsets.all(8),
|
||||
child: SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
"The PokeDex's filters will allow you to customize what Generations are shown in the app.\n\n** WARNING **\nThis will prevent evolutions from showing up if the Pokemon resides in a future generation.\n\nThe dex entries will also not show the evolution conditions, or catch conditions for disabled generations.",
|
||||
style: TextStyle(fontSize: 24),
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN1 == Filters.GEN1),
|
||||
title: Text("Generation 1"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN1;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN2 == Filters.GEN2),
|
||||
title: Text("Generation 2"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN2;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN3 == Filters.GEN3),
|
||||
title: Text("Generation 3"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN3;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN4 == Filters.GEN4),
|
||||
title: Text("Generation 4"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN4;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN5 == Filters.GEN5),
|
||||
title: Text("Generation 5"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN5;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN6 == Filters.GEN6),
|
||||
title: Text("Generation 6"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN6;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN7 == Filters.GEN7),
|
||||
title: Text("Generation 7"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN7;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN8 == Filters.GEN8),
|
||||
title: Text("Generation 8"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN8;
|
||||
});
|
||||
},
|
||||
),
|
||||
SwitchListTile(
|
||||
value: (SessionData.filter & Filters.GEN9 == Filters.GEN9),
|
||||
title: Text("Generation 9"),
|
||||
|
||||
onChanged: (val) {
|
||||
setState(() {
|
||||
SessionData.filter = SessionData.filter ^ Filters.GEN9;
|
||||
});
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue