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>
62 lines
1.6 KiB
Dart
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'),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|