medora-provider/lib/screens/authentication/user_profile_screen.dart
DhanshCOSQ ec433190c4 UI complete (#2)
UI complete for patient registration

Co-authored-by: Benoy Bose <benoybose@gmail.com>
Reviewed-on: cosqnet/telemednet#2
Reviewed-by: Benoy Bose <benoybose@cosq.net>
Co-authored-by: DhanshCOSQ <dhanshas@cosq.net>
Co-committed-by: DhanshCOSQ <dhanshas@cosq.net>
2024-10-31 06:04:36 +00:00

62 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:telemednet/data/models/telemed_user.dart';
import 'package:telemednet/route_names.dart';
import 'package:telemednet/shared/user_selection.dart';
class UserProfileScreen extends StatefulWidget {
final TelemedUser? user;
const UserProfileScreen({super.key, required this.user});
@override
State<UserProfileScreen> createState() => _UserProfileScreenState();
}
class _UserProfileScreenState extends State<UserProfileScreen> {
TelemedUser? user;
final FirebaseAuth _auth = FirebaseAuth.instance;
@override
void initState() {
super.initState();
user = widget.user;
}
Future<void> _signOut() async {
try {
await _auth.signOut();
// Navigate to login screen or home screen after logout
Navigator.of(context).pushReplacementNamed(RouteNames.launch);
} catch (e) {
print("Error signing out: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Failed to log out. Please try again.')),
);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('User Profile'),
actions: [
IconButton(
icon: Icon(Icons.exit_to_app),
onPressed: _signOut,
),
],
),
body: Column(
children: [
Expanded(child: UserSelection()),
ElevatedButton(
onPressed: _signOut,
child: Text('Log Out'),
),
],
),
);
}
}