From fedb4533c7f0d0b0a439bb082b7fae015e29f2d7 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Tue, 7 Dec 2021 14:00:17 +0200 Subject: [PATCH] second step from home page. --- .../home/dashboard_referral_patient.dart | 220 +++++++++--------- .../home/dashboard_slider-item-widget.dart | 31 ++- lib/screens/home/home_screen.dart | 24 +- lib/widgets/dashboard/activity_button.dart | 57 +++-- lib/widgets/dashboard/out_patient_stack.dart | 64 ----- 5 files changed, 176 insertions(+), 220 deletions(-) diff --git a/lib/screens/home/dashboard_referral_patient.dart b/lib/screens/home/dashboard_referral_patient.dart index 6a0bcf4b..e616f1ca 100644 --- a/lib/screens/home/dashboard_referral_patient.dart +++ b/lib/screens/home/dashboard_referral_patient.dart @@ -19,116 +19,128 @@ class DashboardReferralPatient extends StatelessWidget { const DashboardReferralPatient({Key key, this.dashboardItemList, this.height, this.model}) : super(key: key); @override Widget build(BuildContext context) { - return RoundedContainer( - raduis: 16, - showBorder: false, - borderColor: Colors.white, - shadowWidth: 0.2, - shadowSpreadRadius: 3, - shadowDy: 1, - margin: EdgeInsets.only(top: 15, bottom: 15, left: 10, right: 10), - child: - Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Expanded( - flex: 1, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - flex: 4, - child: Padding( - padding: const EdgeInsets.all(5.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: EdgeInsets.all(8), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - height: SizeConfig.getHeightMultiplier(height: height) * - (SizeConfig.isHeightVeryShort? - 3 - : SizeConfig.isHeightShort? - 2 - : 2)), - Label( - firstLine: TranslationBase.of(context).patients, - secondLine: TranslationBase.of(context).referral, - color: Color(0xFF2B353E), - secondLineFontSize: SizeConfig.getHeightMultiplier(height: height) * + return Container( + margin: EdgeInsets.only(bottom: 20, top: 10, left: 5, right: 5), + decoration: BoxDecoration( + + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + bottomLeft: Radius.circular(20), + bottomRight: Radius.circular(20) + ), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 0, + blurRadius: 9, + offset: Offset(0, 0), // changes position of shadow + ), + ], + ), + child: Column(crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ + Expanded( + flex: 1, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + flex: 4, + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.all(8), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + height: SizeConfig.getHeightMultiplier(height: height) * + (SizeConfig.isHeightVeryShort? + 3 + : SizeConfig.isHeightShort? + 2 + : 2)), + Label( + firstLine: TranslationBase.of(context).patients, + secondLine: TranslationBase.of(context).referral, + color: Color(0xFF2B353E), + secondLineFontSize: SizeConfig.getHeightMultiplier(height: height) * + (SizeConfig.isHeightVeryShort? + 5 + : SizeConfig.isHeightShort? + 7 + : 12), + ), + SizedBox( + height: SizeConfig.getHeightMultiplier(height: height) * (SizeConfig.isHeightVeryShort? 5 : SizeConfig.isHeightShort? - 7 - : 12), - ), - SizedBox( - height: SizeConfig.getHeightMultiplier(height: height) * - (SizeConfig.isHeightVeryShort? - 5 - : SizeConfig.isHeightShort? - 10 - : 5)) - ], - ), + 10 + : 5)) + ], ), - Expanded( - flex: 1, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - RowCounts( - dashboardItemList[2].summaryoptions[0].kPIParameter, - dashboardItemList[2].summaryoptions[0].value, - Colors.black, - height: height, - ), - RowCounts( - dashboardItemList[2].summaryoptions[1].kPIParameter, - dashboardItemList[2].summaryoptions[1].value, - Colors.grey, - height: height, - ), - RowCounts( - dashboardItemList[2].summaryoptions[2].kPIParameter, - dashboardItemList[2].summaryoptions[2].value, - Colors.red, - height: height, - ), - ], - ), + ), + Expanded( + flex: 1, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RowCounts( + dashboardItemList[2].summaryoptions[0].kPIParameter, + dashboardItemList[2].summaryoptions[0].value, + Colors.black, + height: height, + ), + RowCounts( + dashboardItemList[2].summaryoptions[1].kPIParameter, + dashboardItemList[2].summaryoptions[1].value, + Colors.grey, + height: height, + ), + RowCounts( + dashboardItemList[2].summaryoptions[2].kPIParameter, + dashboardItemList[2].summaryoptions[2].value, + Colors.red, + height: height, + ), + ], + ), + ) + ], + )), + ), + Expanded( + flex: 3, + child: Stack(children: [ + Container(padding: EdgeInsets.all(0), child: GaugeChart(_createReferralData(dashboardItemList))), + Positioned( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + AppText( + model.getPatientCount(dashboardItemList[2]).toString(), + fontSize: SizeConfig.textMultiplier * 3.0, + fontWeight: FontWeight.bold, ) ], - )), - ), - Expanded( - flex: 3, - child: Stack(children: [ - Container(padding: EdgeInsets.all(0), child: GaugeChart(_createReferralData(dashboardItemList))), - Positioned( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - AppText( - model.getPatientCount(dashboardItemList[2]).toString(), - fontSize: SizeConfig.textMultiplier * 3.0, - fontWeight: FontWeight.bold, - ) - ], - ), - top: height * (SizeConfig.isHeightVeryShort ? 0.35 : 0.40), - left: 0, - right: 0) - ]), - ), - ], - )), - ])); + ), + top: height * (SizeConfig.isHeightVeryShort ? 0.35 : 0.40), + left: 0, + right: 0) + ]), + ), + ], + )), + ]), + ); } static List> _createReferralData(List dashboardItemList) { diff --git a/lib/screens/home/dashboard_slider-item-widget.dart b/lib/screens/home/dashboard_slider-item-widget.dart index 4b7c4f46..9005b816 100644 --- a/lib/screens/home/dashboard_slider-item-widget.dart +++ b/lib/screens/home/dashboard_slider-item-widget.dart @@ -1,9 +1,12 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart'; +import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/widgets/dashboard/activity_button.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; +import 'label.dart'; + class DashboardSliderItemWidget extends StatelessWidget { final DashboardModel item; @@ -11,27 +14,37 @@ class DashboardSliderItemWidget extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( + return Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - AppText( - item.kPIName, - fontSize: SizeConfig.textMultiplier * 2.2, - fontWeight: FontWeight.bold, + Container( + margin: EdgeInsets.symmetric(horizontal: SizeConfig.widthMultiplier *1), + + child: Label( + firstLine: Helpers.getLabelFromKPI(item.kPIName), + secondLine: Helpers.getNameFromKPI(item.kPIName), + ), ), ], ), new Container( - height: 110, + height: SizeConfig.heightMultiplier * + (SizeConfig.isHeightVeryShort + ? 16 + : SizeConfig.isHeightShort + ? 14 + : SizeConfig.isHeightLarge + ? 15 + : 13), child: ListView( scrollDirection: Axis.horizontal, - children: - List.generate(item.summaryoptions.length, (int index) { - return GetActivityButton(item.summaryoptions[index]); + children: List.generate(item.summaryoptions.length, (int index) { + return GetActivityCard(item.summaryoptions[index]); }))) ], ); + } } diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index 281c70e9..508bfe88 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -34,6 +34,7 @@ import 'package:sticky_headers/sticky_headers/widget.dart'; import '../../routes.dart'; import '../../widgets/shared/app_texts_widget.dart'; +import 'label.dart'; class HomeScreen extends StatefulWidget { HomeScreen({Key key, this.title}) : super(key: key); @@ -284,24 +285,11 @@ class _HomeScreenState extends State { SizedBox( height: 10, ), - Container( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).patients, - fontSize: 12, - fontWeight: FontWeight.bold, - fontHeight: .5, - ), - AppText( - TranslationBase.of(context).services, - fontSize: 22, - fontWeight: FontWeight.bold, - ), - ], - )), + + Label( + firstLine: TranslationBase.of(context).patients, + secondLine: TranslationBase.of(context).services, + ), SizedBox( height: 10, ), diff --git a/lib/widgets/dashboard/activity_button.dart b/lib/widgets/dashboard/activity_button.dart index ff9db962..5e3cda68 100644 --- a/lib/widgets/dashboard/activity_button.dart +++ b/lib/widgets/dashboard/activity_button.dart @@ -1,42 +1,49 @@ +import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; -class GetActivityButton extends StatelessWidget { +class GetActivityCard extends StatelessWidget { final value; - GetActivityButton(this.value); + GetActivityCard(this.value); @override Widget build(BuildContext context) { + double width = SizeConfig.heightMultiplier* (SizeConfig.isHeightVeryShort?16:SizeConfig.isHeightShort?14:SizeConfig.isHeightLarge?15:13); return Container( - width: MediaQuery.of(context).size.height * 0.125, - padding: EdgeInsets.all(5), - margin: EdgeInsets.all(5), + width: width, + padding: EdgeInsets.symmetric(horizontal: SizeConfig.heightMultiplier * .4, vertical: SizeConfig.heightMultiplier * .2), + margin: EdgeInsets.all(SizeConfig.widthMultiplier *1), decoration: BoxDecoration( color: Colors.white, + border: Border.all(width: 1, color: Color(0xFFEFEFEF)), borderRadius: BorderRadius.circular(15), ), child: Padding( - padding: const EdgeInsets.fromLTRB(8, 0, 8, 0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - AppText( - value.value.toString(), - fontSize: 27, - fontWeight: FontWeight.bold, - color: Color(0xFF2B353E), - ), - AppText( - value.kPIParameter, - textOverflow: TextOverflow.clip, - fontSize: 10, - color: Color(0xFF2B353E), - textAlign: TextAlign.start, - fontWeight: FontWeight.w700, - ), - ], + padding: const EdgeInsets.fromLTRB(8,8, 8, 4), + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + AppText( + value.value.toString(), + fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* 25, + fontWeight: FontWeight.bold, + color: Color(0xFF2B353E), + letterSpacing: -0.93, + ), + AppText( + value.kPIParameter, + textOverflow: TextOverflow.clip, + fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width)* (SizeConfig.isHeightVeryShort?8: SizeConfig.isHeightShort?8: 9), + color: Color(0xFF2B353E), + textAlign: TextAlign.start, + fontWeight: FontWeight.w700, + letterSpacing: -0.33, + ), + ], + ), ), ), ); diff --git a/lib/widgets/dashboard/out_patient_stack.dart b/lib/widgets/dashboard/out_patient_stack.dart index d7042eb7..fb67d954 100644 --- a/lib/widgets/dashboard/out_patient_stack.dart +++ b/lib/widgets/dashboard/out_patient_stack.dart @@ -78,70 +78,6 @@ class GetOutPatientStack extends StatelessWidget { ); } - // getStack(Summaryoptions value, max,context) { - // return Expanded( - // child: Container( - // margin: EdgeInsets.symmetric(horizontal: 2), - // decoration: BoxDecoration( - // gradient: LinearGradient( - // begin: Alignment.topLeft, - // end: Alignment( - // 0.0, 1.0), // 10% of the width, so there are ten blinds. - // colors: [Color(0x8FF5F6FA), Colors.red[50]], // red to yellow - // tileMode: TileMode.mirror, // repeats the gradient over the canvas - // ), - // borderRadius: BorderRadius.circular(8), - // // color: Colors.red[50], - // ), - // child: Stack(children: [ - // Positioned( - // bottom: 0, - // left: 0, - // right: 0, - // child: Container( - // child: SizedBox(), - // padding: EdgeInsets.all(10), - // height: max != 0 ? ((MediaQuery.of(context).size.height * 0.24 )* value.value) / max : 0, - // decoration: BoxDecoration( - // borderRadius: BorderRadius.circular(8), - // color: Color(0x63D02127), - // ), - // ), - // ), - // Container( - // height: (MediaQuery.of(context).size.height * 0.24 ), - // margin: EdgeInsets.only(left: 5, top: 5), - // padding: EdgeInsets.all(10), - // child: RotatedBox( - // quarterTurns: 3, - // child: Center( - // child: Align( - // child: FittedBox( - // child: Row( - // children: [ - // AppText( - // value.kPIParameter, - // fontSize: 10, - // textAlign: TextAlign.center, - // color: Color(0xFF2B353E), - // fontWeight: FontWeight.w700, - // ), - // AppText( - // ' (' + value.value.toString() + ') ', - // fontSize: 12, - // textAlign: TextAlign.center, - // color: Color(0xFF2B353E), - // fontWeight: FontWeight.bold, - // ), - // ], - // ), - // )), - // ), - // )) - // ]), - // ), - // ); - // } getStack(Summaryoptions value, max, context, barHeight) {