first step from fix screen

merge-requests/890/head
Elham Rababh 4 years ago
parent dc0f3e7235
commit ec83d72038

@ -81,7 +81,7 @@ List<GetSpecialClinicalCareListResponseModel> get specialClinicalCareList =>
// setState(ViewState.Idle); // setState(ViewState.Idle);
} }
Future changeClinic(int clinicId, AuthenticationViewModel authProvider) async { Future changeClinic(var clinicId, AuthenticationViewModel authProvider) async {
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
await getDoctorProfile(); await getDoctorProfile();
ClinicModel clinicModel = ClinicModel( ClinicModel clinicModel = ClinicModel(

@ -12,6 +12,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_loader_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/secondary_button.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart'; import 'package:hexcolor/hexcolor.dart';
@ -25,6 +26,7 @@ import '../../widgets/auth/verification_methods_list.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
Helpers helpers = Helpers(); Helpers helpers = Helpers();
///TODO Elham* check if this still in user or not
class VerificationMethodsScreen extends StatefulWidget { class VerificationMethodsScreen extends StatefulWidget {
final password; final password;
@ -339,7 +341,7 @@ class _VerificationMethodsScreenState extends State<VerificationMethodsScreen> {
SecondaryButton( SecondaryButton(
label: TranslationBase label: TranslationBase
.of(context) .of(context)
.useAnotherAccount, .useAnotherAccount??'',
color: Color(0xFFD02127), color: Color(0xFFD02127),
//fontWeight: FontWeight.w700, //fontWeight: FontWeight.w700,
onTap: () { onTap: () {
@ -387,7 +389,7 @@ class _VerificationMethodsScreenState extends State<VerificationMethodsScreen> {
Helpers.showErrorToast(authenticationViewModel.error); Helpers.showErrorToast(authenticationViewModel.error);
} else { } else {
await sharedPref.setString(TOKEN, await sharedPref.setString(TOKEN,
authenticationViewModel.activationCodeVerificationScreenRes.logInTokenID); authenticationViewModel.activationCodeVerificationScreenRes.logInTokenID!);
if (authMethodType == AuthMethodTypes.SMS || authMethodType == AuthMethodTypes.WhatsApp) { if (authMethodType == AuthMethodTypes.SMS || authMethodType == AuthMethodTypes.WhatsApp) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
this.startSMSService(authMethodType,isSilentLogin: true); this.startSMSService(authMethodType,isSilentLogin: true);
@ -470,8 +472,8 @@ class _VerificationMethodsScreenState extends State<VerificationMethodsScreen> {
} }
} }
checkActivationCode({String value,bool isSilentLogin = false}) async { checkActivationCode({String? value,bool isSilentLogin = false}) async {
await authenticationViewModel.checkActivationCodeForDoctorApp(activationCode: value,isSilentLogin: isSilentLogin); await authenticationViewModel.checkActivationCodeForDoctorApp(activationCode: value!,isSilentLogin: isSilentLogin);
if (authenticationViewModel.state == ViewState.ErrorLocal) { if (authenticationViewModel.state == ViewState.ErrorLocal) {
Navigator.pop(context); Navigator.pop(context);
Helpers.showErrorToast(authenticationViewModel.error); Helpers.showErrorToast(authenticationViewModel.error);

@ -12,9 +12,8 @@ import 'package:flutter/material.dart';
import 'doctor_repaly_chat.dart'; import 'doctor_repaly_chat.dart';
class AllDoctorQuestions extends StatefulWidget { class AllDoctorQuestions extends StatefulWidget {
final Function changeCurrentTab;
const AllDoctorQuestions({Key? key, this.changeCurrentTab}) : super(key: key); const AllDoctorQuestions({Key? key}) : super(key: key);
@override @override
_AllDoctorQuestionsState createState() => _AllDoctorQuestionsState(); _AllDoctorQuestionsState createState() => _AllDoctorQuestionsState();
@ -31,10 +30,9 @@ class _AllDoctorQuestionsState extends State<AllDoctorQuestions> {
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).replay2,
isShowAppBar: false, isShowAppBar: false,
body: model.listDoctorWorkingHoursTable.isEmpty body: model.listDoctorWorkingHoursTable.isEmpty
?ErrorMessage(error: TranslationBase.of(context).noItem)// DrAppEmbeddedError(error: TranslationBase.of(context).noItem) ?ErrorMessage(error: TranslationBase.of(context).noItem!)// DrAppEmbeddedError(error: TranslationBase.of(context).noItem)
: Column( : Column(
children: [ children: [
Expanded( Expanded(
@ -82,7 +80,7 @@ class _AllDoctorQuestionsState extends State<AllDoctorQuestions> {
}); });
model.getDoctorReply(pageIndex: pageIndex); model.getDoctorReply(pageIndex: pageIndex);
} }
return; return false;
}, },
), ),
), ),

@ -7,11 +7,11 @@ import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/TextFields.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/TextFields.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@ -24,7 +24,7 @@ class DoctorReplayChat extends StatefulWidget {
final DoctorReplayViewModel previousModel; final DoctorReplayViewModel previousModel;
bool showMsgBox = false; bool showMsgBox = false;
DoctorReplayChat( DoctorReplayChat(
{Key? key, this.reply, this.previousModel, {Key? key, required this.reply, required this.previousModel,
}); });
@override @override
@ -37,8 +37,8 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if(widget.reply.doctorResponse.isNotEmpty){ if(widget.reply.doctorResponse!.isNotEmpty){
msgController.text = widget.reply.doctorResponse; msgController.text = widget.reply.doctorResponse!;
} else { } else {
widget.showMsgBox = true; widget.showMsgBox = true;
@ -172,7 +172,7 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
margin: EdgeInsets.symmetric(horizontal: 0), margin: EdgeInsets.symmetric(horizontal: 0),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
launch("tel://" +widget.reply.mobileNumber); launch("tel://" +widget.reply.mobileNumber!);
}, },
child: Icon( child: Icon(
Icons.phone, Icons.phone,
@ -194,7 +194,7 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *2.8, fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *2.8,
), ),
AppText( AppText(
widget.reply.createdOn !=null?AppDateUtils.getHour(AppDateUtils.getDateTimeFromServerFormat(widget.reply.createdOn)):AppDateUtils.getHour(DateTime.now()), widget.reply.createdOn !=null?AppDateUtils.getHour(AppDateUtils.getDateTimeFromServerFormat(widget.reply.createdOn!)):AppDateUtils.getHour(DateTime.now()),
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *2.8, fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *2.8,
fontFamily: 'Poppins', fontFamily: 'Poppins',
color: Colors.white, color: Colors.white,
@ -236,7 +236,7 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
SizedBox(height: 30,), SizedBox(height: 30,),
SizedBox(height: 30,), SizedBox(height: 30,),
if(widget.reply.doctorResponse != null && widget.reply.doctorResponse.isNotEmpty) if(widget.reply.doctorResponse != null && widget.reply.doctorResponse!.isNotEmpty)
Align( Align(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
child: Container( child: Container(
@ -269,7 +269,7 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
width: 50, width: 50,
height: 50, height: 50,
child: Image.asset( child: Image.asset(
widget.previousModel.doctorProfile.gender == 0 widget.previousModel.doctorProfile!.gender == 0
? 'assets/images/male_avatar.png' ? 'assets/images/male_avatar.png'
: 'assets/images/female_avatar.png', : 'assets/images/female_avatar.png',
fit: BoxFit.cover, fit: BoxFit.cover,
@ -280,7 +280,7 @@ class _DoctorReplayChatState extends State<DoctorReplayChat> {
Container( Container(
width: MediaQuery.of(context).size.width * 0.35, width: MediaQuery.of(context).size.width * 0.35,
child: AppText( child: AppText(
widget.previousModel.doctorProfile.doctorName, widget.previousModel.doctorProfile!.doctorName,
fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3,
fontFamily: 'Poppins', fontFamily: 'Poppins',
color: Color(0xFF2B353E), color: Color(0xFF2B353E),

@ -28,7 +28,7 @@ import 'not_replaied_Doctor_Questions.dart';
class DoctorReplyScreen extends StatefulWidget { class DoctorReplyScreen extends StatefulWidget {
final Function changeCurrentTab; final Function changeCurrentTab;
const DoctorReplyScreen({Key? key, this.changeCurrentTab}) : super(key: key); const DoctorReplyScreen({Key? key, required this.changeCurrentTab}) : super(key: key);
@override @override
_DoctorReplyScreenState createState() => _DoctorReplyScreenState(); _DoctorReplyScreenState createState() => _DoctorReplyScreenState();
@ -36,7 +36,7 @@ class DoctorReplyScreen extends StatefulWidget {
class _DoctorReplyScreenState extends State<DoctorReplyScreen> class _DoctorReplyScreenState extends State<DoctorReplyScreen>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
TabController _tabController; late TabController _tabController;
int _activeTab = 0; int _activeTab = 0;
int pageIndex = 1; int pageIndex = 1;
@ -69,7 +69,7 @@ class _DoctorReplyScreenState extends State<DoctorReplyScreen>
return false; return false;
}, },
child: AppScaffold( child: AppScaffold(
appBarTitle: TranslationBase.of(context).replay2, appBarTitle: TranslationBase.of(context).replay2!,
isShowAppBar: false, isShowAppBar: false,
body: Column( body: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -109,7 +109,7 @@ class _DoctorReplyScreenState extends State<DoctorReplyScreen>
tabWidget( tabWidget(
screenSize, screenSize,
_activeTab == 1, _activeTab == 1,
TranslationBase.of(context).all, TranslationBase.of(context).all!,
), ),
], ],
), ),

@ -188,10 +188,10 @@ class _DoctorReplyWidgetState extends State<DoctorReplyWidget> {
isCopyable:false, isCopyable:false,
), ),
CustomRow( CustomRow(
label: TranslationBase.of(context).age + " : ", label: TranslationBase.of(context).age! + " : ",
isCopyable:false, isCopyable:false,
value: value:
"${AppDateUtils.getAgeByBirthday(widget.reply.dateofBirth, context)}", "${AppDateUtils.getAgeByBirthday(widget.reply.dateofBirth!, context)}",
), ),
SizedBox( SizedBox(
height: 8, height: 8,
@ -213,7 +213,7 @@ class _DoctorReplyWidgetState extends State<DoctorReplyWidget> {
children: <TextSpan>[ children: <TextSpan>[
new TextSpan( new TextSpan(
text: text:
TranslationBase.of(context).requestType + TranslationBase.of(context).requestType! +
": ", ": ",
style: TextStyle( style: TextStyle(
fontSize: SizeConfig fontSize: SizeConfig

@ -14,7 +14,7 @@ import 'doctor_repaly_chat.dart';
class NotRepliedDoctorQuestions extends StatefulWidget { class NotRepliedDoctorQuestions extends StatefulWidget {
final Function changeCurrentTab; final Function changeCurrentTab;
const NotRepliedDoctorQuestions({Key? key, this.changeCurrentTab}) const NotRepliedDoctorQuestions({Key? key, required this.changeCurrentTab})
: super(key: key); : super(key: key);
@override @override
@ -33,10 +33,10 @@ class _NotRepliedDoctorQuestionsState extends State<NotRepliedDoctorQuestions> {
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
appBarTitle: TranslationBase.of(context).replay2, appBarTitle: TranslationBase.of(context).replay2!,
isShowAppBar: false, isShowAppBar: false,
body: model.listDoctorNotRepliedQuestions.isEmpty body: model.listDoctorNotRepliedQuestions.isEmpty
? ErrorMessage(error: TranslationBase.of(context).noItem) ? ErrorMessage(error: TranslationBase.of(context).noItem!)
: Column( : Column(
children: [ children: [
Expanded( Expanded(
@ -91,7 +91,7 @@ class _NotRepliedDoctorQuestionsState extends State<NotRepliedDoctorQuestions> {
}); });
model.getDoctorReply(pageIndex: pageIndex, isGettingNotReply: true); model.getDoctorReply(pageIndex: pageIndex, isGettingNotReply: true);
} }
return; return false;
}, },
), ),
), ),

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class HomePatientCard extends StatelessWidget { class HomePatientCard extends StatelessWidget {
final Color backgroundColor; final Color backgroundColor;
final IconData cardIcon; final IconData cardIcon;
final String cardIconImage; final String? cardIconImage;
final Color backgroundIconColor; final Color backgroundIconColor;
final String text; final String text;
final Color textColor; final Color textColor;
@ -17,7 +17,7 @@ class HomePatientCard extends StatelessWidget {
required this.backgroundColor, required this.backgroundColor,
required this.backgroundIconColor, required this.backgroundIconColor,
required this.cardIcon, required this.cardIcon,
required this.cardIconImage, this.cardIconImage,
required this.text, required this.text,
required this.textColor, required this.textColor,
required this.onTap, required this.onTap,
@ -75,7 +75,7 @@ class HomePatientCard extends StatelessWidget {
color: textColor, color: textColor,
) )
: Image.asset( : Image.asset(
cardIconImage, cardIconImage!,
height: iconSize, height: iconSize,
width: iconSize, width: iconSize,
), ),

@ -21,6 +21,7 @@ import 'package:doctor_app_flutter/screens/patients/register_patient/RegisterPat
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/profile-welcome-widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart';
@ -29,6 +30,7 @@ import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:sticky_headers/sticky_headers/widget.dart';
import '../../routes.dart'; import '../../routes.dart';
import 'home_screen_header.dart'; import 'home_screen_header.dart';
@ -51,7 +53,7 @@ class _HomeScreenState extends State<HomeScreen> {
bool isExpanded = false; bool isExpanded = false;
bool isInpatient = false; bool isInpatient = false;
int sliderActiveIndex = 0; int sliderActiveIndex = 0;
String? clinicId; var clinicId;
late AuthenticationViewModel authenticationViewModel; late AuthenticationViewModel authenticationViewModel;
int colorIndex = 0; int colorIndex = 0;
final GlobalKey<ScaffoldState> scaffoldKey = new GlobalKey<ScaffoldState>(); final GlobalKey<ScaffoldState> scaffoldKey = new GlobalKey<ScaffoldState>();
@ -328,22 +330,6 @@ class _HomeScreenState extends State<HomeScreen> {
DashboardViewModel model, projectsProvider) { DashboardViewModel model, projectsProvider) {
colorIndex = 0; colorIndex = 0;
// List<Color> backgroundColors = List(3);
// backgroundColors[0] = Color(0xffD02127);
// backgroundColors[1] = Colors.grey[300];
// backgroundColors[2] = Color(0xff2B353E);
// List<Color> backgroundIconColors = List(3);
// backgroundIconColors[0] = Colors.white12;
// backgroundIconColors[1] = Colors.white38;
// backgroundIconColors[2] = Colors.white10;
// List<Color> textColors = List(3);
// textColors[0] = Colors.white;
// textColors[1] = Color(0xFF353E47);
// textColors[2] = Colors.white;
//
// List<HomePatientCard> patientCards = [];
//
List<Color> backgroundColors = []; List<Color> backgroundColors = [];
backgroundColors.add(Color(0xffD02127)); backgroundColors.add(Color(0xffD02127));
backgroundColors.add(Colors.grey[300]!); backgroundColors.add(Colors.grey[300]!);
@ -407,7 +393,7 @@ class _HomeScreenState extends State<HomeScreen> {
context, context,
FadePage( FadePage(
page: InPatientScreen( page: InPatientScreen(
specialClinic: model.getSpecialClinic(clinicId ?? projectsProvider!.doctorClinicsList[0]!.clinicID!), specialClinic: model.getSpecialClinic(clinicId ?? projectsProvider!.doctorClinicsList[0]!.clinicID!)!,
), ),
), ),
); );
@ -421,7 +407,7 @@ class _HomeScreenState extends State<HomeScreen> {
//TODO Elham* match the of the icon //TODO Elham* match the of the icon
cardIcon: DoctorApp.arrival_patients, cardIcon: DoctorApp.arrival_patients,
textColor: textColors[colorIndex], textColor: textColors[colorIndex],
text: TranslationBase.of(context).registerNewPatient, text: TranslationBase.of(context).registerNewPatient!,
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,

Loading…
Cancel
Save