summaryrefslogtreecommitdiff
path: root/lib/screens/dashboard_screen.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/screens/dashboard_screen.dart')
-rw-r--r--lib/screens/dashboard_screen.dart37
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'));
+ }
+ });
+ }
}