feat: 實作登出

點擊登出按鈕後刪除share preference 資料及跳轉回登入畫面
This commit is contained in:
JingChiang
2024-09-03 00:04:53 +08:00
parent b0ef478e99
commit a07d69f1ab

View File

@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:topic/BottomNavBar.dart';
import 'package:topic/main.dart';
import 'package:topic/HomePage.dart';
@@ -109,6 +111,19 @@ class _PersonalInfoState extends State<PersonalInfo> {
}
}
void _loginOut() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
// remove all data in share preference(user data which save to identify user or others)
prefs.clear();
// navbar router setting
// replace screen with LoginPage and without navbar
pushReplacementWithoutNavBar(
context,
MaterialPageRoute(
builder: (context) => LoginPage(),
));
}
//頁面
@override
Widget build(BuildContext context) {
@@ -208,7 +223,9 @@ class _PersonalInfoState extends State<PersonalInfo> {
width: 60,
),
ElevatedButton(
onPressed: () {},
onPressed: () {
_loginOut();
},
child: Text('登出'),
style: TextButton.styleFrom(
backgroundColor: Color(0xFFF5E3C3),