diff --git a/assets/images/svgs/female avatar.svg b/assets/images/svgs/female avatar.svg new file mode 100644 index 00000000..1cf831e1 --- /dev/null +++ b/assets/images/svgs/female avatar.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/svgs/female.svg b/assets/images/svgs/female.svg new file mode 100644 index 00000000..307729c2 --- /dev/null +++ b/assets/images/svgs/female.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/svgs/inpatient.svg b/assets/images/svgs/inpatient.svg new file mode 100644 index 00000000..0f6b79bb --- /dev/null +++ b/assets/images/svgs/inpatient.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/images/svgs/male avatar.svg b/assets/images/svgs/male avatar.svg new file mode 100644 index 00000000..ff177416 --- /dev/null +++ b/assets/images/svgs/male avatar.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/svgs/male.svg b/assets/images/svgs/male.svg new file mode 100644 index 00000000..80cd0c7f --- /dev/null +++ b/assets/images/svgs/male.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/svgs/menu.svg b/assets/images/svgs/menu.svg new file mode 100644 index 00000000..6808f518 --- /dev/null +++ b/assets/images/svgs/menu.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/svgs/no data.svg b/assets/images/svgs/no data.svg new file mode 100644 index 00000000..c54f0430 --- /dev/null +++ b/assets/images/svgs/no data.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/landing_page.dart b/lib/landing_page.dart index 69cae394..cd9507fd 100644 --- a/lib/landing_page.dart +++ b/lib/landing_page.dart @@ -10,6 +10,7 @@ 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:flutter_svg/flutter_svg.dart'; class LandingPage extends StatefulWidget { @override @@ -53,7 +54,7 @@ class _LandingPageState extends State { leading: Builder( builder: (BuildContext context) { return IconButton( - icon: Image.asset('assets/images/menu.png', + icon: SvgPicture.asset('assets/images/svgs/menu.svg', height: 50, width: 50), iconSize: 15, color: Color(0xff2B353E), diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index 4e577bb9..5cf849e8 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -1,4 +1,5 @@ import 'package:doctor_app_flutter/config/config.dart'; +import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/model/patient_muse/PatientSearchRequestModel.dart'; import 'package:doctor_app_flutter/core/viewModel/authentication_view_model.dart'; @@ -20,6 +21,7 @@ import 'package:doctor_app_flutter/screens/patients/profile/referral/patient_ref import 'package:doctor_app_flutter/screens/patients/register_patient/RegisterPatientPage.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/helpers.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'; @@ -29,6 +31,7 @@ import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:sticky_headers/sticky_headers/widget.dart'; @@ -40,7 +43,6 @@ class HomeScreen extends StatefulWidget { HomeScreen({Key key, this.title}) : super(key: key); final String title; - final String iconURL = 'assets/images/dashboard_icon/'; @override _HomeScreenState createState() => _HomeScreenState(); @@ -83,12 +85,16 @@ class _HomeScreenState extends State { color: Colors.grey[100], padding: EdgeInsets.only(top: 10), child: Stack(children: [ - IconButton( - icon: Image.asset('assets/images/menu.png', - height: 50, width: 50), - iconSize: 18, - color: Colors.black, - onPressed: () => Scaffold.of(context).openDrawer(), + Container( + width: 40, + margin: EdgeInsets.only(left: projectsProvider.isArabic? 0:32, right: projectsProvider.isArabic? 23:0), + child: IconButton( + icon: SvgPicture.asset('assets/images/svgs/menu.svg', + height: 25, width: 10), + iconSize: 15, + color: Colors.black, + onPressed: () => Scaffold.of(context).openDrawer(), + ), ), Column(children: [ ProfileWelcomeWidget( @@ -169,7 +175,7 @@ class _HomeScreenState extends State { )), ], ), - AppText(item.clinicName, + AppText(Helpers.convertToTitleCase(item.clinicName), fontSize: 14, letterSpacing: -0.96, color: AppGlobal.appTextColor, @@ -199,7 +205,7 @@ class _HomeScreenState extends State { .map((item) { return DropdownMenuItem( child: AppText( - item.clinicName, + Helpers.convertToTitleCase(item.clinicName), fontSize: 14, letterSpacing: -0.96, color: AppGlobal.appTextColor, @@ -292,7 +298,14 @@ class _HomeScreenState extends State { ), Container( - height: 120, + height: SizeConfig.heightMultiplier * + (SizeConfig.isHeightVeryShort + ? 16 + : SizeConfig.isHeightShort + ? 14 + : SizeConfig.isHeightLarge + ? 15 + : 13), child: ListView( scrollDirection: Axis.horizontal, children: [ diff --git a/lib/util/helpers.dart b/lib/util/helpers.dart index 0d7cd088..6a3ca933 100644 --- a/lib/util/helpers.dart +++ b/lib/util/helpers.dart @@ -15,6 +15,7 @@ import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:html/parser.dart'; +import 'package:intl/intl.dart'; import '../UpdatePage.dart'; import '../config/size_config.dart'; @@ -235,6 +236,9 @@ class Helpers { return parsedString; } + + + static InputDecoration textFieldSelectorDecoration( String hintText, String selectedText, bool isDropDown, {Icon suffixIcon, Color dropDownColor}) { @@ -349,6 +353,10 @@ class Helpers { ); } + static getBgTabColor(){ + return Color(0xFFEAEAEA); + } + static getTabText({String title, bool isActive = false,}){ return AppText( title, @@ -389,4 +397,34 @@ class Helpers { } + + static String convertToTitleCase(String text) { + if (text == null) { + return null; + } + + if (text.length <= 1) { + return text.toUpperCase(); + } + + // Split string into multiple words + final List words = text.split(' '); + + // Capitalize first letter of each words + final capitalizedWords = words.map((word) { + if (word.trim().isNotEmpty) { + final String firstLetter = word.trim().substring(0, 1).toUpperCase(); + final String remainingLetters = word.trim().substring(1).toLowerCase(); + + return '$firstLetter$remainingLetters'; + } + return ''; + }); + + // Join/Merge all words back to one String + return capitalizedWords.join(' '); + } + } + + diff --git a/lib/widgets/shared/bottom_navigation_item.dart b/lib/widgets/shared/bottom_navigation_item.dart index 6d7efa95..8924d719 100644 --- a/lib/widgets/shared/bottom_navigation_item.dart +++ b/lib/widgets/shared/bottom_navigation_item.dart @@ -81,7 +81,7 @@ class BottomNavigationItem extends StatelessWidget { child: AppText(name ?? "", textAlign: TextAlign.center, fontSize: - SizeConfig.getTextMultiplierBasedOnWidth() * 2, + SizeConfig.getTextMultiplierBasedOnWidth() * 2.5, letterSpacing: -0.24, color: AppGlobal.appTextColor, fontWeight: FontWeight.w600) //#989898, diff --git a/pubspec.yaml b/pubspec.yaml index 0f2d55e8..1e5125de 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -130,6 +130,7 @@ flutter: - assets/images/ - assets/images/dashboard/ - assets/images/login/ + - assets/images/svgs/ - assets/images/svgs/verification/ - assets/images/svgs/profile_screen/ - assets/images/svgs/bottom_nav/