diff --git a/lib/main.dart b/lib/main.dart index 845f6818..f3c78442 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,8 @@ -import './screens/auth/login_screen.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; +import './routes.dart'; + void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @@ -15,7 +16,8 @@ class MyApp extends StatelessWidget { primaryColor: Hexcolor('#B8382C'), buttonColor: Hexcolor('#B8382C'), fontFamily: 'WorkSans'), - home: Loginsreen(), + initialRoute: INIT_ROUTE, + routes: routes, ); } } diff --git a/lib/routes.dart b/lib/routes.dart index e69de29b..36d1791e 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -0,0 +1,15 @@ +import './screens/my_schedule_screen.dart'; + +import './screens/auth/login_screen.dart'; +import './screens/home_screen.dart'; + +const String INIT_ROUTE = 'login'; +const String HOME = '/'; +const String MY_SCHEDULE = 'my-schedule'; + + +var routes = { + HOME:(_)=>HomeScreen(), + INIT_ROUTE:(_)=>Loginsreen(), + MY_SCHEDULE:(_)=>MyScheduleScreen() +}; diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart new file mode 100644 index 00000000..c79f9ec9 --- /dev/null +++ b/lib/screens/home_screen.dart @@ -0,0 +1,11 @@ +import 'package:doctor_app_flutter/widgets/shared/app.drawer.dart'; +import 'package:flutter/material.dart'; +class HomeScreen extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar(title: Text('Home'),), + drawer: AppDrawer(), + ); + } +} \ No newline at end of file diff --git a/lib/screens/my_schedule_screen.dart b/lib/screens/my_schedule_screen.dart new file mode 100644 index 00000000..c7775c10 --- /dev/null +++ b/lib/screens/my_schedule_screen.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +class MyScheduleScreen extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar(title: Text("My Schedule"),), + ); + } +} \ No newline at end of file diff --git a/lib/widgets/auth/login_form.dart b/lib/widgets/auth/login_form.dart index 86992350..7569a929 100644 --- a/lib/widgets/auth/login_form.dart +++ b/lib/widgets/auth/login_form.dart @@ -1,3 +1,4 @@ +import '../../routes.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:hexcolor/hexcolor.dart'; @@ -116,7 +117,9 @@ class LoginForm extends StatelessWidget { ), ), RaisedButton( - onPressed: () {}, + onPressed: () { + Navigator.of(context).pushNamed(HOME); + }, textColor: Colors.white, elevation: 0.0, padding: const EdgeInsets.all(0.0), diff --git a/lib/widgets/shared/app.drawer.dart b/lib/widgets/shared/app.drawer.dart new file mode 100644 index 00000000..ad84d34c --- /dev/null +++ b/lib/widgets/shared/app.drawer.dart @@ -0,0 +1,47 @@ +import 'package:doctor_app_flutter/routes.dart'; +import 'package:flutter/material.dart'; + +class AppDrawer extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Drawer( + child: Column( + children: [ + AppBar( + title: Text('Hi form Elham!!'), + ), + Divider(), + ListTile( + title: Text('My Schedule'), + leading: Icon(Icons.tab), + onTap: () { + drawerNavigator(context, MY_SCHEDULE); + }, + ), + Divider(), + ListTile( + title: Text('Settings'), + leading: Icon(Icons.settings), + ), + Divider(), + ListTile( + title: Text('QR Reader'), + leading: Icon(Icons.photo), + ), + Divider(), + ListTile( + title: Text('Log Out'), + leading: Icon(Icons.exit_to_app), + onTap: () { + + }, + ) + ], + ), + ); + } + + drawerNavigator(context, routeName) { + Navigator.of(context).pushNamed(routeName); + } +} diff --git a/lib/widgets/widgets.init b/lib/widgets/widgets.init deleted file mode 100644 index e69de29b..00000000