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.
93 lines
2.9 KiB
Dart
93 lines
2.9 KiB
Dart
import 'package:doctor_app_flutter/screens/QR_reader_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/dashboard_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/doctor/doctor_reply_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/doctor/message_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/doctor/my_schedule_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/doctor/services_screen.dart';
|
|
import 'package:doctor_app_flutter/screens/prescription/prescription_screen.dart';
|
|
import 'package:doctor_app_flutter/widgets/shared/app_drawer_widget.dart';
|
|
import 'package:doctor_app_flutter/widgets/shared/bottom_nav_bar.dart';
|
|
import 'package:doctor_app_flutter/widgets/shared/user-guid/app_showcase_widget.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:hexcolor/hexcolor.dart';
|
|
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
|
|
|
import 'icons_app/doctor_app_icons.dart';
|
|
|
|
class LandingPage extends StatefulWidget {
|
|
@override
|
|
_LandingPageState createState() => _LandingPageState();
|
|
}
|
|
|
|
class _LandingPageState extends State<LandingPage> {
|
|
int currentTab = 0;
|
|
PageController pageController;
|
|
|
|
_changeCurrentTab(int tab) {
|
|
setState(() {
|
|
currentTab = tab;
|
|
pageController.jumpToPage(tab);
|
|
});
|
|
}
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
pageController = new PageController(keepPage: true);
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
elevation: 0,
|
|
backgroundColor: Colors.grey[100],
|
|
//textTheme: TextTheme(headline6: TextStyle(color: Colors.white)),
|
|
title: currentTab != 0
|
|
? Text(getText(currentTab).toUpperCase())
|
|
: Text(''),
|
|
leading: Builder(
|
|
builder: (BuildContext context) {
|
|
return IconButton(
|
|
icon: Icon(DoctorApp.drawer_icon),
|
|
iconSize: 15,
|
|
color: Colors.black,
|
|
onPressed: () => Scaffold.of(context).openDrawer(),
|
|
);
|
|
},
|
|
),
|
|
centerTitle: true,
|
|
),
|
|
drawer: SafeArea(child: AppDrawer()),
|
|
extendBody: true,
|
|
body: PageView(
|
|
physics: NeverScrollableScrollPhysics(),
|
|
controller: pageController,
|
|
children: [
|
|
ShowCaseWidget(
|
|
builder: Builder(builder: (context) => DashboardScreen()),
|
|
),
|
|
MyScheduleScreen(),
|
|
QrReaderScreen(),
|
|
DoctorReplyScreen(),
|
|
],
|
|
),
|
|
bottomNavigationBar: BottomNavBar(changeIndex: _changeCurrentTab),
|
|
);
|
|
}
|
|
|
|
getText(currentTab) {
|
|
switch (currentTab) {
|
|
case 0:
|
|
return TranslationBase.of(context).home;
|
|
case 1:
|
|
return TranslationBase.of(context).mySchedule;
|
|
case 2:
|
|
return TranslationBase.of(context).qr;
|
|
case 3:
|
|
return TranslationBase.of(context).replay;
|
|
}
|
|
}
|
|
}
|