Add log out button
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
import 'package:sheetless/login_page.dart';
|
||||||
import 'package:sheetless/sheet_viewer_page.dart';
|
import 'package:sheetless/sheet_viewer_page.dart';
|
||||||
import 'package:sheetless/storage_helper.dart';
|
import 'package:sheetless/storage_helper.dart';
|
||||||
|
|
||||||
@@ -60,10 +61,30 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
return sheets;
|
return sheets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _logOut() async {
|
||||||
|
// Delete saved jwt
|
||||||
|
await _storageHelper.writeSecure(SecureStorageKey.jwt, null);
|
||||||
|
|
||||||
|
if (!mounted) return; // Widget already removed
|
||||||
|
|
||||||
|
Navigator.of(
|
||||||
|
context,
|
||||||
|
).pushReplacement(MaterialPageRoute(builder: (_) => LoginPage()));
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(title: const Text("My Sheets")),
|
appBar: AppBar(
|
||||||
|
title: const Text("Sheetless"),
|
||||||
|
actions: [
|
||||||
|
IconButton(
|
||||||
|
icon: const Icon(Icons.logout),
|
||||||
|
tooltip: 'Logout',
|
||||||
|
onPressed: _logOut,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
body: FutureBuilder(
|
body: FutureBuilder(
|
||||||
future: acquireSheets(),
|
future: acquireSheets(),
|
||||||
builder: (BuildContext context, AsyncSnapshot<List<Sheet>> snapshot) {
|
builder: (BuildContext context, AsyncSnapshot<List<Sheet>> snapshot) {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class StorageHelper {
|
|||||||
return secureStorage.read(key: key.name);
|
return secureStorage.read(key: key.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> writeSecure(SecureStorageKey key, String value) {
|
Future<void> writeSecure(SecureStorageKey key, String? value) {
|
||||||
return secureStorage.write(key: key.name, value: value);
|
return secureStorage.write(key: key.name, value: value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user