Add log out button
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:sheetless/login_page.dart';
|
||||
import 'package:sheetless/sheet_viewer_page.dart';
|
||||
import 'package:sheetless/storage_helper.dart';
|
||||
|
||||
@@ -60,10 +61,30 @@ class _MyHomePageState extends State<MyHomePage> {
|
||||
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
|
||||
Widget build(BuildContext context) {
|
||||
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(
|
||||
future: acquireSheets(),
|
||||
builder: (BuildContext context, AsyncSnapshot<List<Sheet>> snapshot) {
|
||||
|
||||
Reference in New Issue
Block a user