You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
doctor_app_flutter/lib/widgets/shared/app_drawer_widget.dart

86 lines
2.9 KiB
Dart

import 'package:doctor_app_flutter/routes.dart';
import 'package:doctor_app_flutter/screens/profile_screen.dart';
import 'package:flutter/material.dart';
import '../../config/size_config.dart';
import '../../widgets/shared/drawer_item_widget.dart';
import '../../widgets/shared/rounded_container_widget.dart';
import 'app_texts_widget.dart';
// OWNER : Ibrahim albitar
// DATE : 06-04-2020
// DESCRIPTION : Custom App Drawer for app.
class AppDrawer extends StatefulWidget {
@override
_AppDrawerState createState() => _AppDrawerState();
}
class _AppDrawerState extends State<AppDrawer> {
@override
Widget build(BuildContext context) {
return RoundedContainer(
child: Container(
margin: EdgeInsets.only(top: SizeConfig.heightMultiplier * 9),
child: Drawer(
child: ListView(padding: EdgeInsets.zero, children: <Widget>[
Container(
height: SizeConfig.heightMultiplier * 30,
child: InkWell(
child: DrawerHeader(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
CircleAvatar(
radius: SizeConfig.imageSizeMultiplier * 12,
backgroundImage: NetworkImage(
"https://p.kindpng.com/picc/s/404-4042774_profile-photo-circle-circle-profile-picture-png-transparent.png"),
backgroundColor: Colors.transparent,
),
Padding(
padding: EdgeInsets.only(top: 10),
child: AppText(
"Dr. Chris evans",
fontWeight: FontWeight.bold,
color: Colors.white,
fontSize: SizeConfig.textMultiplier * 3,
)),
AppText("Director of medical records",
fontWeight: FontWeight.normal, color: Colors.white)
],
),
),
onTap: () {
Navigator.of(context).pushNamed(PROFILE);
}, ),
),
InkWell(
child: DrawerItem("My Schedule", Icons.table_chart),
onTap: () {
Navigator.of(context).pushNamed(MY_SCHEDULE);
},
),
InkWell(child: DrawerItem("Settings", Icons.settings), onTap: (){
Navigator.of(context).pushNamed(SETTINGS);
},),
InkWell(child: DrawerItem("QR Reader", Icons.search),onTap:(){
Navigator.of(context).pushNamed(QR_READER);
} ,),
])),
),
width: SizeConfig.realScreenWidth * 0.55,
margin: 0,
customCornerRaduis: true,
topRight: 30,
bottomRight: 30,
backgroundColor: Color(0xff58434F),
);
}
drawerNavigator(context, routeName) {
Navigator.of(context).pushNamed(routeName);
}
}