From 259ea53319c8fb3125a1036d7b417eac72f55c5c Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Thu, 3 Jun 2021 22:19:28 +0300 Subject: [PATCH] home design --- .../home/dashboard_referral_patient.dart | 37 ++++++++++++++++--- .../home/dashboard_slider-item-widget.dart | 2 +- lib/screens/home/home_screen.dart | 8 +++- lib/screens/home/home_screen_header.dart | 18 +++++---- lib/screens/home/{Label.dart => label.dart} | 7 ++-- lib/widgets/dashboard/out_patient_stack.dart | 31 ++++++++++------ lib/widgets/shared/app_scaffold_widget.dart | 4 +- 7 files changed, 78 insertions(+), 29 deletions(-) rename lib/screens/home/{Label.dart => label.dart} (74%) diff --git a/lib/screens/home/dashboard_referral_patient.dart b/lib/screens/home/dashboard_referral_patient.dart index 7be28985..f7bb9ad5 100644 --- a/lib/screens/home/dashboard_referral_patient.dart +++ b/lib/screens/home/dashboard_referral_patient.dart @@ -10,8 +10,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:flutter/material.dart'; -import 'Label.dart'; - +import 'label.dart'; class DashboardReferralPatient extends StatelessWidget { final List dashboardItemList; @@ -58,12 +57,40 @@ class DashboardReferralPatient extends StatelessWidget { CrossAxisAlignment.start, children: [ SizedBox( - height: SizeConfig.getHeightMultiplier(height: height) * (SizeConfig.isHeightVeryShort?3:SizeConfig.isHeightShort?2: 2) + 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), ), + Label(firstLine: TranslationBase + .of(context) + .patients, + secondLine: TranslationBase + .of(context) + .referral, + color: Color(0xFF2B353E), + fontSize: SizeConfig + .getHeightMultiplier( + height: height) * + (SizeConfig.isHeightVeryShort + ? 5 + : SizeConfig.isHeightShort + ? 7 + : 12),), SizedBox( - height: SizeConfig.getHeightMultiplier(height: height) * (SizeConfig.isHeightVeryShort?5:SizeConfig.isHeightShort?10: 12) + height: SizeConfig + .getHeightMultiplier( + height: height) * + (SizeConfig.isHeightVeryShort + ? 5 + : SizeConfig.isHeightShort + ? 10 + : 12) ) ], ),), diff --git a/lib/screens/home/dashboard_slider-item-widget.dart b/lib/screens/home/dashboard_slider-item-widget.dart index 3ffb5ae5..8877aa29 100644 --- a/lib/screens/home/dashboard_slider-item-widget.dart +++ b/lib/screens/home/dashboard_slider-item-widget.dart @@ -4,7 +4,7 @@ import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/widgets/dashboard/activity_card.dart'; import 'package:flutter/material.dart'; -import 'Label.dart'; +import 'label.dart'; class DashboardSliderItemWidget extends StatelessWidget { final DashboardModel item; diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index 603c20cd..684cf95a 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -23,8 +23,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'Label.dart'; import 'home_screen_header.dart'; +import 'label.dart'; class HomeScreen extends StatefulWidget { HomeScreen({Key key, this.title}) : super(key: key); @@ -46,6 +46,8 @@ class _HomeScreenState extends State { String clinicId; AuthenticationViewModel authenticationViewModel; int colorIndex = 0; + final GlobalKey scaffoldKey = new GlobalKey(); + @override Widget build(BuildContext context) { @@ -58,6 +60,7 @@ class _HomeScreenState extends State { } return BaseView( + onModelReady: (model) async { await model.setFirebaseNotification( projectsProvider, authenticationViewModel); @@ -70,6 +73,9 @@ class _HomeScreenState extends State { isShowAppBar: true, appBar: HomeScreenHeader( model: model, + onOpenDrawer: (){ + Scaffold.of(context).openDrawer(); + }, ), body: ListView(children: [ Column(children: [ diff --git a/lib/screens/home/home_screen_header.dart b/lib/screens/home/home_screen_header.dart index fe8cce38..7d38e898 100644 --- a/lib/screens/home/home_screen_header.dart +++ b/lib/screens/home/home_screen_header.dart @@ -17,11 +17,12 @@ import 'package:provider/provider.dart'; class HomeScreenHeader extends StatefulWidget with PreferredSizeWidget { final DashboardViewModel model; + final Function onOpenDrawer; double height = SizeConfig.heightMultiplier * (SizeConfig.isHeightVeryShort ? 10 : 6); - HomeScreenHeader({Key key, this.model}) : super(key: key); + HomeScreenHeader({Key key, this.model, this.onOpenDrawer}) : super(key: key); @override _HomeScreenHeaderState createState() => _HomeScreenHeaderState(); @@ -33,7 +34,8 @@ class HomeScreenHeader extends StatefulWidget with PreferredSizeWidget { class _HomeScreenHeaderState extends State { ProjectViewModel projectsProvider; - var clinicId; + int clinicId; + AuthenticationViewModel authenticationViewModel; @@ -53,7 +55,9 @@ class _HomeScreenHeaderState extends State { ), iconSize: SizeConfig.heightMultiplier * 2, color: Colors.black, - onPressed: () => Scaffold.of(context).openDrawer(), + onPressed: (){ + widget.onOpenDrawer(); + }, ), Column( children: [ @@ -113,9 +117,9 @@ class _HomeScreenHeaderState extends State { constraints: BoxConstraints( minWidth: SizeConfig - .widthMultiplier * 5.5, + .getHeightMultiplier(height: widget.height) * 50, minHeight: SizeConfig - .widthMultiplier * 5, + .getHeightMultiplier(height: widget.height) * 50, ), child: Center( child: AppText( @@ -129,9 +133,9 @@ class _HomeScreenHeaderState extends State { projectsProvider .isArabic ? SizeConfig - .widthMultiplier * 3.5 + .getHeightMultiplier(height: widget.height) : SizeConfig - .widthMultiplier * 3, + .getHeightMultiplier(height: widget.height) * 30, textAlign: TextAlign .center, diff --git a/lib/screens/home/Label.dart b/lib/screens/home/label.dart similarity index 74% rename from lib/screens/home/Label.dart rename to lib/screens/home/label.dart index 73539b15..bf80dca8 100644 --- a/lib/screens/home/Label.dart +++ b/lib/screens/home/label.dart @@ -7,11 +7,12 @@ import 'package:flutter/material.dart'; // ignore: must_be_immutable class Label extends StatelessWidget { Label({ - Key key, this.firstLine, this.secondLine, this.color, + Key key, this.firstLine, this.secondLine, this.color, this.fontSize, }) : super(key: key); final String firstLine; final String secondLine; Color color; + final double fontSize; @override Widget build(BuildContext context) { @@ -24,7 +25,7 @@ class Label extends StatelessWidget { children: [ AppText( firstLine, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *(SizeConfig.isWidthLarge?2:3) , + fontSize: fontSize??SizeConfig.getTextMultiplierBasedOnWidth() *(SizeConfig.isWidthLarge?2:3) , // fontWeight: FontWeight.bold, color: color, fontHeight: .5, @@ -32,7 +33,7 @@ class Label extends StatelessWidget { AppText( secondLine, color: color, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 5, + fontSize: fontSize??SizeConfig.getTextMultiplierBasedOnWidth() * (SizeConfig.isWidthLarge?6:6.40), fontWeight: FontWeight.bold, ), ], diff --git a/lib/widgets/dashboard/out_patient_stack.dart b/lib/widgets/dashboard/out_patient_stack.dart index cfa7ce68..a609986e 100644 --- a/lib/widgets/dashboard/out_patient_stack.dart +++ b/lib/widgets/dashboard/out_patient_stack.dart @@ -1,8 +1,7 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart'; -import 'package:doctor_app_flutter/screens/home/Label.dart'; +import 'package:doctor_app_flutter/screens/home/label.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; -import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; @@ -13,30 +12,40 @@ class GetOutPatientStack extends StatelessWidget { @override Widget build(BuildContext context) { + double barHeight = + SizeConfig.heightMultiplier * (SizeConfig.isHeightVeryShort ? 23 : 19); value.summaryoptions .sort((Summaryoptions a, Summaryoptions b) => b.value - a.value); var list = new List(); - value.summaryoptions.forEach((result) => - {list.add(getStack(result, value.summaryoptions.first.value,context))}); + value.summaryoptions.forEach((result) => { + list.add(getStack( + result, value.summaryoptions.first.value, context, barHeight)) + }); return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container( - padding: EdgeInsets.symmetric(horizontal: 5,vertical: 5), - child: Label(firstLine:Helpers.getLabelFromKPI(value.kPIName) ,secondLine:Helpers.getNameFromKPI(value.kPIName),color: Color(0xFF2B353E), ), + padding: EdgeInsets.symmetric(horizontal: 5, vertical: 5), + child: Label( + firstLine: Helpers.getLabelFromKPI(value.kPIName), + secondLine: Helpers.getNameFromKPI(value.kPIName), + color: Color(0xFF2B353E), + fontSize: SizeConfig.getHeightMultiplier(height: barHeight) * + (SizeConfig.isHeightVeryShort + ? 5 + : SizeConfig.isHeightShort + ? 9 + : 12), + ), ), Row(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: list) ], ); } - - - getStack(Summaryoptions value, max,context) { - double barHeight = SizeConfig.heightMultiplier * - (SizeConfig.isHeightVeryShort ? 23 : 19); + getStack(Summaryoptions value, max, context, barHeight) { return Expanded( child: Container( margin: EdgeInsets.symmetric(horizontal: 2), diff --git a/lib/widgets/shared/app_scaffold_widget.dart b/lib/widgets/shared/app_scaffold_widget.dart index e957b5d4..d3533801 100644 --- a/lib/widgets/shared/app_scaffold_widget.dart +++ b/lib/widgets/shared/app_scaffold_widget.dart @@ -21,6 +21,7 @@ class AppScaffold extends StatelessWidget { final Widget appBar; final String subtitle; final bool isHomeIcon; + final Key key; AppScaffold( {this.appBarTitle = '', this.body, @@ -30,7 +31,7 @@ class AppScaffold extends StatelessWidget { this.bottomSheet, this.backgroundColor, this.isHomeIcon = true, - this.appBar, this.subtitle}); + this.appBar, this.subtitle, this.key}); @override Widget build(BuildContext context) { @@ -42,6 +43,7 @@ class AppScaffold extends StatelessWidget { }, child: Scaffold( backgroundColor: backgroundColor ?? Colors.white, + key: key, appBar: isShowAppBar ? appBar ?? AppBar(