diff options
Diffstat (limited to 'lib/screens/dashboard_screen.dart')
-rw-r--r-- | lib/screens/dashboard_screen.dart | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index 914749c..2e27aa2 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -1,11 +1,26 @@ import 'package:flutter/material.dart'; +import 'package:pmsna1/firebase/auth.dart'; import 'package:pmsna1/providers/theme_provider.dart'; import 'package:pmsna1/settings/themes.dart'; import 'package:pmsna1/widgets/post_list.dart'; import 'package:provider/provider.dart'; -class DashboardScreen extends StatelessWidget { +class DashboardScreen extends StatefulWidget { const DashboardScreen({super.key}); + + @override + State<DashboardScreen> createState() => _DashboardScreenState(); +} + +class _DashboardScreenState extends State<DashboardScreen> { + late Auth _auth; + + @override + void initState() { + super.initState(); + _auth = Auth(); + } + @override Widget build(BuildContext context) { final ThemeProvider themeProvider = context.watch<ThemeProvider>(); @@ -28,8 +43,10 @@ class DashboardScreen extends StatelessWidget { backgroundImage: NetworkImage('https://avalos.me/images/pro.jpg'), ), - accountName: const Text('Iván Ávalos'), - accountEmail: const Text('avalos@disroot.org'), + accountName: Text(_auth.currentUser?.displayName ?? "Lincite"), + accountEmail: _auth.currentUser?.email != null + ? Text(_auth.currentUser!.email!) + : null, ), ListTile( leading: const Icon(Icons.home), @@ -79,6 +96,12 @@ class DashboardScreen extends StatelessWidget { themeProvider.theme = newSelection.first; }), ), + ), + const Divider(), + ListTile( + title: const Text('Cerrar sesión'), + leading: const Icon(Icons.logout), + onTap: () => signOut(context), ) ], ), @@ -92,4 +115,12 @@ class DashboardScreen extends StatelessWidget { ), ); } + + void signOut(BuildContext context) { + _auth.signOut().then((success) { + if (success) { + Navigator.of(context).popUntil(ModalRoute.withName('/login')); + } + }); + } } |