ft/adds persistence
TODO: Logout function
This commit is contained in:
parent
dc3a28ba5f
commit
0c0b0b4594
@ -91,6 +91,11 @@ class Session {
|
|||||||
print('INSERT RESULT: $result');
|
print('INSERT RESULT: $result');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> removeSession(String sessionId) async {
|
||||||
|
final db = _database;
|
||||||
|
await db.delete('sessions', where: 'sessionId = ?', whereArgs: [sessionId]);
|
||||||
|
}
|
||||||
|
|
||||||
Future<List<Session>> getSessions() async {
|
Future<List<Session>> getSessions() async {
|
||||||
final db = await database;
|
final db = await database;
|
||||||
|
|
||||||
|
@ -21,7 +21,10 @@ class _StartPageState extends State<StartPage> {
|
|||||||
final List<BottomNavigationBarItem> bottombarButtons = [];
|
final List<BottomNavigationBarItem> bottombarButtons = [];
|
||||||
|
|
||||||
void _init() async {
|
void _init() async {
|
||||||
widget.client ??= await GClient.client;
|
final c = await GClient.client;
|
||||||
|
setState(() {
|
||||||
|
widget.client = c;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -37,7 +40,14 @@ class _StartPageState extends State<StartPage> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
),
|
),
|
||||||
drawer: const SideDrawer(),
|
drawer: SideDrawer(
|
||||||
|
onLogout: () {
|
||||||
|
setState(() {
|
||||||
|
widget.client?.session
|
||||||
|
.removeSession(widget.client!.session.sessionId!);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
bottomNavigationBar: BottomBar(widget: widget),
|
bottomNavigationBar: BottomBar(widget: widget),
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
@ -121,10 +131,13 @@ class _StartPageState extends State<StartPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class SideDrawer extends StatelessWidget {
|
class SideDrawer extends StatelessWidget {
|
||||||
const SideDrawer({
|
SideDrawer({
|
||||||
super.key,
|
super.key,
|
||||||
|
required this.onLogout,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Function() onLogout;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Drawer(
|
return Drawer(
|
||||||
@ -189,6 +202,24 @@ class SideDrawer extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
onLogout();
|
||||||
|
},
|
||||||
|
child: const Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Log out',
|
||||||
|
style: TextStyle(fontSize: 20),
|
||||||
|
),
|
||||||
|
Spacer(),
|
||||||
|
Icon(
|
||||||
|
Icons.logout,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 250,
|
height: 250,
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user