medora-provider/lib/screens/patientScreens/patientDashboard/patient_dashboard_screen.dart
DhanshCOSQ b57523599c feature/medora-55 (#6)
Booking physical consultation ,  bugs fixed and Profile picture adding using firebase storage is complete.

Co-authored-by: Jipson George <152465898+Jipson-cosq@users.noreply.github.com>
Reviewed-on: cosqnet/telemednet#6
Co-authored-by: DhanshCOSQ <dhanshas@cosq.net>
Co-committed-by: DhanshCOSQ <dhanshas@cosq.net>
2024-11-05 08:22:13 +00:00

62 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:animations/animations.dart';
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'package:medora/screens/patientScreens/patientDashboard/patient_home_screen.dart';
import 'package:medora/screens/patientScreens/patientDashboard/patient_profile_screen.dart';
class PatientDashboardScreen extends StatefulWidget {
const PatientDashboardScreen({super.key});
@override
State<PatientDashboardScreen> createState() => _PatientDashboardScreenState();
}
class _PatientDashboardScreenState extends State<PatientDashboardScreen> {
int _selectedIndex = 0;
final GlobalKey<CurvedNavigationBarState> _bottomNavigationKey = GlobalKey();
// Add your pages here
final List<Widget> _pages = [
const PatientHomeScreen(),
const Center(child: Text('Chat')), // Replace with your chat screen
const Center(child: Text('Records')), // Replace with your records screen
const PatientProfileScreen(),
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageTransitionSwitcher(
duration: const Duration(milliseconds: 300),
transitionBuilder: (child, animation, secondaryAnimation) {
return FadeThroughTransition(
animation: animation,
secondaryAnimation: secondaryAnimation,
child: child,
);
},
child: _pages[_selectedIndex],
),
bottomNavigationBar: CurvedNavigationBar(
key: _bottomNavigationKey,
backgroundColor: Colors.transparent,
color: Colors.blue,
buttonBackgroundColor: Colors.blue,
height: 60,
index: _selectedIndex,
items: const [
Icon(Icons.home, size: 30, color: Colors.white),
Icon(Icons.chat_bubble, size: 30, color: Colors.white),
Icon(Icons.assignment, size: 30, color: Colors.white),
Icon(Icons.person, size: 30, color: Colors.white),
],
onTap: (index) {
setState(() {
_selectedIndex = index;
});
},
),
);
}
}