diff --git a/lib/controllers/notification/notification_manger.dart b/lib/controllers/notification/notification_manger.dart index 3038f784..1f68a24b 100644 --- a/lib/controllers/notification/notification_manger.dart +++ b/lib/controllers/notification/notification_manger.dart @@ -1,6 +1,5 @@ -import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; -import 'package:test_sa/views/app_style/colors.dart'; class NotificationManger { // private constructor to avoid create object @@ -27,8 +26,8 @@ class NotificationManger { } // push new notification - static Future showNotification({@required String title, @required String subtext, @required int hashcode, String payload}) async { - const AndroidNotificationDetails androidChannel = AndroidNotificationDetails( + static Future showNotification({@required BuildContext context, @required String title, @required String subtext, @required int hashcode, String payload}) async { + final AndroidNotificationDetails androidChannel = AndroidNotificationDetails( 'com.newtrack.testsa', 'Test SA', channelDescription: 'Push notification service for Test SA', @@ -38,7 +37,7 @@ class NotificationManger { channelShowBadge: true, enableLights: true, visibility: NotificationVisibility.public, - ledColor: AColors.secondaryColor, + ledColor: Theme.of(context).colorScheme.secondary, ledOnMs: 1, ledOffMs: 0, enableVibration: true, @@ -49,7 +48,7 @@ class NotificationManger { categoryIdentifier: "testSA", ); - const platformChannel = NotificationDetails( + final platformChannel = NotificationDetails( android: androidChannel, iOS: iosNotificationDetails, macOS: iosNotificationDetails, diff --git a/lib/extensions/int_extensions.dart b/lib/extensions/int_extensions.dart index 4ca0b964..9772bc24 100644 --- a/lib/extensions/int_extensions.dart +++ b/lib/extensions/int_extensions.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/new_views/app_style/app_color.dart'; import '../models/size_config.dart'; @@ -8,8 +7,6 @@ extension IntExtensions on int { Widget get width => SizedBox(width: toScreenWidth); - Widget get divider => Divider(height: toScreenHeight, thickness: toScreenHeight, color: AppColor.neutral30); - Widget get makeItSquare => SizedBox(width: toScreenWidth, height: toScreenWidth); double get toScreenHeight => (this / 932) * SizeConfig.screenHeight; diff --git a/lib/extensions/widget_extensions.dart b/lib/extensions/widget_extensions.dart index 002c6dc5..a2b9761c 100644 --- a/lib/extensions/widget_extensions.dart +++ b/lib/extensions/widget_extensions.dart @@ -12,6 +12,8 @@ extension WidgetExtensions on Widget { Widget get center => Center(child: this); + BoxShadow get boxShadowR14 => BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0); + Widget circle(double value) => ClipRRect(borderRadius: BorderRadius.circular(value), child: this); Widget paddingAll(double value) => Padding(padding: EdgeInsets.all(value), child: this); @@ -52,20 +54,12 @@ extension WidgetExtensions on Widget { ? Container( padding: EdgeInsets.all(padding), decoration: ShapeDecoration( - color: Theme.of(context).cardColor, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - ), - shadows: const [ - BoxShadow( - color: Color(0x07000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], + color: AppColor.background(context), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + shadows: [boxShadowR14], ), - child: this) + child: this, + ) : this; } diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index ca6dd76f..f0433277 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -370,5 +370,6 @@ "vendorName" : "اسم المزود", "reset" : "اعادة تعيين", "solution" : "الحل", - "technicalComment" : "تعليق تقني" + "technicalComment" : "تعليق تقني", + "recentActivities" : "الأنشطة الحالية" } \ No newline at end of file diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 508c199b..8e1727d2 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -373,5 +373,6 @@ "vendorName" : "Vendor Name", "reset" : "Reset", "solution" : "Solution", - "technicalComment" : "Technical Comment" + "technicalComment" : "Technical Comment", + "recentActivities" : "Recent Activities" } \ No newline at end of file diff --git a/lib/new_views/app_style/app_color.dart b/lib/new_views/app_style/app_color.dart index 47623bd6..b8e0d661 100644 --- a/lib/new_views/app_style/app_color.dart +++ b/lib/new_views/app_style/app_color.dart @@ -1,4 +1,5 @@ -import 'dart:ui'; +import 'package:flutter/material.dart'; +import 'package:test_sa/extensions/context_extension.dart'; class AppColor { AppColor._(); @@ -37,4 +38,103 @@ class AppColor { static const Color orange40 = Color(0xffFFEDBC); static const Color orange50 = Color(0xffCC9B14); static const Color orange60 = Color(0xff886400); + + static Color greenStatus(BuildContext context) => context.isDark ? const Color(0xff1FA269) : green50; + static Color blueStatus(BuildContext context) => context.isDark ? primary40 : primary50; + static Color redStatus(BuildContext context) => context.isDark ? const Color(0xffFFB6B8) : red50; + static Color yellowStatus(BuildContext context) => context.isDark ? const Color(0xffFFDA76) : orange40; + static Color background(BuildContext context) => context.isDark ? neutral60 : Colors.white; + static Color selectedButtonColor(BuildContext context) => context.isDark ? neutral60 : neutral30; + static Color unSelectedButtonColor(BuildContext context) => context.isDark ? neutral60 : Colors.white; + static Color filterButtonTextColor(BuildContext context) => context.isDark ? neutral30 : neutral50; + + static Color getRequestStatusTextColorByName(BuildContext context, String status) { + switch ((status ?? "").toLowerCase()) { + case "in progress": + return orange60; + case "high priority": + return red60; + default: + return Colors.white; + } + } + + static Color getRequestStatusColorByName(BuildContext context, String status) { + switch ((status ?? "").toLowerCase()) { + case "medium": + return blueStatus(context); + case "in progress": + return yellowStatus(context); + case "complete": + return greenStatus(context); + case "closed": + return greenStatus(context); + case "high priority": + return redStatus(context); + case "low priority": + return greenStatus(context); + case "open": + return blueStatus(context); + default: + return greenStatus(context); + } + } + + static Color getRequestStatusColor(BuildContext context, int id) { + switch (id) { + case 1: + return blueStatus(context); + case 2: + return yellowStatus(context); + case 3: + return greenStatus(context); + case 4: + return redStatus(context); + case 6: + return greenStatus(context); + case 5: + return greenStatus(context); + case 8: + return greenStatus(context); + case 9: + return orange40; + default: + return blueStatus(context); + } + } + + static Color getRequestStatusTextColor(BuildContext context, int id) { + switch (id) { + case 2: + return orange60; + case 4: + return red60; + case 9: + return orange60; + default: + return Colors.white; + } + } + + static Color getPriorityStatusTextColor(BuildContext context, int id) { + switch (id) { + case 81: + return Colors.white; + case 82: + return red60; + default: + return blueStatus(context); + } + } + + static Color getPriorityStatusColor(BuildContext context, int id) { + switch (id) { + case 81: + return greenStatus(context); + case 82: + return redStatus(context); + default: + return blueStatus(context); + } + } } diff --git a/lib/new_views/app_style/app_themes.dart b/lib/new_views/app_style/app_themes.dart index 7cb04cf2..d384040a 100644 --- a/lib/new_views/app_style/app_themes.dart +++ b/lib/new_views/app_style/app_themes.dart @@ -43,7 +43,7 @@ class AppThemes { elevation: 0, iconSize: 46, backgroundColor: AppColor.primary40, - foregroundColor: AppColor.neutral50, + foregroundColor: AppColor.backgroundDark, ), bottomNavigationBarTheme: BottomNavigationBarThemeData( type: BottomNavigationBarType.fixed, diff --git a/lib/new_views/common_widgets/app_bottom_nav_bar.dart b/lib/new_views/common_widgets/app_bottom_nav_bar.dart index ab00a2fa..c747d4e0 100644 --- a/lib/new_views/common_widgets/app_bottom_nav_bar.dart +++ b/lib/new_views/common_widgets/app_bottom_nav_bar.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; @@ -12,11 +12,7 @@ class AppBottomNavigationBar extends StatelessWidget { final Function(int index) onPressed; final int selectedIndex; - const AppBottomNavigationBar({ - Key key, - @required this.onPressed, - @required this.selectedIndex, - }) : super(key: key); + const AppBottomNavigationBar({Key key, @required this.onPressed, @required this.selectedIndex}) : super(key: key); @override Widget build(BuildContext context) { @@ -25,16 +21,9 @@ class AppBottomNavigationBar extends StatelessWidget { borderRadius: const BorderRadius.only(topLeft: Radius.circular(20.0), topRight: Radius.circular(20.0)), child: Container( height: 100.toScreenHeight, - decoration: const BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Color(0x0C000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], + decoration: BoxDecoration( + color: AppColor.background(context), + boxShadow: [boxShadowR14], ), child: BottomNavigationBar( items: [ @@ -46,10 +35,10 @@ class AppBottomNavigationBar extends StatelessWidget { ], currentIndex: selectedIndex, onTap: onPressed, - selectedLabelStyle: AppTextStyles.tinyFont.copyWith(fontSize: 11), - unselectedLabelStyle: AppTextStyles.tinyFont.copyWith(fontSize: 11), - selectedItemColor: AppColor.primary70, - unselectedItemColor: const Color(0xFF757575), + selectedLabelStyle: AppTextStyles.tinyFont, + unselectedLabelStyle: AppTextStyles.tinyFont, + selectedItemColor: Theme.of(context).bottomNavigationBarTheme.selectedItemColor, + unselectedItemColor: Theme.of(context).bottomNavigationBarTheme.unselectedItemColor, ), ), ); @@ -57,14 +46,12 @@ class AppBottomNavigationBar extends StatelessWidget { BottomNavigationBarItem navBarItem(BuildContext context, {@required int index, @required String iconName, @required String label}) { return BottomNavigationBarItem( - icon: Padding( - padding: EdgeInsets.symmetric(vertical: 10.toScreenHeight), - child: SvgPicture.asset( - 'assets/images/$iconName.svg', - width: 24.toScreenWidth, - color: selectedIndex == index ? Theme.of(context).bottomNavigationBarTheme.selectedItemColor : Theme.of(context).bottomNavigationBarTheme.unselectedItemColor, - ), - ), + icon: iconName + ?.toSvgAsset( + width: 24, + color: selectedIndex == index ? Theme.of(context).bottomNavigationBarTheme.selectedItemColor : Theme.of(context).bottomNavigationBarTheme.unselectedItemColor, + ) + ?.paddingOnly(top: 10, bottom: 10), label: label, ); } diff --git a/lib/new_views/common_widgets/app_dashed_button.dart b/lib/new_views/common_widgets/app_dashed_button.dart index f6108cd6..6fc2c61e 100644 --- a/lib/new_views/common_widgets/app_dashed_button.dart +++ b/lib/new_views/common_widgets/app_dashed_button.dart @@ -18,7 +18,7 @@ class AppDashedButton extends StatelessWidget { return Container( width: double.infinity, padding: EdgeInsets.symmetric(horizontal: 2.toScreenWidth), - decoration: BoxDecoration(color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(10)), + decoration: BoxDecoration(color: AppColor.background(context), borderRadius: BorderRadius.circular(10)), child: DottedBorder( strokeWidth: 2, padding: EdgeInsets.symmetric(vertical: 16.toScreenHeight, horizontal: 16.toScreenWidth), diff --git a/lib/new_views/common_widgets/app_drawer.dart b/lib/new_views/common_widgets/app_drawer.dart index 6f22c9bb..1ef4b7c9 100644 --- a/lib/new_views/common_widgets/app_drawer.dart +++ b/lib/new_views/common_widgets/app_drawer.dart @@ -59,7 +59,7 @@ class AppDrawer extends StatelessWidget { (userProvider.user?.username ?? "").heading3(context).custom(fontWeight: FontWeight.w600), if ((userProvider.user?.email ?? "").isNotEmpty) (userProvider.user?.email).heading6(context).custom(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), 18.height, - 1.divider, + const Divider().defaultStyle(context), ListView( // "settings" : " Settings", // "ReportBug " : "Report a bug", @@ -99,7 +99,7 @@ class AppDrawer extends StatelessWidget { } }), 18.height, - 1.divider, + const Divider().defaultStyle(context), 18.height, Row( mainAxisAlignment: MainAxisAlignment.center, diff --git a/lib/new_views/common_widgets/app_filled_button.dart b/lib/new_views/common_widgets/app_filled_button.dart index 23e1dca9..b20672a2 100644 --- a/lib/new_views/common_widgets/app_filled_button.dart +++ b/lib/new_views/common_widgets/app_filled_button.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; @@ -28,11 +27,8 @@ class AppFilledButton extends StatelessWidget { height: 56.toScreenHeight, width: maxWidth ? double.infinity : null, alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - color: buttonColor ?? Theme.of(context).primaryColor, - ), - child: label.heading6(context).custom(color: textColor ?? (context.isDark ? AppColor.neutral60 : Colors.white)), + decoration: BoxDecoration(borderRadius: BorderRadius.circular(10), color: buttonColor ?? AppColor.blueStatus(context)), + child: label.heading6(context).custom(color: textColor ?? AppColor.background(context)), ).onPress(onPressed); } } diff --git a/lib/new_views/common_widgets/app_floating_action_button.dart b/lib/new_views/common_widgets/app_floating_action_button.dart index f5864933..a303508e 100644 --- a/lib/new_views/common_widgets/app_floating_action_button.dart +++ b/lib/new_views/common_widgets/app_floating_action_button.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; @@ -36,55 +35,55 @@ class _AppFloatingActionButtonState extends State { @override Widget build(BuildContext context) { final user = Provider.of(context, listen: false).user; + final elements = [ + if (user.type == UsersTypes.normal_user) fabItem(context.translation.gasRefillRequest, "gas_refill_request", NewGasRefillRequestPage.routeName), + if (user.type == UsersTypes.normal_user) const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16), + fabItem(context.translation.transferRequest, "transfer_request", RequestDeviceTransfer.id), + const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16), + fabItem(context.translation.serviceRequest, "service_request", CreateServiceRequestPage.id), + ]; const duration = Duration(milliseconds: 250); - return Column( - mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisSize: MainAxisSize.min, - children: [ - Visibility( - visible: turns != 0, - maintainAnimation: true, - maintainState: true, - child: AnimatedOpacity( - opacity: turns != 0 ? 1 : 0, - duration: duration, - child: Container( - width: MediaQuery.of(context).size.width * .66, - padding: EdgeInsets.all(16), - decoration: ShapeDecoration( - color: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), + return elements.isEmpty + ? const SizedBox.shrink() + : Column( + mainAxisAlignment: MainAxisAlignment.end, + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisSize: MainAxisSize.min, + children: [ + Visibility( + visible: turns != 0, + maintainAnimation: true, + maintainState: true, + child: AnimatedOpacity( + opacity: turns != 0 ? 1 : 0, + duration: duration, + child: Container( + width: MediaQuery.of(context).size.width * .66, + padding: const EdgeInsets.all(16), + decoration: ShapeDecoration( + color: AppColor.background(context), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + // shadows: const [BoxShadow(color: Color(0x0C000000), blurRadius: 10, offset: Offset(0, 0), spreadRadius: 0)], + ), + child: Column(mainAxisSize: MainAxisSize.min, children: elements), + ), ), - shadows: const [BoxShadow(color: Color(0x0C000000), blurRadius: 10, offset: Offset(0, 0), spreadRadius: 0)], ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - if (user.type == UsersTypes.normal_user) fabItem(context.translation.gasRefillRequest, "gas_refill_request", NewGasRefillRequestPage.routeName), - if (user.type == UsersTypes.normal_user) 1.divider.paddingOnly(top: 16, bottom: 16), - fabItem(context.translation.transferRequest, "transfer_request", RequestDeviceTransfer.id), - if (user.type == UsersTypes.normal_user) 1.divider.paddingOnly(top: 16, bottom: 16), - if (user.type == UsersTypes.normal_user) fabItem(context.translation.serviceRequest, "service_request", CreateServiceRequestPage.id), - ], + 16.height, + FloatingActionButton( + child: AnimatedRotation( + turns: turns, + duration: duration, + child: const Icon(Icons.add), + ), + onPressed: () { + _rotate(); + }, ), - ), - ), - ), - 16.height, - FloatingActionButton( - child: AnimatedRotation( - turns: turns, - duration: duration, - child: const Icon(Icons.add), - ), - onPressed: () { - _rotate(); - }, - ), - ], - ); + ], + ); } Widget fabItem(String label, String iconName, routeName) { @@ -93,21 +92,12 @@ class _AppFloatingActionButtonState extends State { children: [ Expanded( flex: 4, - child: Text( - label, - textAlign: TextAlign.center, - style: AppTextStyles.heading5.copyWith(color: AppColor.neutral50), - ), + child: label.heading5(context), ), // 4.width, Expanded( flex: 1, - child: SvgPicture.asset( - "assets/images/$iconName.svg", - height: 24.toScreenHeight, - width: 24.toScreenWidth, - color: context.isDark ? AppColor.primary40 : AppColor.primary70, - ), + child: iconName.toSvgAsset(width: 24, height: 24, color: AppColor.blueStatus(context)), ) ], ).onPress(() { diff --git a/lib/new_views/common_widgets/app_text_form_field.dart b/lib/new_views/common_widgets/app_text_form_field.dart index 1a645f83..3f7029fb 100644 --- a/lib/new_views/common_widgets/app_text_form_field.dart +++ b/lib/new_views/common_widgets/app_text_form_field.dart @@ -29,32 +29,32 @@ class AppTextFormField extends StatefulWidget { final bool alignLabelWithHint; final bool showShadow; - const AppTextFormField( - {Key key, - this.onSaved, - this.validator, - this.node, - this.onChange, - this.obscureText, - this.showPassword, - this.hintText, - this.labelText, - this.textInputType = TextInputType.text, - this.initialValue, - this.enable = true, - this.style, - this.textAlign, - this.suffixIcon, - this.prefixIcon, - this.prefixIconData, - this.prefixIconSize, - this.controller, - this.textInputAction, - this.onAction, - this.backgroundColor, - this.showShadow = true, - this.alignLabelWithHint}) - : super(key: key); + const AppTextFormField({ + Key key, + this.onSaved, + this.validator, + this.node, + this.onChange, + this.obscureText, + this.showPassword, + this.hintText, + this.labelText, + this.textInputType = TextInputType.text, + this.initialValue, + this.enable = true, + this.style, + this.textAlign, + this.suffixIcon, + this.prefixIcon, + this.prefixIconData, + this.prefixIconSize, + this.controller, + this.textInputAction, + this.onAction, + this.backgroundColor, + this.showShadow = true, + this.alignLabelWithHint, + }) : super(key: key); @override State createState() => _AppTextFormFieldState(); @@ -103,10 +103,10 @@ class _AppTextFormFieldState extends State { filled: true, fillColor: widget.backgroundColor ?? (context.isDark && (widget.enable == false) - ? AppColor.neutral60 + ? AppColor.neutral50 : (widget.enable == false) ? AppColor.neutral40 - : Theme.of(context).cardColor), + : AppColor.background(context)), errorStyle: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red60), floatingLabelStyle: AppTextStyle.body1?.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? null : AppColor.neutral20), hintText: widget.hintText ?? "", diff --git a/lib/new_views/common_widgets/single_item_drop_down_menu.dart b/lib/new_views/common_widgets/single_item_drop_down_menu.dart index 2019ee4d..b675ccc7 100644 --- a/lib/new_views/common_widgets/single_item_drop_down_menu.dart +++ b/lib/new_views/common_widgets/single_item_drop_down_menu.dart @@ -100,10 +100,10 @@ class _SingleItemDropDownMenuState with SingleTickerProviderSt 16.height, Container( margin: const EdgeInsets.only(left: 16, right: 16), - decoration: BoxDecoration(color: context.isDark ? AppColor.neutral10 : AppColor.neutral30, borderRadius: BorderRadius.circular(16)), + decoration: BoxDecoration(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, borderRadius: BorderRadius.circular(16)), child: TabBar( controller: _tabController, padding: EdgeInsets.zero, - labelColor: AppColor.neutral60, - unselectedLabelColor: AppColor.neutral20, + labelColor: context.isDark ? AppColor.neutral30 : AppColor.neutral60, + unselectedLabelColor: context.isDark ? AppColor.neutral10 : AppColor.neutral20, + unselectedLabelStyle: AppTextStyles.bodyText, + labelStyle: AppTextStyles.bodyText, indicatorPadding: const EdgeInsets.all(4), - indicator: BoxDecoration(color: context.isDark ? AppColor.neutral20 : Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), + indicator: BoxDecoration(color: context.isDark ? AppColor.neutral60 : Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), onTap: (index) { setState(() {}); }, diff --git a/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart b/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart index 4bcc3f68..22f23647 100644 --- a/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart +++ b/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; @@ -12,7 +13,7 @@ class CalendarDaysCard extends StatelessWidget { @override Widget build(BuildContext context) { - final bgColor = fill ? AppColor.primary40.withOpacity(0.3) : AppColor.neutral30; + final bgColor = fill ? AppColor.primary40.withOpacity(context.isDark ? 0.4 : 0.3) : AppColor.neutral30; final dotColor = fill ? AppColor.primary40 : AppColor.green50; return SizedBox( height: 45.toScreenWidth, @@ -24,7 +25,7 @@ class CalendarDaysCard extends StatelessWidget { width: 37.toScreenWidth, alignment: Alignment.center, decoration: BoxDecoration(shape: BoxShape.circle, color: bgColor), - child: day.bodyText(context).custom(color: AppColor.neutral50), + child: day.bodyText(context).custom(color: fill && context.isDark ? AppColor.neutral40 : AppColor.neutral50), ), if (fill) PositionedDirectional( diff --git a/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart b/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart index 1890b032..83fbbbda 100644 --- a/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart +++ b/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart @@ -88,7 +88,7 @@ class _MonthlyFragmentState extends State { calendarStyle: CalendarStyle( isTodayHighlighted: false, defaultTextStyle: AppTextStyles.bodyText, - defaultDecoration: const BoxDecoration(shape: BoxShape.circle, color: AppColor.neutral30), + defaultDecoration: BoxDecoration(shape: BoxShape.circle, color: context.isDark ? AppColor.neutral50 : AppColor.neutral30), ), ), ), diff --git a/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart index 573de50e..38a3265a 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/progress_fragment.dart @@ -8,10 +8,9 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/pages/land_page/widgets/request_item_view_list.dart'; -import 'package:test_sa/views/app_style/colors.dart'; class ProgressFragment extends StatelessWidget { - ProgressFragment({Key key}) : super(key: key); + const ProgressFragment({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -32,17 +31,33 @@ class ProgressFragment extends StatelessWidget { dataMap: statuses, animationDuration: const Duration(milliseconds: 500), chartRadius: 190.toScreenWidth, - colorList: [AColors.statusGreen, AColors.statusBlue, AColors.statusYellowLight], + colorList: [ + AppColor.greenStatus(context), + AppColor.yellowStatus(context), + AppColor.blueStatus(context), + ], initialAngleInDegree: 270, chartType: ChartType.ring, ringStrokeWidth: 40.toScreenWidth, - centerText: "${context.translation.total}\n$total", - centerTextStyle: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + sideTextStyle: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + centerWidget: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + context.translation.total, + style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), + Text( + "$total", + style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + ], + ), legendOptions: const LegendOptions(showLegends: false), chartValuesOptions: ChartValuesOptions( - chartValueBackgroundColor: Colors.white, + chartValueBackgroundColor: Theme.of(context).scaffoldBackgroundColor, showChartValuesInPercentage: true, - chartValueStyle: AppTextStyles.heading6.copyWith(color: AppColor.neutral20), + chartValueStyle: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral60), showChartValuesOutside: true, ), ).toShimmer(isShow: snapshot.isOpenLoading || snapshot.isInProgressLoading || snapshot.isCompleteLoading, radius: 300).paddingAll(12).toShadowContainer(context), @@ -53,16 +68,16 @@ class ProgressFragment extends StatelessWidget { children: [ Container( margin: const EdgeInsets.only(left: 16, right: 16), - decoration: BoxDecoration(color: AppColor.neutral30, borderRadius: BorderRadius.circular(16)), + decoration: BoxDecoration(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, borderRadius: BorderRadius.circular(16)), child: TabBar( //controller: _tabController, padding: EdgeInsets.zero, - labelColor: AppColor.neutral60, - unselectedLabelColor: AppColor.neutral20, - unselectedLabelStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), - labelStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral60), + labelColor: context.isDark ? AppColor.neutral30 : AppColor.neutral60, + unselectedLabelColor: context.isDark ? AppColor.neutral10 : AppColor.neutral20, + unselectedLabelStyle: AppTextStyles.bodyText, + labelStyle: AppTextStyles.bodyText, indicatorPadding: const EdgeInsets.all(4), - indicator: BoxDecoration(color: context.isDark ? AppColor.neutral20 : Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), + indicator: BoxDecoration(color: context.isDark ? AppColor.neutral60 : Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), onTap: (index) { // setState(() {}); }, diff --git a/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart index a5f8b1fc..063eba90 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/recent_activites_fragment.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; -import 'package:test_sa/extensions/int_extensions.dart'; +import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; @@ -19,30 +19,21 @@ class RecentActivitiesFragment extends StatelessWidget { padding: const EdgeInsets.all(16), child: Container( decoration: ShapeDecoration( - color: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - ), - shadows: const [ - BoxShadow( - color: Color(0x07000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], + color: AppColor.background(context), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + shadows: [boxShadowR14], ), child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text("Recent Activities", style: AppTextStyles.heading5.copyWith(color: AppColor.neutral50)).paddingOnly(top: 16, start: 16, end: 16), + context.translation.recentActivities.heading5(context).paddingOnly(top: 16, start: 16, end: 16), ListView.separated( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), padding: const EdgeInsets.all(16), itemCount: _notificationsProvider.notifications.length, - separatorBuilder: (context, itemIndex) => 1.divider.paddingOnly(top: 16, bottom: 16), + separatorBuilder: (context, itemIndex) => const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16), itemBuilder: (context, itemIndex) { // todo add priority & progress tag to show chip return NotificationItem( diff --git a/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart b/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart index aa5a2a63..d0395574 100644 --- a/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart +++ b/lib/new_views/pages/land_page/dashboard_fragments/requests_fragment.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; @@ -11,7 +10,7 @@ import 'package:test_sa/new_views/common_widgets/app_floating_action_button.dart import 'package:test_sa/new_views/pages/land_page/requests_list_page.dart'; class RequestsFragment extends StatelessWidget { - RequestsFragment({Key key}) : super(key: key); + const RequestsFragment({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -23,17 +22,17 @@ class RequestsFragment extends StatelessWidget { padding: const EdgeInsets.only(left: 16, right: 16, bottom: 16), gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 191 / 237, crossAxisSpacing: 16, mainAxisSpacing: 16), children: [ - gridItem(snapshot.highPriorityRequests?.total?.count?.toString() ?? "-", "high_priority", context.translation.highPriority, context, snapshot.isHighPriorityLoading, 0), - gridItem(snapshot.overdueRequests?.total?.count?.toString() ?? "-", "overdue", context.translation.overdue, context, snapshot.isOverdueLoading, 1), - gridItem(snapshot.openRequests?.total?.count?.toString() ?? "-", "new_request", context.translation.newR, context, snapshot.isOpenLoading, 2), - gridItem(snapshot.completedRequests?.total?.count?.toString() ?? "-", "complete_request", context.translation.completed, context, snapshot.isCompleteLoading, 3), + gridItem(snapshot.highPriorityRequests?.total?.count, "high_priority", context.translation.highPriority, context, snapshot.isHighPriorityLoading, 0, AppColor.redStatus(context)), + gridItem(snapshot.overdueRequests?.total?.count, "overdue", context.translation.overdue, context, snapshot.isOverdueLoading, 1, AppColor.yellowStatus(context)), + gridItem(snapshot.openRequests?.total?.count, "new_request", context.translation.newR, context, snapshot.isOpenLoading, 2, AppColor.primary40), + gridItem(snapshot.completedRequests?.total?.count, "complete_request", context.translation.completed, context, snapshot.isCompleteLoading, 3, AppColor.greenStatus(context)), ], ), ), ); } - Widget gridItem(String value, String icon, String title, BuildContext context, bool isLoading, int index) { + Widget gridItem(int value, String icon, String title, BuildContext context, bool isLoading, int index, Color iconColor) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -41,11 +40,11 @@ class RequestsFragment extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - value, + value?.toString() ?? "-", style: AppTextStyles.heading1.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50, height: 1), ).toShimmer(isShow: isLoading).expanded, 8.width, - SvgPicture.asset('assets/images/$icon.svg', height: 35, width: 35).toShimmer(isShow: isLoading), + (icon ?? "").toSvgAsset(height: 48, width: 48, color: iconColor)?.toShimmer(isShow: isLoading), ], ).expanded, Text( @@ -60,12 +59,12 @@ class RequestsFragment extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.primary40 : AppColor.primary50), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: context.isDark ? AppColor.primary40 : AppColor.primary50, size: 14, ) ], diff --git a/lib/new_views/pages/land_page/dashboard_page.dart b/lib/new_views/pages/land_page/dashboard_page.dart index b71dd7e7..1fb439e6 100644 --- a/lib/new_views/pages/land_page/dashboard_page.dart +++ b/lib/new_views/pages/land_page/dashboard_page.dart @@ -43,7 +43,7 @@ class _DashboardPageState extends State { return Scaffold( appBar: AppBar( automaticallyImplyLeading: false, - backgroundColor: context.isDark ? AppColor.neutral70 : Color(0xffF8F9FB), + backgroundColor: Theme.of(context).scaffoldBackgroundColor, titleSpacing: 0, title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -52,7 +52,7 @@ class _DashboardPageState extends State { Consumer(builder: (context, snapshot, _) { return CircleAvatar( radius: 24, - backgroundColor: const Color(0xFFE4E5E6), + backgroundColor: context.isDark ? AppColor.neutral50 : AppColor.neutral40, child: Padding( padding: const EdgeInsets.all(1), // Border radius child: ClipOval( @@ -60,11 +60,7 @@ class _DashboardPageState extends State { ? Image.file(snapshot.profileImage) : (snapshot.user.profilePhotoName?.isNotEmpty ?? false) ? Image.network(snapshot.user.profilePhotoName) - : const Icon( - Icons.person, - size: 24, - color: Colors.white, - ), + : const Icon(Icons.person, size: 24, color: Colors.white), ), ), ); @@ -72,11 +68,7 @@ class _DashboardPageState extends State { Stack( alignment: Alignment.topRight, children: [ - const Icon( - Icons.notifications, - color: Color(0xff767676), - size: 30, - ).paddingOnly(top: 6, end: 0), + Icon(Icons.notifications, color: context.isDark ? AppColor.neutral30 : AppColor.neutral20, size: 30).paddingOnly(top: 6, end: 0), // todo @sikander will add count for unread notifications // Positioned( // top: 0, @@ -121,10 +113,7 @@ class _DashboardPageState extends State { 3.width, indicatorView(2), 10.width, - Text( - "0${_currentPage + 1}/03", - style: Theme.of(context).textTheme.labelMedium?.copyWith(fontWeight: FontWeight.w500), - ), + "0${_currentPage + 1}/03".tinyFont(context).custom(fontWeight: FontWeight.w500, color: context.isDark ? AppColor.neutral30 : AppColor.neutral60), ], ), ], @@ -132,8 +121,8 @@ class _DashboardPageState extends State { PageView( onPageChanged: (index) => setState(() => _currentPage = index), children: [ - RequestsFragment(), - ProgressFragment(), + const RequestsFragment(), + const ProgressFragment(), RecentActivitiesFragment(), ], ).expanded, @@ -149,7 +138,13 @@ class _DashboardPageState extends State { duration: const Duration(milliseconds: 250), width: (isActive ? 30 : 12).toScreenWidth, height: 9.toScreenHeight, - decoration: BoxDecoration(color: isActive ? AppColor.green50 : AppColor.neutral40, borderRadius: BorderRadius.circular(8)), + decoration: BoxDecoration( + color: isActive + ? AppColor.greenStatus(context) + : context.isDark + ? AppColor.neutral20 + : AppColor.neutral40, + borderRadius: BorderRadius.circular(8)), ); } } diff --git a/lib/new_views/pages/land_page/land_page.dart b/lib/new_views/pages/land_page/land_page.dart index 62d032fc..76a74993 100644 --- a/lib/new_views/pages/land_page/land_page.dart +++ b/lib/new_views/pages/land_page/land_page.dart @@ -45,7 +45,7 @@ class _LandPageState extends State { _scaffoldKey.currentState.isDrawerOpen ? _scaffoldKey.currentState.closeDrawer() : _scaffoldKey.currentState.openDrawer(); })), // const old_page.LandPage(), - MyRequestsPage(), + const MyRequestsPage(), const MyAssetsPage(fromBottomBar: true), if (_userProvider.user.type == UsersTypes.engineer) const CalendarPage(), ]; diff --git a/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart b/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart index 7f1846ce..8d690c6a 100644 --- a/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart +++ b/lib/new_views/pages/land_page/my_request/all_requests_filter_page.dart @@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/search_all_requests_model.dart'; +import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/pages/land_page/widgets/static_filter_buttons.dart'; @@ -75,7 +76,7 @@ class _AllRequestsFilterPageState extends State { children: [ Text( context.translation.reset, - style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), ).paddingAll(8).onPress(() { setState(() { search.statuses?.clear(); diff --git a/lib/new_views/pages/land_page/my_request/all_requests_search_page.dart b/lib/new_views/pages/land_page/my_request/all_requests_search_page.dart index af995733..375cbafb 100644 --- a/lib/new_views/pages/land_page/my_request/all_requests_search_page.dart +++ b/lib/new_views/pages/land_page/my_request/all_requests_search_page.dart @@ -65,7 +65,7 @@ class _AllRequestsSearchPageState extends State { children: [ Text( context.translation.reset, - style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), + // style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), ).paddingAll(8).onPress(() { setState(() { search.requestNumber?.controller?.text = ""; diff --git a/lib/new_views/pages/land_page/my_request/my_requests_page.dart b/lib/new_views/pages/land_page/my_request/my_requests_page.dart index 15827be7..82a29932 100644 --- a/lib/new_views/pages/land_page/my_request/my_requests_page.dart +++ b/lib/new_views/pages/land_page/my_request/my_requests_page.dart @@ -52,20 +52,18 @@ class _MyRequestsPageState extends State { padding: const EdgeInsets.only(left: 16, right: 8), alignment: Alignment.center, decoration: ShapeDecoration( - color: context.isDark ? Color(0xFF3B3D4A) : Color(0xFFEAF1F4), + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Row( children: [ - const Icon(Icons.search, color: Color(0xFF757575), size: 16), + Icon(Icons.search, color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, size: 19), 8.width, Text( context.translation.search, - style: AppTextStyles.bodyText.copyWith( - color: const Color(0xFF757575), - ), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ).expanded, ], ), @@ -79,7 +77,7 @@ class _MyRequestsPageState extends State { 16.width, Text( context.translation.filter, - style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), ).onPress(() async { final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AllRequestsFilterPage(data: _search))); if (result != null) { @@ -94,29 +92,31 @@ class _MyRequestsPageState extends State { children: [ if (_filterIsEmpty()) SizedBox( - height: 34 + 16.0, + height: 50.toScreenHeight, child: ListView.separated( scrollDirection: Axis.horizontal, padding: const EdgeInsets.only(top: 16, right: 16, left: 16), itemBuilder: (cxt, index) => Container( alignment: Alignment.center, padding: const EdgeInsets.symmetric(horizontal: 8), + foregroundDecoration: selectedRequest != index + ? null + : ShapeDecoration( + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(0.1), + shape: RoundedRectangleBorder( + side: BorderSide(width: 1, color: AppColor.blueStatus(context)), + borderRadius: BorderRadius.circular(7), + ), + ), decoration: ShapeDecoration( - color: selectedRequest == index ? Color(0xFFEAF1F4) : Colors.white, + color: selectedRequest == index ? AppColor.selectedButtonColor(context) : AppColor.unSelectedButtonColor(context), shape: RoundedRectangleBorder( - side: BorderSide(width: 1, color: selectedRequest == index ? Color(0xFF4A8DB7) : Colors.white), + side: selectedRequest == index ? BorderSide(width: 1, color: AppColor.blueStatus(context)) : BorderSide.none, borderRadius: BorderRadius.circular(7), ), - shadows: const [ - BoxShadow( - color: Color(0x07000000), - blurRadius: 14, - offset: Offset(0, 0), - spreadRadius: 0, - ) - ], + shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)], ), - child: Text(requestsList[index], style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral20 : AppColor.neutral50, height: 1)), + child: Text(requestsList[index], style: AppTextStyles.bodyText2.copyWith(height: 1, color: AppColor.filterButtonTextColor(context))), ).onPress(() { if (selectedRequest != index) { setState(() { diff --git a/lib/new_views/pages/land_page/requests/asset_item_view.dart b/lib/new_views/pages/land_page/requests/asset_item_view.dart index 0f082c65..36dafcf9 100644 --- a/lib/new_views/pages/land_page/requests/asset_item_view.dart +++ b/lib/new_views/pages/land_page/requests/asset_item_view.dart @@ -6,9 +6,10 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/device/asset_transfer.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; + +import '../../../../views/widgets/requests/request_status.dart'; +import '../../../app_style/app_color.dart'; class AssetItemView extends StatelessWidget { final RequestsDetails request; @@ -26,16 +27,20 @@ class AssetItemView extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ if (request.priority != null) - StatusLabel(label: request.priority ?? "", textColor: AColors.getRequestStatusTextColorByName(request.priority), backgroundColor: AColors.getRequestStatusColorByName(request.priority)), - 8.width, - //if(request.status != null) - // StatusLabel( - // label: request.status??", - // textColor: AColors.getRequestStatusTextColorByName(request.status), - // backgroundColor: AColors.getRequestStatusColorByName(request.status), - // ), + StatusLabel( + label: request.priority ?? "", + textColor: AppColor.getRequestStatusTextColorByName(context, request.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.priority), + ), + // 8.width, + // if (request.status != null) + // StatusLabel( + // label: request.status ?? "", + // textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + // backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), + // ), 1.width.expanded, - Text(request.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), + Text(request.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), ], ), 8.height, @@ -43,23 +48,10 @@ class AssetItemView extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ - Text( - "Device Transfer Request", - maxLines: 2, - style: AppTextStyles.heading5.copyWith(color: Color(0xFF3B3D4A)), - ), - Text( - "${context.translation.from} : ${request.siteTransferFrom}", - style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), - ), - Text( - "${context.translation.to} : ${request.siteTransferTo}", - style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), - ), - Text( - "${request.status.replaceAll("=", ":")}", - style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), - ), + context.translation.deviceTransferRequest.heading5(context), + "${context.translation.from} : ${request.siteTransferFrom}".bodyText(context), + "${context.translation.to} : ${request.siteTransferTo}".bodyText(context), + request.status.replaceAll("=", ":").bodyText(context), ], ), Row( @@ -67,12 +59,12 @@ class AssetItemView extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: AppColor.blueStatus(context), size: 14, ) ], diff --git a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart index fa68746a..acb32d16 100644 --- a/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart +++ b/lib/new_views/pages/land_page/requests/gas_refill_item_view.dart @@ -6,10 +6,9 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/new_models/gas_refill_model.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; +import '../../../../views/widgets/requests/request_status.dart'; import '../../../app_style/app_color.dart'; class GasRefillItemView extends StatelessWidget { @@ -28,18 +27,17 @@ class GasRefillItemView extends StatelessWidget { children: [ StatusLabel( label: request.priority, - // id: , - textColor: AColors.getRequestStatusTextColorByName(request.priority), - backgroundColor: AColors.getRequestStatusColorByName(request.priority), + textColor: AppColor.getRequestStatusTextColorByName(context, request.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.priority), ), 8.width, StatusLabel( label: request.status, - textColor: AColors.getRequestStatusTextColorByName(request.status), - backgroundColor: AColors.getRequestStatusColorByName(request.status), + textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), ), 1.width.expanded, - Text(request.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF3B3D4A))), + Text(request.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), ], ), 8.height, @@ -52,22 +50,29 @@ class GasRefillItemView extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith( + color: AppColor.blueStatus(context), + ), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: AppColor.blueStatus(context), size: 14, ) ], ), ], ).toShadowContainer(context, showShadow: showShadow).onPress(() { - Navigator.of(context).push(MaterialPageRoute( + Navigator.of(context).push( + MaterialPageRoute( builder: (_) => GasRefillDetailsPage( - model: GasRefillModel(id: request.id), - ))); + priority: request.priority, + date: request.date, + model: GasRefillModel(id: request.id), + ), + ), + ); }); } } diff --git a/lib/new_views/pages/land_page/requests/ppm_item_view.dart b/lib/new_views/pages/land_page/requests/ppm_item_view.dart index dd026938..87dfbd05 100644 --- a/lib/new_views/pages/land_page/requests/ppm_item_view.dart +++ b/lib/new_views/pages/land_page/requests/ppm_item_view.dart @@ -6,11 +6,10 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/visits/visit.dart'; -import 'package:test_sa/views/app_style/colors.dart'; +import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/views/pages/user/visits/visit_details.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; -import '../../../app_style/app_color.dart'; +import '../../../../views/widgets/requests/request_status.dart'; class PpmItemView extends StatelessWidget { final RequestsDetails request; @@ -26,15 +25,23 @@ class PpmItemView extends StatelessWidget { Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - StatusLabel(label: request.priority, textColor: AColors.getRequestStatusTextColorByName(request.priority), backgroundColor: AColors.getRequestStatusColorByName(request.priority)), + StatusLabel( + label: request.priority, + textColor: AppColor.getRequestStatusTextColorByName(context, request.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.priority), + ), 8.width, StatusLabel( label: request.status, - textColor: AColors.getRequestStatusTextColorByName(request.status), - backgroundColor: AColors.getRequestStatusColorByName(request.status), + textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), ), 1.width.expanded, - Text(request.date?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF3B3D4A))), + Text( + request.date?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), + ), ], ), 8.height, @@ -49,15 +56,19 @@ class PpmItemView extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon(Icons.arrow_forward, color: Color(0xFF4A8DB7), size: 14) + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) ], ), ], ).toShadowContainer(context, showShadow: showShadow).onPress(() { - Navigator.of(context).push(MaterialPageRoute(builder: (_) => VisitDetailsPage(visit: Visit(id: request.id)))); + Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => VisitDetailsPage(visit: Visit(id: request.id), priority: request.priority), + ), + ); }); } } diff --git a/lib/new_views/pages/land_page/requests/service_request_item_view.dart b/lib/new_views/pages/land_page/requests/service_request_item_view.dart index 104ffbc8..6b20aad2 100644 --- a/lib/new_views/pages/land_page/requests/service_request_item_view.dart +++ b/lib/new_views/pages/land_page/requests/service_request_item_view.dart @@ -6,10 +6,10 @@ import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/all_requests_and_count_model.dart'; import 'package:test_sa/models/service_request/service_request.dart'; -import 'package:test_sa/new_views/app_style/app_color.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/pages/user/requests/service_request_details.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; + +import '../../../../views/widgets/requests/request_status.dart'; +import '../../../app_style/app_color.dart'; class ServiceRequestItemView extends StatelessWidget { final RequestsDetails request; @@ -26,11 +26,19 @@ class ServiceRequestItemView extends StatelessWidget { Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - StatusLabel(label: request.priority, textColor: AColors.getRequestStatusTextColorByName(request.priority), backgroundColor: AColors.getRequestStatusColorByName(request.priority)), + StatusLabel( + label: request.priority, + textColor: AppColor.getRequestStatusTextColorByName(context, request.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.priority), + ), 8.width, - StatusLabel(label: request.status, textColor: AColors.getRequestStatusTextColorByName(request.status), backgroundColor: AColors.getRequestStatusColorByName(request.status)), + StatusLabel( + label: request.status, + textColor: AppColor.getRequestStatusTextColorByName(context, request.status), + backgroundColor: AppColor.getRequestStatusColorByName(context, request.status), + ), 1.width.expanded, - Text(request.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF3B3D4A))), + Text(request.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)), ], ), 8.height, @@ -45,12 +53,12 @@ class ServiceRequestItemView extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: AppColor.blueStatus(context), size: 14, ) ], diff --git a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart index 684aec10..d75e0af0 100644 --- a/lib/new_views/pages/land_page/widgets/request_item_view_list.dart +++ b/lib/new_views/pages/land_page/widgets/request_item_view_list.dart @@ -22,7 +22,7 @@ class RequestItemViewList extends StatelessWidget { : ListView.separated( padding: const EdgeInsets.all(16), itemBuilder: (cxt, index) { - if (isLoading) return SizedBox().toRequestShimmer(cxt, isLoading); + if (isLoading) return const SizedBox().toRequestShimmer(cxt, isLoading); bool isServiceRequest = list[index].nameOfType == "ServiceRequest"; bool isGasRefill = list[index].nameOfType == "GasRefill"; bool isAssetTransfer = list[index].nameOfType == "AssetTransfer"; diff --git a/lib/new_views/pages/land_page/widgets/request_search_buttons.dart b/lib/new_views/pages/land_page/widgets/request_search_buttons.dart index 518e09bc..a13a6f32 100644 --- a/lib/new_views/pages/land_page/widgets/request_search_buttons.dart +++ b/lib/new_views/pages/land_page/widgets/request_search_buttons.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; @@ -45,13 +46,24 @@ class _RequestsSearchButtonsState extends State { .map( (data) => Container( padding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: (_data == data ? 12 : 8).toScreenWidth), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(7), - color: _data == data ? AppColor.neutral30 : Colors.white, - border: _data == data ? Border.all(width: 1, color: AppColor.primary50) : null, - boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)], + foregroundDecoration: _data != data + ? null + : ShapeDecoration( + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(0.1), + shape: RoundedRectangleBorder( + side: BorderSide(width: 1, color: AppColor.blueStatus(context)), + borderRadius: BorderRadius.circular(7), + ), + ), + decoration: ShapeDecoration( + color: _data == data ? AppColor.selectedButtonColor(context) : AppColor.unSelectedButtonColor(context), + shape: RoundedRectangleBorder( + side: _data == data ? BorderSide(width: 1, color: AppColor.blueStatus(context)) : BorderSide.none, + borderRadius: BorderRadius.circular(7), + ), + shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)], ), - child: data.label.tinyFont(context).custom(color: AppColor.neutral50), + child: data.label.tinyFont(context).custom(color: AppColor.filterButtonTextColor(context)), ).onPress( () { setState(() { diff --git a/lib/new_views/pages/land_page/widgets/static_filter_buttons.dart b/lib/new_views/pages/land_page/widgets/static_filter_buttons.dart index 0ecde311..4a04f62c 100644 --- a/lib/new_views/pages/land_page/widgets/static_filter_buttons.dart +++ b/lib/new_views/pages/land_page/widgets/static_filter_buttons.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; @@ -46,13 +47,24 @@ class _RequestsTypeFilterState extends State { .map( (data) => Container( padding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: (_selected.contains(widget.items[data]) ? 12 : 8).toScreenWidth), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(7), - color: _selected.contains(widget.items[data]) ? AppColor.neutral30 : Colors.white, - border: _selected.contains(widget.items[data]) ? Border.all(width: 1, color: AppColor.primary50) : null, - boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)], + foregroundDecoration: !_selected.contains(widget.items[data]) + ? null + : ShapeDecoration( + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(0.1), + shape: RoundedRectangleBorder( + side: BorderSide(width: 1, color: AppColor.blueStatus(context)), + borderRadius: BorderRadius.circular(7), + ), + ), + decoration: ShapeDecoration( + color: _selected.contains(widget.items[data]) ? AppColor.selectedButtonColor(context) : AppColor.unSelectedButtonColor(context), + shape: RoundedRectangleBorder( + side: _selected.contains(widget.items[data]) ? BorderSide(width: 1, color: AppColor.blueStatus(context)) : BorderSide.none, + borderRadius: BorderRadius.circular(7), + ), + shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)], ), - child: data.tinyFont(context).custom(color: AppColor.neutral50), + child: data.tinyFont(context).custom(color: AppColor.filterButtonTextColor(context)), ).onPress( () { if (_selected.contains(widget.items[data])) { diff --git a/lib/views/app_style/colors.dart b/lib/views/app_style/colors.dart index 01fc33cd..14775a03 100644 --- a/lib/views/app_style/colors.dart +++ b/lib/views/app_style/colors.dart @@ -1,144 +1,144 @@ -import 'package:flutter/material.dart'; -import 'package:test_sa/new_views/app_style/app_color.dart'; - -class AColors { - AColors._(); - - static const Color white = Color(0xffffffff); - static const Color black = Color(0xff000000); - static const Color grey3A = Color(0xff2e303a); - static const Color grey = Color(0xffe1e7e7); - static const green = Colors.green; - static const Color orange = Colors.orange; - static const Color deepOrange = Colors.deepOrangeAccent; - static const Color red = Colors.red; - static const Color deepRed = Color(0xFFD32F2F); - static const Color scaffoldBackgroundColor = Color(0xffffffff); - static const Color secondaryColor = Color(0xff111427); - static const Color primaryColor = Color(0xff5bb0da); - static const Color cyan = Color(0xff4A8DB7); - static const Color onPrimaryColor = Color(0xffffffff); - static Color inputFieldBackgroundColor = Color(0xfff5f5f5); - static Color greyEF = Color(0xffEFEFEF); - - static Color statusYellow = const Color(0xFF886300); - static Color statusYellowLight = const Color(0xFFFFEDBC); - static Color statusGreen = const Color(0xFF62BE96); - static Color statusGreenLight = const Color(0xFF62BE96); - static Color statusRed = const Color(0xFF8C0409); - static Color statusRedLight = const Color(0xFFFFDBDC); - static Color statusBlue = AppColor.primary50; - // static Color statusBlueLight = const Color(0xFFA2E2F8); - static Color statusDefault = const Color(0xFF3B3D4A); - - static Color getRequestStatusTextColorByName(String status) { - switch ((status ?? "").toLowerCase()) { - case "in progress": - return AColors.statusYellow; - case "high priority": - return AColors.statusRed; - // case "low priority": - // return AColors.statusGreen; - default: - return AColors.white; - } - } - - static Color getRequestStatusColorByName(String status) { - switch ((status ?? "").toLowerCase()) { - case "medium": - return AColors.statusBlue.withOpacity(0.7); - case "in progress": - return AColors.statusYellowLight; - case "complete": - return AColors.statusGreenLight; - case "closed": - return AColors.statusGreenLight; - case "high priority": - return AColors.statusRedLight; - case "low priority": - return AColors.statusGreenLight; - case "open": - return AColors.statusBlue.withOpacity(0.7); - default: - return AColors.statusDefault; - } - } - - static Color getRequestStatusColor(int id) { - switch (id) { - case 1: - return AColors.statusBlue.withOpacity(0.7); - case 2: - return AColors.statusYellowLight; - case 3: - return AColors.statusGreenLight; - case 4: - return AColors.statusRedLight; - case 6: - return AColors.statusGreenLight; - case 5: - return AColors.statusGreenLight; - case 8: - return AColors.statusGreenLight; - case 9: - return AColors.orange; - default: - return AColors.statusDefault; - } - } - - static Color getRequestStatusTextColor(int id) { - switch (id) { - case 2: - return AColors.statusYellow; - case 3: - return AColors.white; - case 4: - return AColors.deepRed; - case 6: - return AColors.green; - case 5: - return AColors.white; - case 8: - return AColors.green; - case 9: - return AColors.orange; - default: - return AColors.white; - } - } - - static Color getGasStatusColor(int id) { - switch (id) { - case 0: - return AColors.orange; - case 1: - return AColors.green; - default: - return AColors.statusDefault; - } - } - - static Color getPriorityStatusTextColor(int id) { - switch (id) { - case 81: - return AColors.white; - case 82: - return AColors.statusRed; - default: - return AColors.statusDefault; - } - } - - static Color getPriorityStatusColor(int id) { - switch (id) { - case 81: - return AColors.statusGreenLight; - case 82: - return AColors.statusRedLight; - default: - return AColors.statusDefault; - } - } -} +// import 'package:flutter/material.dart'; +// import 'package:test_sa/new_views/app_style/app_color.dart'; +// +// class AColors { +// AColors._(); +// +// static const Color white = Color(0xffffffff); +// static const Color black = Color(0xff000000); +// static const Color grey3A = Color(0xff2e303a); +// static const Color grey = Color(0xffe1e7e7); +// static const green = Colors.green; +// static const Color orange = Colors.orange; +// static const Color deepOrange = Colors.deepOrangeAccent; +// static const Color red = Colors.red; +// static const Color deepRed = Color(0xFFD32F2F); +// static const Color scaffoldBackgroundColor = Color(0xffffffff); +// static const Color secondaryColor = Color(0xff111427); +// static const Color primaryColor = Color(0xff5bb0da); +// static const Color cyan = Color(0xff4A8DB7); +// static const Color onPrimaryColor = Color(0xffffffff); +// static Color inputFieldBackgroundColor = Color(0xfff5f5f5); +// static Color greyEF = Color(0xffEFEFEF); +// +// static Color statusYellow = const Color(0xFF886300); +// static Color statusYellowLight = const Color(0xFFFFEDBC); +// static Color statusGreen = const Color(0xFF62BE96); +// static Color statusGreenLight = const Color(0xFF62BE96); +// static Color statusRed = const Color(0xFF8C0409); +// static Color statusRedLight = const Color(0xFFFFDBDC); +// static Color statusBlue = AppColor.primary50; +// // static Color statusBlueLight = const Color(0xFFA2E2F8); +// static Color statusDefault = const Color(0xFF3B3D4A); +// +// static Color getRequestStatusTextColorByName(String status) { +// switch ((status ?? "").toLowerCase()) { +// case "in progress": +// return AColors.statusYellow; +// case "high priority": +// return AColors.statusRed; +// // case "low priority": +// // return AColors.statusGreen; +// default: +// return AColors.white; +// } +// } +// +// static Color getRequestStatusColorByName(String status) { +// switch ((status ?? "").toLowerCase()) { +// case "medium": +// return AColors.statusBlue.withOpacity(0.7); +// case "in progress": +// return AColors.statusYellowLight; +// case "complete": +// return AColors.statusGreenLight; +// case "closed": +// return AColors.statusGreenLight; +// case "high priority": +// return AColors.statusRedLight; +// case "low priority": +// return AColors.statusGreenLight; +// case "open": +// return AColors.statusBlue.withOpacity(0.7); +// default: +// return AColors.statusDefault; +// } +// } +// +// static Color getRequestStatusColor(int id) { +// switch (id) { +// case 1: +// return AColors.statusBlue.withOpacity(0.7); +// case 2: +// return AColors.statusYellowLight; +// case 3: +// return AColors.statusGreenLight; +// case 4: +// return AColors.statusRedLight; +// case 6: +// return AColors.statusGreenLight; +// case 5: +// return AColors.statusGreenLight; +// case 8: +// return AColors.statusGreenLight; +// case 9: +// return AColors.orange; +// default: +// return AColors.statusDefault; +// } +// } +// +// static Color getRequestStatusTextColor(int id) { +// switch (id) { +// case 2: +// return AColors.statusYellow; +// case 3: +// return AColors.white; +// case 4: +// return AColors.deepRed; +// case 6: +// return AColors.green; +// case 5: +// return AColors.white; +// case 8: +// return AColors.green; +// case 9: +// return AColors.orange; +// default: +// return AColors.white; +// } +// } +// +// static Color getGasStatusColor(int id) { +// switch (id) { +// case 0: +// return AColors.orange; +// case 1: +// return AColors.green; +// default: +// return AColors.statusDefault; +// } +// } +// +// static Color getPriorityStatusTextColor(int id) { +// switch (id) { +// case 81: +// return AColors.white; +// case 82: +// return AColors.statusRed; +// default: +// return AColors.statusDefault; +// } +// } +// +// static Color getPriorityStatusColor(int id) { +// switch (id) { +// case 81: +// return AColors.statusGreenLight; +// case 82: +// return AColors.statusRedLight; +// default: +// return AColors.statusDefault; +// } +// } +// } diff --git a/lib/views/pages/device_transfer/device_transfer_details.dart b/lib/views/pages/device_transfer/device_transfer_details.dart index 04674759..40c0b3dc 100644 --- a/lib/views/pages/device_transfer/device_transfer_details.dart +++ b/lib/views/pages/device_transfer/device_transfer_details.dart @@ -7,7 +7,6 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/device/asset_transfer.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/pages/device_transfer/update_device_transfer.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; @@ -101,8 +100,11 @@ class _DeviceTransferDetailsState extends State { // ], // ), 1.width, - Text(_model?.createdOn != null ? _model.createdOn.toServiceRequestCardFormat : "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF3B3D4A))), + Text( + _model?.createdOn != null ? _model.createdOn.toServiceRequestCardFormat : "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), ], ), ], @@ -122,8 +124,9 @@ class _DeviceTransferDetailsState extends State { ? StatusLabel( label: _model?.senderMachineStatusName, id: _model?.senderMachineStatusId, - textColor: AColors.getRequestStatusTextColorByName(_model.senderMachineStatusName), - backgroundColor: AColors.getRequestStatusColorByName(_model.senderMachineStatusName)) + textColor: AppColor.getRequestStatusTextColorByName(context, _model.senderMachineStatusName), + backgroundColor: AppColor.getRequestStatusColorByName(context, _model.senderMachineStatusName), + ) : null, ), 8.height, @@ -141,8 +144,8 @@ class _DeviceTransferDetailsState extends State { ? StatusLabel( label: _model?.receiverMachineStatusName ?? "", id: _model?.receiverMachineStatusId, - textColor: AColors.getRequestStatusTextColorByName(_model.receiverMachineStatusName), - backgroundColor: AColors.getRequestStatusColorByName(_model.receiverMachineStatusName)) + textColor: AppColor.getRequestStatusTextColorByName(context, _model.receiverMachineStatusName), + backgroundColor: AppColor.getRequestStatusColorByName(context, _model.receiverMachineStatusName)) : null, ), ], @@ -175,7 +178,7 @@ class _DeviceTransferDetailsState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ statusLabel ?? Container(), - 8.height, + if (statusLabel != null) 8.height, isSender ? context.translation.senderDetails.heading5(context) : context.translation.receiverDetails.heading5(context), ], ), @@ -192,7 +195,7 @@ class _DeviceTransferDetailsState extends State { _buildTextWidget('${context.translation.unite} : $unit'), if (comment != null && comment.isNotEmpty) ...[ 8.height, - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), 8.height, _buildTextWidget(comment), ] diff --git a/lib/views/pages/sub_workorder/search_sub_workorder_page.dart b/lib/views/pages/sub_workorder/search_sub_workorder_page.dart index 91c9a25a..c3eba371 100644 --- a/lib/views/pages/sub_workorder/search_sub_workorder_page.dart +++ b/lib/views/pages/sub_workorder/search_sub_workorder_page.dart @@ -13,7 +13,6 @@ import 'package:test_sa/views/widgets/hospitals/hospital_auto_complete_field_new import '../../../controllers/api_routes/http_status_manger.dart'; import '../../../controllers/providers/api/status_drop_down/report/service_report_maintenance_situation_provider.dart'; import '../../../models/new_models/assigned_employee.dart'; -import '../../app_style/colors.dart'; import '../../widgets/buttons/app_back_button.dart'; import '../../widgets/buttons/app_button.dart'; import '../../widgets/status/report/service_report_all_users.dart'; @@ -54,7 +53,7 @@ class _SearchSubWorkOrderPageState extends State { child: Column( children: [ Container( - color: AColors.primaryColor, + // color: AColors.primaryColor, padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ @@ -65,7 +64,7 @@ class _SearchSubWorkOrderPageState extends State { child: Center( child: Text( "Search Work Order", - style: Theme.of(context).textTheme.titleLarge.copyWith(color: AColors.white, fontStyle: FontStyle.italic), + // style: Theme.of(context).textTheme.titleLarge.copyWith(color: AColors.white, fontStyle: FontStyle.italic), ), ), ), diff --git a/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart b/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart index 1b6cf52d..76a96d93 100644 --- a/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart +++ b/lib/views/pages/sub_workorder/spare_parts_details_bottom_sheet.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/service_request/search_work_order.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import '../../../models/service_request/spare_parts.dart'; import '../../app_style/sizing.dart'; @@ -71,12 +70,12 @@ class _SparePartsBottomSheetState extends State { width: double.infinity, padding: const EdgeInsets.all(16), margin: const EdgeInsets.symmetric(vertical: 16), - decoration: BoxDecoration(color: AColors.grey, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: const [ - BoxShadow( - color: AColors.grey, - offset: Offset(0, -1), - ) - ]), + // decoration: BoxDecoration(color: AColors.grey, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: const [ + // BoxShadow( + // color: AColors.grey, + // offset: Offset(0, -1), + // ) + // ]), child: Column( mainAxisSize: MainAxisSize.min, children: [ diff --git a/lib/views/pages/sub_workorder/workorder_item.dart b/lib/views/pages/sub_workorder/workorder_item.dart index efca3091..215703f8 100644 --- a/lib/views/pages/sub_workorder/workorder_item.dart +++ b/lib/views/pages/sub_workorder/workorder_item.dart @@ -2,9 +2,7 @@ import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; import '../../../models/service_request/search_work_order.dart'; @@ -137,7 +135,7 @@ class WorkOrderItem extends StatelessWidget { ), ), ), - if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, backgroundColor: AColors.getGasStatusColor(item.callRequest.status.id)), + // if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, backgroundColor: AColors.getGasStatusColor(item.callRequest.status.id)), ], ), ], diff --git a/lib/views/pages/sub_workorder/workorder_list.dart b/lib/views/pages/sub_workorder/workorder_list.dart index b6855823..6759d800 100644 --- a/lib/views/pages/sub_workorder/workorder_list.dart +++ b/lib/views/pages/sub_workorder/workorder_list.dart @@ -5,7 +5,6 @@ import 'package:test_sa/views/pages/sub_workorder/workorder_item.dart'; import '../../../controllers/providers/api/service_requests_provider.dart'; import '../../../models/service_request/search_work_order.dart'; -import '../../app_style/colors.dart'; import '../../widgets/buttons/app_back_button.dart'; import '../../widgets/loaders/lazy_loading.dart'; import '../../widgets/loaders/no_item_found.dart'; @@ -39,7 +38,7 @@ class _WorkOrderListState extends State { child: Column( children: [ Container( - color: AColors.primaryColor, + // color: AColors.primaryColor, padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ @@ -50,7 +49,7 @@ class _WorkOrderListState extends State { child: Center( child: Text( "Work Order List", - style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic), + // style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic), ), ), ), diff --git a/lib/views/pages/sub_workorder/workorder_update.dart b/lib/views/pages/sub_workorder/workorder_update.dart index 0b925248..e737acc3 100644 --- a/lib/views/pages/sub_workorder/workorder_update.dart +++ b/lib/views/pages/sub_workorder/workorder_update.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/views/pages/sub_workorder/workorder_details.dart'; import '../../../models/service_request/search_work_order.dart'; -import '../../app_style/colors.dart'; import '../../widgets/buttons/app_back_button.dart'; import '../../widgets/loaders/loading_manager.dart'; @@ -43,7 +42,7 @@ class _WorkOrderUpdateState extends State { child: Center( child: Text( "Work Order", - style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic), + // style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic), ), ), ), diff --git a/lib/views/pages/user/gas_refill/gas_refill_details.dart b/lib/views/pages/user/gas_refill/gas_refill_details.dart index 7cc1e788..9ea15801 100644 --- a/lib/views/pages/user/gas_refill/gas_refill_details.dart +++ b/lib/views/pages/user/gas_refill/gas_refill_details.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/gas_refill_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; @@ -7,23 +6,22 @@ import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; -import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/pages/user/gas_refill/request_gas_refill.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; import '../../../../extensions/text_extensions.dart'; import '../../../../models/enums/user_types.dart'; import '../../../../models/new_models/gas_refill_model.dart'; import '../../../../new_views/app_style/app_color.dart'; import '../../../../new_views/common_widgets/default_app_bar.dart'; -import '../../../app_style/colors.dart'; +import '../../../widgets/requests/request_status.dart'; class GasRefillDetailsPage extends StatefulWidget { GasRefillModel model; + String priority, date; - GasRefillDetailsPage({Key key, this.model}) : super(key: key); + GasRefillDetailsPage({Key key, this.priority, this.date, this.model}) : super(key: key); @override State createState() => _GasRefillDetailsPageState(); @@ -78,77 +76,74 @@ class _GasRefillDetailsPageState extends State { Widget informationCard(GasRefillModel gasRefillModel) { return Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Column( - mainAxisSize: MainAxisSize.min, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( + Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, + Row( children: [ - /// TBD - //StatusLabel( - //label: item.priority.name, - //id: serviceRequest.priority.id, - //textColor: AColors.getPriorityStatusTextColor(serviceRequest.priority.id), - //backgroundColor: AColors.getPriorityStatusColor(serviceRequest.priority.id) - //), - // 8.width, + if (widget.priority != null) + StatusLabel( + label: widget.priority, + textColor: AppColor.getRequestStatusTextColorByName(context, widget.priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, widget.priority), + ), + 8.width, StatusLabel( label: gasRefillModel.status?.name ?? "", - textColor: AColors.getRequestStatusTextColorByName(gasRefillModel.status.name), - backgroundColor: AColors.getRequestStatusColorByName(gasRefillModel.status.name), + textColor: AppColor.getRequestStatusTextColorByName(context, gasRefillModel.status?.name ?? ""), + backgroundColor: AppColor.getRequestStatusColorByName(context, gasRefillModel.status?.name ?? ""), ), - 8.height, - context.translation.gasRefillRequest.heading5(context), - 8.height, - - ///TBD - '${context.translation.gasRequest}: ${gasRefillModel.gazRefillDetails[0].gasType?.name}'.bodyText(context), - '${context.translation.cylinderSize}: ${gasRefillModel.gazRefillDetails[0].cylinderSize?.name}'.bodyText(context), - '${context.translation.site}: ${gasRefillModel.site?.name}'.bodyText(context), ], ), - 1.width.expanded, - Column( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - if (_userProvider.user.type == UsersTypes.engineer && (gasRefillModel.status?.value ?? 0) != 2) - "edit".toSvgAsset(height: 48, width: 48).onPress( - () async { - _model?.fromGasRefillModel(gasRefillModel); - // setState(() {}); - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => RequestGasRefill( - gasRefillModel: gasRefillModel, - ), - ), - ).then((value) { - if (value != null) { - _model = value; - } - }); + 8.height, + context.translation.gasRefillRequest.heading5(context), + 8.height, + '${context.translation.gasRequest}: ${gasRefillModel.gazRefillDetails[0].gasType?.name}'.bodyText(context), + '${context.translation.cylinderSize}: ${gasRefillModel.gazRefillDetails[0].cylinderSize?.name}'.bodyText(context), + '${context.translation.site}: ${gasRefillModel.site?.name}'.bodyText(context), + const Divider().defaultStyle(context), + '${context.translation.requestedQuantity}: ${gasRefillModel.gazRefillDetails[0]?.requestedQty ?? 0}'.bodyText(context), + '${context.translation.deliveredQuantity}: ${gasRefillModel.gazRefillDetails[0]?.deliverdQty ?? 0}'.bodyText(context), + 8.height, + ], + ).expanded, + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + if (_userProvider.user.type == UsersTypes.engineer && (gasRefillModel.status?.value ?? 0) != 2) + "edit".toSvgAsset(height: 48, width: 48).onPress( + () async { + _model?.fromGasRefillModel(gasRefillModel); + // setState(() {}); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => RequestGasRefill(gasRefillModel: gasRefillModel), + ), + ).then((value) { + if (value != null) { + _model = value; setState(() {}); - }, - ), - Text(gasRefillModel.expectedDate?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), - ], - ) + } + }); + }, + ), + if (_userProvider.user.type == UsersTypes.engineer && (gasRefillModel.status?.value ?? 0) != 2) 8.height, + Text( + (widget.date ?? gasRefillModel.expectedDate)?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), + ), ], ), - 8.height, - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), - 8.height, - '${context.translation.requestedQuantity}: ${gasRefillModel.gazRefillDetails[0]?.requestedQty ?? 0}'.bodyText(context), - '${context.translation.deliveredQuantity}: ${gasRefillModel.gazRefillDetails[0]?.deliverdQty ?? 0}'.bodyText(context), - 8.height, ], - ).paddingAll(16), + ).paddingOnly(top: 16, start: 16, end: 16), /// TBD (_userProvider.user.type == UsersTypes.normal_user @@ -157,9 +152,9 @@ class _GasRefillDetailsPageState extends State { padding: const EdgeInsets.only(left: 16, right: 16), alignment: Alignment.center, width: double.infinity, - decoration: const ShapeDecoration( - color: Color(0xFFEAF1F4), - shape: RoundedRectangleBorder( + decoration: ShapeDecoration( + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, + shape: const RoundedRectangleBorder( borderRadius: BorderRadius.only( bottomLeft: Radius.circular(20), bottomRight: Radius.circular(20), @@ -171,10 +166,10 @@ class _GasRefillDetailsPageState extends State { Text( '${context.translation.commentHere}...', style: AppTextStyles.heading6.copyWith( - color: AppColor.neutral50.withOpacity(.6), + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6), ), ).expanded, - SvgPicture.asset("assets/images/comment_send.svg", width: 24 * AppStyle.getScaleFactor(context), height: 20 * AppStyle.getScaleFactor(context), color: AppColor.primary70), + "comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70), ], ), ) @@ -182,19 +177,19 @@ class _GasRefillDetailsPageState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), - 16.height, + const Divider().defaultStyle(context), + 8.height, Row( mainAxisSize: MainAxisSize.min, children: [ Text( '${context.translation.viewComments}', - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: AppColor.blueStatus(context), size: 14, ) ], diff --git a/lib/views/pages/user/notifications/notifications_list.dart b/lib/views/pages/user/notifications/notifications_list.dart index 41824107..16922f23 100644 --- a/lib/views/pages/user/notifications/notifications_list.dart +++ b/lib/views/pages/user/notifications/notifications_list.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; -import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/system_notification_model.dart'; import 'package:test_sa/views/widgets/loaders/lazy_loading.dart'; @@ -29,7 +28,7 @@ class NotificationsList extends StatelessWidget { physics: const NeverScrollableScrollPhysics(), padding: const EdgeInsets.all(0), itemCount: notifications.length, - separatorBuilder: (context, itemIndex) => 1.divider.paddingOnly(top: 16, bottom: 16), + separatorBuilder: (context, itemIndex) => const Divider().defaultStyle(context).paddingOnly(top: 16, bottom: 16), itemBuilder: (context, itemIndex) { return NotificationItem( notification: notifications[itemIndex], diff --git a/lib/views/pages/user/report_issues_page.dart b/lib/views/pages/user/report_issues_page.dart index 0cc90c50..652b5c35 100644 --- a/lib/views/pages/user/report_issues_page.dart +++ b/lib/views/pages/user/report_issues_page.dart @@ -8,7 +8,6 @@ import 'package:test_sa/controllers/validator/validator.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/issue.dart'; import 'package:test_sa/models/service_request/service_request.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/app_text_form_field.dart'; import 'package:test_sa/views/widgets/buttons/app_back_button.dart'; @@ -65,7 +64,7 @@ class _ReportIssuesPageState extends State { ), child: Text( context.translation.reportIssue, - style: Theme.of(context).textTheme.headline5.copyWith(color: AColors.cyan, fontWeight: FontWeight.bold), + // style: Theme.of(context).textTheme.headline5.copyWith(color: AColors.cyan, fontWeight: FontWeight.bold), ), ), ), @@ -79,14 +78,14 @@ class _ReportIssuesPageState extends State { vertical: 16, ), decoration: BoxDecoration( - color: AColors.grey, + // color: AColors.grey, borderRadius: BorderRadius.only( topLeft: Radius.circular(AppStyle.getBorderRadius(context)), topRight: Radius.circular(AppStyle.getBorderRadius(context)), ), boxShadow: [ BoxShadow( - color: AColors.grey, + // color: AColors.grey, offset: Offset(0, -1), ) ]), diff --git a/lib/views/pages/user/requests/service_request_details.dart b/lib/views/pages/user/requests/service_request_details.dart index f0157eaa..1cc7b397 100644 --- a/lib/views/pages/user/requests/service_request_details.dart +++ b/lib/views/pages/user/requests/service_request_details.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/comments_provider.dart'; import 'package:test_sa/controllers/providers/api/service_requests_provider.dart'; @@ -14,16 +13,14 @@ import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/common_widgets/app_filled_button.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; -import 'package:test_sa/views/app_style/colors.dart'; -import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/pages/user/requests/comments_bottom_sheet.dart'; import 'package:test_sa/views/pages/user/requests/update_service_request_page.dart'; import 'package:test_sa/views/pages/user/requests/work_order/work_orders_list_page.dart'; import 'package:test_sa/views/widgets/images/files_list.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; -import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'package:test_sa/views/widgets/sound/sound_player.dart'; +import '../../../widgets/requests/request_status.dart'; import 'first_action_bottom_sheet.dart'; class ServiceRequestDetailsPage extends StatefulWidget { @@ -73,32 +70,34 @@ class _ServiceRequestDetailsPageState extends State { Row( children: [ StatusLabel( - label: serviceRequest.priority.name, - id: serviceRequest.priority.id, - textColor: AColors.getPriorityStatusTextColor(serviceRequest.priority.id), - backgroundColor: AColors.getPriorityStatusColor(serviceRequest.priority.id)), + label: serviceRequest.priority.name, + id: serviceRequest.priority.id, + textColor: AppColor.getPriorityStatusTextColor(context, serviceRequest.priority.id), + backgroundColor: AppColor.getPriorityStatusColor(context, serviceRequest.priority.id), + ), 8.width, StatusLabel( - label: serviceRequest.statusLabel, - textColor: AColors.getRequestStatusTextColor(serviceRequest.statusValue), - backgroundColor: AColors.getRequestStatusColor(serviceRequest.statusValue)), + label: serviceRequest.statusLabel, + textColor: AppColor.getRequestStatusTextColor(context, serviceRequest.statusValue), + backgroundColor: AppColor.getRequestStatusColor(context, serviceRequest.statusValue), + ), 1.width.expanded, ], ), 8.height, - Text(serviceRequest.deviceEnName, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), + Text(serviceRequest.deviceEnName, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)), 8.height, Text( '${context.translation.assetNumber}: ${serviceRequest.device.assetNumber}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), Text( '${context.translation.requestType}: ${serviceRequest.type.name}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), Text( '${context.translation.requestNo}: ${serviceRequest.requestCode}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), ], ).expanded, @@ -110,39 +109,42 @@ class _ServiceRequestDetailsPageState extends State { Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: serviceRequest))); }), if (_userProvider.user.type == UsersTypes.engineer) 16.height, - Text(serviceRequest.date.toServiceRequestCardFormat, - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), + Text( + serviceRequest.date.toServiceRequestCardFormat, + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), ], ) ], ), 8.height, - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), 8.height, Text( '${context.translation.manufacture}: ${serviceRequest.device.modelDefinition.manufacturerName}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), Text( '${context.translation.model}: ${serviceRequest.device.modelDefinition.modelName}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), 8.height, if ((serviceRequest.callComments ?? "").isNotEmpty) ...[ - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), 8.height, Text( serviceRequest.callComments, - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), ], if (serviceRequest.devicePhotos.isNotEmpty) ...[ 8.height, - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), FilesList(images: serviceRequest.devicePhotos), ], if (serviceRequest.audio?.isNotEmpty ?? false) ...[ - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), 16.height, ASoundPlayer(audio: serviceRequest.audio), 8.height, @@ -155,9 +157,9 @@ class _ServiceRequestDetailsPageState extends State { padding: const EdgeInsets.only(left: 16, right: 16), alignment: Alignment.center, width: double.infinity, - decoration: const ShapeDecoration( - color: Color(0xFFEAF1F4), - shape: RoundedRectangleBorder( + decoration: ShapeDecoration( + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, + shape: const RoundedRectangleBorder( borderRadius: BorderRadius.only( bottomLeft: Radius.circular(20), bottomRight: Radius.circular(20), @@ -169,10 +171,10 @@ class _ServiceRequestDetailsPageState extends State { Text( '${context.translation.commentHere}...', style: AppTextStyles.heading6.copyWith( - color: AppColor.neutral50.withOpacity(.6), + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(.6), ), ).expanded, - SvgPicture.asset("assets/images/comment_send.svg", width: 24 * AppStyle.getScaleFactor(context), height: 20 * AppStyle.getScaleFactor(context), color: AppColor.primary70), + "comment_send".toSvgAsset(width: 24, color: context.isDark ? AppColor.primary50 : AppColor.primary70), ], ), ) @@ -180,21 +182,17 @@ class _ServiceRequestDetailsPageState extends State { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), + const Divider().defaultStyle(context), 16.height, Row( mainAxisSize: MainAxisSize.min, children: [ Text( context.translation.viewComments, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( - Icons.arrow_forward, - color: Color(0xFF4A8DB7), - size: 14, - ) + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) ], ), ], diff --git a/lib/views/pages/user/requests/work_order/part_no_button.dart b/lib/views/pages/user/requests/work_order/part_no_button.dart index af32e3c5..9891413a 100644 --- a/lib/views/pages/user/requests/work_order/part_no_button.dart +++ b/lib/views/pages/user/requests/work_order/part_no_button.dart @@ -54,8 +54,8 @@ class _PartNoButtonState extends State { collapsedShape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), tilePadding: const EdgeInsets.symmetric(horizontal: 16), childrenPadding: const EdgeInsets.symmetric(horizontal: 16), - backgroundColor: Theme.of(context).cardColor, - collapsedBackgroundColor: Theme.of(context).cardColor, + backgroundColor: AppColor.background(context), + collapsedBackgroundColor: AppColor.background(context), children: [ SingleItemDropDownMenu( context: context, @@ -90,7 +90,7 @@ class _PartNoButtonState extends State { label: context.translation.add, maxWidth: true, textColor: Colors.white, - buttonColor: context.isDark ? AppColor.neutral60 : AppColor.neutral50, + buttonColor: AppColor.neutral50, onPressed: () { if (current != null && _formKey.currentState.validate()) { _formKey.currentState.save(); diff --git a/lib/views/pages/user/requests/work_order/work_order_details_page.dart b/lib/views/pages/user/requests/work_order/work_order_details_page.dart index 727ce5f4..cd2b654d 100644 --- a/lib/views/pages/user/requests/work_order/work_order_details_page.dart +++ b/lib/views/pages/user/requests/work_order/work_order_details_page.dart @@ -32,53 +32,62 @@ class WorkOrderDetailsPage extends StatelessWidget { body: Column( children: [ SingleChildScrollView( - child: Column( + child: Row( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + StatusLabel( + label: workOrder.currentSituation.name, + textColor: AppColor.getRequestStatusTextColorByName(context, workOrder.currentSituation.name), + backgroundColor: AppColor.getRequestStatusColorByName(context, workOrder.currentSituation.name), + ), + 8.height, + Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)), + 8.height, + Text( + '${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + Text( + '${context.translation.status}: ${workOrder.currentSituation.name}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + Text( + '${context.translation.orderWorkNumber}: ${workOrder.workOrderNo}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + Text( + '${context.translation.assignedEmployee}: ${workOrder.assignedEmployee?.name ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + Text('${context.translation.assetSN}: ${workOrder.callRequest.asset.assetSerialNo ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + Text('${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + Text('${context.translation.assetNumber}: ${workOrder.callRequest.asset.assetNumber ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + Text('${context.translation.model}: ${workOrder.callRequest.asset.modelDefinition.modelName ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + Text('${context.translation.site}: ${workOrder.callRequest.asset.site.custName ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + Text('${context.translation.callLastSituation}: ${workOrder.calllastSituation.name ?? '' ?? ""}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), + ], + ).expanded, + Column( + crossAxisAlignment: CrossAxisAlignment.end, children: [ - StatusLabel(label: workOrder.currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40), if (userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) Align(alignment: AlignmentDirectional.centerEnd, child: "edit".toSvgAsset(height: 48, width: 48)).onPress(() { Navigator.of(context).push(MaterialPageRoute(builder: (_) => UpdateServiceReport(workOrder: workOrder, request: serviceRequest))); }), + if (userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height, + Text(workOrder.visitDate?.toServiceRequestCardFormat ?? "", style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20)), ], - ), - 8.height, - Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), - 8.height, - Text( - '${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - Text( - '${context.translation.status}: ${workOrder.currentSituation.name}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - Text( - '${context.translation.orderWorkNumber}: ${workOrder.workOrderNo}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - Text( - '${context.translation.assignedEmployee}: ${workOrder.assignedEmployee?.name ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - Text('${context.translation.visitDate}: ${workOrder.visitDate?.toServiceRequestDetailsFormat ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.assetSN}: ${workOrder.callRequest.asset.assetSerialNo ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.assetNumber}: ${workOrder.callRequest.asset.assetNumber ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.model}: ${workOrder.callRequest.asset.modelDefinition.modelName ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.site}: ${workOrder.callRequest.asset.site.custName ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), - Text('${context.translation.callLastSituation}: ${workOrder.calllastSituation.name ?? '' ?? ""}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575))), + ) ], ).toShadowContainer(context), ).paddingAll(16).expanded, diff --git a/lib/views/pages/user/requests/work_order/work_orders_list_page.dart b/lib/views/pages/user/requests/work_order/work_orders_list_page.dart index cb58d171..76b3d90e 100644 --- a/lib/views/pages/user/requests/work_order/work_orders_list_page.dart +++ b/lib/views/pages/user/requests/work_order/work_orders_list_page.dart @@ -52,57 +52,27 @@ class WorkOrderListPage extends StatelessWidget { itemCount: workOrders.length, separatorBuilder: (czt, index) => 8.height, itemBuilder: (context, index) { - Color itemColor = index % 2 == 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary; - Color onItemColor = index % 2 != 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary; - - return Column( + return Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - StatusLabel(label: workOrders[index].currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40), - 8.height, - Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), - ], - ).expanded, - if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) - "edit".toSvgAsset(height: 48, width: 48).onPress(() { - Navigator.of(context).push( - MaterialPageRoute(builder: (_) => UpdateServiceReport(request: serviceRequest, workOrder: workOrders[index])), - ); - }) - ], + StatusLabel( + label: workOrders[index].currentSituation.name, + textColor: AppColor.getRequestStatusTextColorByName(context, workOrders[index].currentSituation.name), + backgroundColor: AppColor.getRequestStatusColorByName(context, workOrders[index].currentSituation.name), ), 8.height, - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '${context.translation.assetName}: ${workOrders[index].callRequest.asset.modelDefinition.assetName}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - Text( - '${context.translation.status}: ${workOrders[index].currentSituation.name}', - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF757575)), - ), - ], - ).expanded, - Text(workOrders[index].visitDate?.toServiceRequestCardFormat ?? "", - textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), - ], + Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)), + Text( + '${context.translation.assetName}: ${workOrders[index].callRequest.asset.modelDefinition.assetName}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), + ), + Text( + '${context.translation.status}: ${workOrders[index].currentSituation.name}', + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), 16.height, Row( @@ -110,10 +80,10 @@ class WorkOrderListPage extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon(Icons.arrow_forward, color: Color(0xFF4A8DB7), size: 14) + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) ], ), ], @@ -122,7 +92,22 @@ class WorkOrderListPage extends StatelessWidget { context, MaterialPageRoute(builder: (context) => WorkOrderDetailsPage(workOrder: workOrders[index], serviceRequest: serviceRequest)), ); - }), + }).expanded, + Column( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) + "edit".toSvgAsset(height: 48, width: 48).onPress(() { + Navigator.of(context).push( + MaterialPageRoute(builder: (_) => UpdateServiceReport(request: serviceRequest, workOrder: workOrders[index])), + ); + }), + if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) 8.height, + Text(workOrders[index].visitDate?.toServiceRequestCardFormat ?? "", + textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), + ], + ) ], ).toShadowContainer(context); }, diff --git a/lib/views/pages/user/visits/preventive_maintenance_visits_page.dart b/lib/views/pages/user/visits/preventive_maintenance_visits_page.dart index 0281588c..cee6a1ea 100644 --- a/lib/views/pages/user/visits/preventive_maintenance_visits_page.dart +++ b/lib/views/pages/user/visits/preventive_maintenance_visits_page.dart @@ -9,7 +9,6 @@ import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/visits/visits_group.dart'; import 'package:test_sa/models/visits/visits_search.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/pages/user/visits/update_visits_group_sheet.dart'; import 'package:test_sa/views/widgets/buttons/app_back_button.dart'; import 'package:test_sa/views/widgets/buttons/app_button.dart'; @@ -56,7 +55,7 @@ class _PreventiveMaintenanceVisitsPageState extends State { return Container( padding: EdgeInsets.symmetric(vertical: 8, horizontal: 8), margin: EdgeInsets.symmetric(vertical: 4), - decoration: BoxDecoration(color: AColors.primaryColor, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: [AppStyle.boxShadow]), + // decoration: BoxDecoration(color: AColors.primaryColor, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: [AppStyle.boxShadow]), child: Row( children: [ Expanded( child: Text( "${context.translation.sn}: " + visit.deviceSerialNumber ?? context.translation.noSerialNumberFound, - style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontSize: 16, fontWeight: FontWeight.bold), + // style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontSize: 16, fontWeight: FontWeight.bold), ), ), VisitStatusLabel( diff --git a/lib/views/pages/user/visits/visit_details.dart b/lib/views/pages/user/visits/visit_details.dart index 3065f7f1..b22e7d73 100644 --- a/lib/views/pages/user/visits/visit_details.dart +++ b/lib/views/pages/user/visits/visit_details.dart @@ -14,15 +14,16 @@ import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; import '../../../../controllers/providers/api/user_provider.dart'; import '../../../../models/enums/user_types.dart'; +import '../../../../new_views/app_style/app_color.dart'; import '../../../../new_views/common_widgets/app_filled_button.dart'; -import '../../../app_style/colors.dart'; import '../../../widgets/requests/request_status.dart'; class VisitDetailsPage extends StatelessWidget { static const String id = "/visit-details"; final Visit visit; + final String priority; - const VisitDetailsPage({Key key, this.visit}) : super(key: key); + const VisitDetailsPage({Key key, this.visit, this.priority}) : super(key: key); @override Widget build(BuildContext context) { @@ -48,17 +49,18 @@ class VisitDetailsPage extends StatelessWidget { children: [ Row( children: [ - // StatusLabel( - // label: visit.priority.name, - // id: visit.priority.id, - // textColor: AColors.getPriorityStatusTextColor(visit.priority.id), - // backgroundColor: AColors.getPriorityStatusColor(visit.priority.id)), - // 8.width, + if (priority != null) + StatusLabel( + label: priority, + textColor: AppColor.getRequestStatusTextColorByName(context, priority), + backgroundColor: AppColor.getRequestStatusColorByName(context, priority), + ), + if (priority != null) 8.width, StatusLabel( label: visit.status.name, id: visit.status.id, - textColor: AColors.getRequestStatusTextColorByName(visit.status.name), - backgroundColor: AColors.getRequestStatusColorByName(visit.status.name), + textColor: AppColor.getRequestStatusTextColorByName(context, visit.status.name), + backgroundColor: AppColor.getRequestStatusColorByName(context, visit.status.name), ), 1.width.expanded, ], diff --git a/lib/views/widgets/app_name_bar.dart b/lib/views/widgets/app_name_bar.dart index 9979dace..4b65fed0 100644 --- a/lib/views/widgets/app_name_bar.dart +++ b/lib/views/widgets/app_name_bar.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class AppNameBar extends StatelessWidget { @@ -7,12 +6,12 @@ class AppNameBar extends StatelessWidget { Widget build(BuildContext context) { return Container( height: 50 * AppStyle.getScaleFactor(context), - color: AColors.primaryColor, + // color: AColors.primaryColor, padding: const EdgeInsets.all(8.0), child: Center( child: Text( "Test SA", - style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic), + style: Theme.of(context).textTheme.headline6.copyWith(/*color: AColors.white,*/ fontStyle: FontStyle.italic), ), ), ); diff --git a/lib/views/widgets/buttons/app_back_button.dart b/lib/views/widgets/buttons/app_back_button.dart index ef26325a..99394548 100644 --- a/lib/views/widgets/buttons/app_back_button.dart +++ b/lib/views/widgets/buttons/app_back_button.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'app_icon_button.dart'; @@ -14,8 +13,8 @@ class ABackButton extends StatelessWidget { return Padding( padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 16), child: AIconButton( - color: AColors.white, - backgroundColor: AColors.primaryColor, + // color: AColors.white, + // backgroundColor: AColors.primaryColor, iconData: icon ?? Icons.arrow_back_ios_new, iconSize: 24, buttonSize: 40, diff --git a/lib/views/widgets/buttons/app_button.dart b/lib/views/widgets/buttons/app_button.dart index c3fd1680..f5efd4a7 100644 --- a/lib/views/widgets/buttons/app_button.dart +++ b/lib/views/widgets/buttons/app_button.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class AButton extends StatelessWidget { @@ -10,7 +9,7 @@ class AButton extends StatelessWidget { final TextStyle textStyle; final VoidCallback onPressed; - const AButton({Key key, this.color = AColors.primaryColor, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key); + const AButton({Key key, this.color /* = AColors.primaryColor*/, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key); @override Widget build(BuildContext context) { @@ -19,7 +18,7 @@ class AButton extends StatelessWidget { child: ElevatedButton( style: ElevatedButton.styleFrom( elevation: 0, - foregroundColor: color.computeLuminance() > 0.5 ? AColors.black : Colors.white, + // foregroundColor: color.computeLuminance() > 0.5 ? AColors.black : Colors.white, backgroundColor: color, padding: padding ?? const EdgeInsets.symmetric(vertical: 12), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))), @@ -27,7 +26,7 @@ class AButton extends StatelessWidget { onPressed: onPressed, child: Text( text ?? "", - style: textStyle ?? Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.white, fontSize: 14, fontWeight: FontWeight.w600), + // style: textStyle ?? Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.white, fontSize: 14, fontWeight: FontWeight.w600), textScaleFactor: AppStyle.getScaleFactor(context), ), ), diff --git a/lib/views/widgets/buttons/app_icon_button.dart b/lib/views/widgets/buttons/app_icon_button.dart index 139d70ca..3c69096c 100644 --- a/lib/views/widgets/buttons/app_icon_button.dart +++ b/lib/views/widgets/buttons/app_icon_button.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class AIconButton extends StatelessWidget { @@ -22,12 +21,12 @@ class AIconButton extends StatelessWidget { style: ElevatedButton.styleFrom( padding: EdgeInsets.zero, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular((AppStyle.borderRadius - 4) * AppStyle.getScaleFactor(context))), - backgroundColor: backgroundColor ?? AColors.onPrimaryColor, + // backgroundColor: backgroundColor ?? AColors.onPrimaryColor, ), onPressed: onPressed, child: FaIcon( iconData, - color: color ?? AColors.primaryColor, + // color: color ?? AColors.primaryColor, size: iconSize ?? 32, ), ), diff --git a/lib/views/widgets/buttons/app_outlined_button.dart b/lib/views/widgets/buttons/app_outlined_button.dart index b7e18bd2..88344c01 100644 --- a/lib/views/widgets/buttons/app_outlined_button.dart +++ b/lib/views/widgets/buttons/app_outlined_button.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class AOutLinedButton extends StatelessWidget { @@ -9,7 +8,7 @@ class AOutLinedButton extends StatelessWidget { final TextStyle textStyle; final VoidCallback onPressed; - const AOutLinedButton({Key key, this.color = AColors.primaryColor, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key); + const AOutLinedButton({Key key, this.color/*= AColors.primaryColor*/, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key); @override Widget build(BuildContext context) { @@ -25,7 +24,7 @@ class AOutLinedButton extends StatelessWidget { Expanded( child: Text( text ?? "", - style: Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.primaryColor, fontSize: 14, fontWeight: FontWeight.w600), + // style: Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.primaryColor, fontSize: 14, fontWeight: FontWeight.w600), textAlign: TextAlign.center, textScaleFactor: AppStyle.getScaleFactor(context), ), diff --git a/lib/views/widgets/date_and_time/date_picker.dart b/lib/views/widgets/date_and_time/date_picker.dart index 5ef35ae6..166a0e82 100644 --- a/lib/views/widgets/date_and_time/date_picker.dart +++ b/lib/views/widgets/date_and_time/date_picker.dart @@ -20,10 +20,10 @@ class ADatePicker extends StatelessWidget { return Container( decoration: BoxDecoration( color: context.isDark && (enable == false) - ? AppColor.neutral60 + ? AppColor.neutral50 : (enable == false) ? AppColor.neutral40 - : Theme.of(context).cardColor, + : AppColor.background(context), borderRadius: BorderRadius.circular(10), border: Border.all(width: 1, color: Theme.of(context).scaffoldBackgroundColor), boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], diff --git a/lib/views/widgets/departments/department_button.dart b/lib/views/widgets/departments/department_button.dart index 8742cd59..fcab95c3 100644 --- a/lib/views/widgets/departments/department_button.dart +++ b/lib/views/widgets/departments/department_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/department.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/departments/single_department_picker.dart'; @@ -20,8 +19,8 @@ class DepartmentButton extends StatelessWidget { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), ), - foregroundColor: AColors.primaryColor, - backgroundColor: AColors.inputFieldBackgroundColor, + // foregroundColor: AColors.primaryColor, + // backgroundColor: AColors.inputFieldBackgroundColor, ), child: Row( children: [ @@ -37,7 +36,7 @@ class DepartmentButton extends StatelessWidget { ), ), ), - const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A), + // const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A), ], ), onPressed: () async { diff --git a/lib/views/widgets/departments/department_item.dart b/lib/views/widgets/departments/department_item.dart index c578ba17..db8c4466 100644 --- a/lib/views/widgets/departments/department_item.dart +++ b/lib/views/widgets/departments/department_item.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/department.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class DepartmentItem extends StatelessWidget { @@ -15,7 +14,7 @@ class DepartmentItem extends StatelessWidget { padding: EdgeInsets.symmetric(horizontal: 16, vertical: 6), child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AColors.primaryColor, + // backgroundColor: AColors.primaryColor, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), ), @@ -26,7 +25,7 @@ class DepartmentItem extends StatelessWidget { child: ListTile( title: Text( department.name ?? "", - style: Theme.of(context).textTheme.subtitle1.copyWith(color: AColors.white), + // style: Theme.of(context).textTheme.subtitle1.copyWith(color: AColors.white), textDirection: TextDirection.rtl, ), ), diff --git a/lib/views/widgets/device_trancfer/device_transfer_info_section.dart b/lib/views/widgets/device_trancfer/device_transfer_info_section.dart index 2d023bc5..134bdaf0 100644 --- a/lib/views/widgets/device_trancfer/device_transfer_info_section.dart +++ b/lib/views/widgets/device_trancfer/device_transfer_info_section.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/widgets/loaders/image_loader.dart'; import 'package:test_sa/views/widgets/requests/info_row.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; @@ -66,7 +65,9 @@ class DeviceTransferInfoSection extends StatelessWidget { ), RequestInfoRow( title: context.translation.status, - infoWidget: StatusLabel(label: info.status?.name, backgroundColor: AColors.getGasStatusColor(info.status?.id)), + infoWidget: StatusLabel( + label: info.status?.name, /*backgroundColor: AColors.getGasStatusColor(info.status?.id)*/ + ), ), ], ); diff --git a/lib/views/widgets/drawer/drawer_item.dart b/lib/views/widgets/drawer/drawer_item.dart index dfbbcf04..2c4be27c 100644 --- a/lib/views/widgets/drawer/drawer_item.dart +++ b/lib/views/widgets/drawer/drawer_item.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class DrawerItem extends StatelessWidget { @@ -25,11 +24,13 @@ class DrawerItem extends StatelessWidget { onPressed: onPressed, child: Row( children: [ - Icon(icon, color: AColors.grey3A, size: 20), + Icon(icon, /*color: AColors.grey3A,*/ size: 20), 12.width, Text( title, - style: Theme.of(context).textTheme.headline6.copyWith(fontSize: 14, color: AColors.grey3A), + style: Theme.of(context).textTheme.headline6.copyWith( + fontSize: 14, /* color: AColors.grey3A*/ + ), textScaleFactor: AppStyle.getScaleFactor(context), ), ], diff --git a/lib/views/widgets/e_signature/e_signature.dart b/lib/views/widgets/e_signature/e_signature.dart index 268009e7..ec25df33 100644 --- a/lib/views/widgets/e_signature/e_signature.dart +++ b/lib/views/widgets/e_signature/e_signature.dart @@ -25,11 +25,7 @@ class ESignature extends StatefulWidget { class _ESignatureState extends State { // Initialise a controller. It will contains signature points, stroke width and pen color. - final SignatureController _controller = SignatureController( - penStrokeWidth: 2, - penColor: Colors.black, - exportBackgroundColor: Colors.white, - ); + SignatureController _controller; Uint8List signature; @@ -52,6 +48,11 @@ class _ESignatureState extends State { @override Widget build(BuildContext context) { + _controller ??= SignatureController( + penStrokeWidth: 2, + penColor: context.isDark ? Colors.white : Colors.black, + exportBackgroundColor: AppColor.background(context), + ); print(widget.oldSignature); return FormField(onSaved: (_) async { widget.onSaved(signature); @@ -62,7 +63,7 @@ class _ESignatureState extends State { width: MediaQuery.of(context).size.width, padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight), decoration: BoxDecoration( - color: context.isDark ? Theme.of(context).cardColor : Colors.white, + color: context.isDark ? AppColor.background(context) : Colors.white, borderRadius: _editable ? const BorderRadius.only(topLeft: Radius.circular(10), topRight: Radius.circular(10)) : BorderRadius.circular(10), boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], ), diff --git a/lib/views/widgets/equipment/asset_item_gridview.dart b/lib/views/widgets/equipment/asset_item_gridview.dart index 355a6de5..b1a825f2 100644 --- a/lib/views/widgets/equipment/asset_item_gridview.dart +++ b/lib/views/widgets/equipment/asset_item_gridview.dart @@ -5,7 +5,8 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/device/asset.dart'; -import 'package:test_sa/new_views/app_style/app_color.dart'; + +import '../../../new_views/app_style/app_color.dart'; class AssetItemGridView extends StatelessWidget { final Asset device; @@ -23,10 +24,8 @@ class AssetItemGridView extends StatelessWidget { width: 95, height: 95, decoration: ShapeDecoration( - color: const Color(0xFFEAF1F4), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), image: DecorationImage( fit: BoxFit.cover, image: NetworkImage(device.assetPhoto != null ? URLs.getFileUrl(device.assetPhoto) : "https://www.lasteelcraft.com/images/no-image-available.png"), @@ -41,7 +40,7 @@ class AssetItemGridView extends StatelessWidget { Text( device.modelDefinition.assetName, maxLines: 2, - style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral30 : Color(0xFF3B3D4A)), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), ), Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -53,9 +52,7 @@ class AssetItemGridView extends StatelessWidget { "${context.translation.serialNo} : ${device.assetSerialNo}", maxLines: 2, overflow: TextOverflow.fade, - style: AppTextStyles.bodyText2.copyWith( - color: context.isDark ? AppColor.neutral10 : Color(0xFF757575), - ), + style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ), ], ), @@ -64,14 +61,10 @@ class AssetItemGridView extends StatelessWidget { children: [ Text( 'View Details', - style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( - Icons.arrow_forward, - color: Color(0xFF4A8DB7), - size: 14, - ) + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) ], ), ], diff --git a/lib/views/widgets/equipment/asset_item_listview.dart b/lib/views/widgets/equipment/asset_item_listview.dart index 27654035..7a49b22f 100644 --- a/lib/views/widgets/equipment/asset_item_listview.dart +++ b/lib/views/widgets/equipment/asset_item_listview.dart @@ -5,6 +5,7 @@ import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/device/asset.dart'; +import 'package:test_sa/new_views/app_style/app_color.dart'; class AssetItemListView extends StatelessWidget { final Asset device; @@ -21,10 +22,8 @@ class AssetItemListView extends StatelessWidget { width: 95, height: 95, decoration: ShapeDecoration( - color: const Color(0xFFEAF1F4), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10), - ), + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), image: DecorationImage( fit: BoxFit.cover, image: NetworkImage(device.assetPhoto != null ? URLs.getFileUrl(device.assetPhoto) : "https://www.lasteelcraft.com/images/no-image-available.png"), @@ -53,12 +52,12 @@ class AssetItemListView extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon( + Icon( Icons.arrow_forward, - color: Color(0xFF4A8DB7), + color: AppColor.blueStatus(context), size: 14, ) ], diff --git a/lib/views/widgets/equipment/auto_complete_devices_field.dart b/lib/views/widgets/equipment/auto_complete_devices_field.dart index 2f177572..9f351f61 100644 --- a/lib/views/widgets/equipment/auto_complete_devices_field.dart +++ b/lib/views/widgets/equipment/auto_complete_devices_field.dart @@ -4,7 +4,6 @@ import 'package:provider/provider.dart'; import 'package:test_sa/controllers/providers/api/devices_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; @@ -57,7 +56,7 @@ class _AutoCompleteDeviceFieldState extends State { padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( color: Colors.white, - border: Border.all(color: AColors.black), + // border: Border.all(color: AColors.black), borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), boxShadow: [AppStyle.boxShadow]), child: TypeAheadField( diff --git a/lib/views/widgets/equipment/auto_complete_models_field.dart b/lib/views/widgets/equipment/auto_complete_models_field.dart index 4cb7cfd1..1d606b15 100644 --- a/lib/views/widgets/equipment/auto_complete_models_field.dart +++ b/lib/views/widgets/equipment/auto_complete_models_field.dart @@ -5,7 +5,6 @@ import 'package:test_sa/controllers/providers/api/devices_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/models/lookup.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class AutoCompleteModelField extends StatefulWidget { @@ -50,7 +49,7 @@ class _AutoCompleteModelFieldState extends State { padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( color: Colors.white, - border: Border.all(color: AColors.black), + // border: Border.all(color: AColors.black), borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), boxShadow: [AppStyle.boxShadow]), child: TypeAheadField( diff --git a/lib/views/widgets/equipment/equipment_status_buttons.dart b/lib/views/widgets/equipment/equipment_status_buttons.dart index 0bef4493..1188f926 100644 --- a/lib/views/widgets/equipment/equipment_status_buttons.dart +++ b/lib/views/widgets/equipment/equipment_status_buttons.dart @@ -64,13 +64,24 @@ class _EquipmentStatusButtonsState extends State { margin: EdgeInsets.symmetric(horizontal: 4.toScreenWidth), padding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: (widget.initialvalue == index ? 12 : 8).toScreenWidth), alignment: Alignment.center, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(7), - color: widget.initialvalue == index ? AppColor.neutral30 : Colors.white, - border: widget.initialvalue == index ? Border.all(width: 1, color: AppColor.primary50) : null, - boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.03), blurRadius: 14)], + foregroundDecoration: widget.initialvalue != index + ? null + : ShapeDecoration( + color: (context.isDark ? AppColor.neutral30 : AppColor.neutral50).withOpacity(0.1), + shape: RoundedRectangleBorder( + side: BorderSide(width: 1, color: AppColor.blueStatus(context)), + borderRadius: BorderRadius.circular(7), + ), + ), + decoration: ShapeDecoration( + color: widget.initialvalue == index ? AppColor.selectedButtonColor(context) : AppColor.unSelectedButtonColor(context), + shape: RoundedRectangleBorder( + side: widget.initialvalue == index ? BorderSide(width: 1, color: AppColor.blueStatus(context)) : BorderSide.none, + borderRadius: BorderRadius.circular(7), + ), + shadows: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 14, offset: const Offset(0, 0), spreadRadius: 0)], ), - child: (index == 0 ? "All Assets" : snapshot.items[index - 1].name).tinyFont(context).custom(color: AppColor.neutral50), + child: (index == 0 ? "All Assets" : snapshot.items[index - 1].name).tinyFont(context).custom(color: AppColor.filterButtonTextColor(context)), ).onPress(() { setState(() { widget.initialvalue = index; diff --git a/lib/views/widgets/equipment/single_device_picker.dart b/lib/views/widgets/equipment/single_device_picker.dart index ab437587..20776ca6 100644 --- a/lib/views/widgets/equipment/single_device_picker.dart +++ b/lib/views/widgets/equipment/single_device_picker.dart @@ -16,6 +16,7 @@ import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; import '../../../models/device/asset.dart'; import '../../../models/device/asset_search.dart'; +import '../../../new_views/app_style/app_color.dart'; import '../../pages/device_transfer/asset_filter_screen.dart'; import '../../pages/device_transfer/asset_search_screen.dart'; import '../qr/scan_qr.dart'; @@ -93,20 +94,18 @@ class _MyAssetsPageState extends State { padding: const EdgeInsets.only(left: 16, right: 8), alignment: Alignment.center, decoration: ShapeDecoration( - color: context.isDark ? Color(0xFF3B3D4A) : Color(0xFFEAF1F4), + color: context.isDark ? AppColor.neutral50 : AppColor.neutral30, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), ), child: Row( children: [ - const Icon(Icons.search, color: Color(0xFF757575), size: 16), + Icon(Icons.search, color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, size: 19), 8.width, Text( context.translation.search, - style: AppTextStyles.bodyText.copyWith( - color: const Color(0xFF757575), - ), + style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20), ).expanded, ], ), @@ -119,16 +118,16 @@ class _MyAssetsPageState extends State { _searchableList.addAll(_devicesProvider.devices); }).expanded, 16.width, - const Icon( + Icon( Icons.grid_view_outlined, - color: Color(0xFF757575), + color: context.isDark ? AppColor.neutral10 : AppColor.neutral20, ).onPress(() => setState(() { showListView = !showListView; })), 16.width, Text( context.translation.filter, - style: AppTextStyles.bodyText2.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText2.copyWith(color: AppColor.blueStatus(context)), ).onPress(() async { final result = await Navigator.push(context, MaterialPageRoute(builder: (context) => AssetFilterScreen(data: _searchAsset))); if (result != null) { diff --git a/lib/views/widgets/gas_refill/building_type_menu.dart b/lib/views/widgets/gas_refill/building_type_menu.dart index b11b48d2..ee53a119 100644 --- a/lib/views/widgets/gas_refill/building_type_menu.dart +++ b/lib/views/widgets/gas_refill/building_type_menu.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../loaders/app_loading.dart'; @@ -59,7 +58,7 @@ class _BuildingTypeMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: const Color(0xffefefef), ), diff --git a/lib/views/widgets/gas_refill/department_type_menu.dart b/lib/views/widgets/gas_refill/department_type_menu.dart index 06cdfcdf..9f8994f6 100644 --- a/lib/views/widgets/gas_refill/department_type_menu.dart +++ b/lib/views/widgets/gas_refill/department_type_menu.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../loaders/app_loading.dart'; @@ -59,7 +58,7 @@ class _DepartmentTypeMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: Color(0xffefefef), ), diff --git a/lib/views/widgets/gas_refill/floor_type_menu.dart b/lib/views/widgets/gas_refill/floor_type_menu.dart index dcc80c81..1f075dcf 100644 --- a/lib/views/widgets/gas_refill/floor_type_menu.dart +++ b/lib/views/widgets/gas_refill/floor_type_menu.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../loaders/app_loading.dart'; @@ -60,7 +59,7 @@ class _FloorTypeMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: const Color(0xffefefef), ), diff --git a/lib/views/widgets/gas_refill/gas_refill_create_details_item.dart b/lib/views/widgets/gas_refill/gas_refill_create_details_item.dart index 708fea53..82ef67a7 100644 --- a/lib/views/widgets/gas_refill/gas_refill_create_details_item.dart +++ b/lib/views/widgets/gas_refill/gas_refill_create_details_item.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/widgets/app_text_form_field.dart'; import '../../../models/new_models/gas_refill_model.dart'; @@ -38,7 +37,7 @@ class _GasRefillCreateDetailsItemState extends State Row( children: [ Expanded(child: Text(widget.model.gasType.name)), - IconButton(onPressed: widget.onPressed, color: widget.isUpdate ? AColors.cyan : AColors.red, icon: Icon(widget.isUpdate ? Icons.edit : Icons.delete)) + IconButton(onPressed: widget.onPressed, /* color: widget.isUpdate ? AColors.cyan : AColors.red,*/ icon: Icon(widget.isUpdate ? Icons.edit : Icons.delete)) ], ), Wrap( diff --git a/lib/views/widgets/gas_refill/gas_refill_item.dart b/lib/views/widgets/gas_refill/gas_refill_item.dart index e3a2eb51..48bea602 100644 --- a/lib/views/widgets/gas_refill/gas_refill_item.dart +++ b/lib/views/widgets/gas_refill/gas_refill_item.dart @@ -7,7 +7,6 @@ import 'package:test_sa/extensions/widget_extensions.dart'; import '../../../extensions/text_extensions.dart'; import '../../../models/new_models/gas_refill_model.dart'; import '../../../new_views/app_style/app_color.dart'; -import '../../app_style/colors.dart'; import '../requests/request_status.dart'; class GasRefillItem extends StatelessWidget { @@ -25,14 +24,16 @@ class GasRefillItem extends StatelessWidget { Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - /// TBD // StatusLabel( - // label: , - // id: , - // textColor: AColors.getPriorityStatusTextColor(), - // backgroundColor: AColors.getPriorityStatusColor()), - // 8.width, - StatusLabel(label: item.status.name, textColor: AColors.getRequestStatusTextColor(item.status.value), backgroundColor: AColors.getRequestStatusColor(item.status.value)), + // label: item.priority, + // textColor: AppColor.getRequestStatusTextColorByName(context, item.priority), + // backgroundColor: AppColor.getRequestStatusColorByName(context, item.priority), + // ), + StatusLabel( + label: item.status.name, + textColor: AppColor.getRequestStatusTextColor(context, item.status.value), + backgroundColor: AppColor.getRequestStatusColor(context, item.status.value), + ), 1.width.expanded, Text(item.startDate != null ? item.startDate.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : const Color(0xFF3B3D4A))), diff --git a/lib/views/widgets/gas_refill/gas_refill_list.dart b/lib/views/widgets/gas_refill/gas_refill_list.dart index ef9c12ab..5bbb3361 100644 --- a/lib/views/widgets/gas_refill/gas_refill_list.dart +++ b/lib/views/widgets/gas_refill/gas_refill_list.dart @@ -38,12 +38,7 @@ class _GasRefillListState extends State { index: itemIndex, item: widget.items[itemIndex], onPressed: (model) { - Navigator.of(context) - .push(MaterialPageRoute( - builder: (_) => GasRefillDetailsPage( - model: model, - ))) - .then((value) { + Navigator.of(context).push(MaterialPageRoute(builder: (_) => GasRefillDetailsPage(model: model))).then((value) { model = value; setState(() {}); }); diff --git a/lib/views/widgets/hospitals/hospital_auto_complete_field.dart b/lib/views/widgets/hospitals/hospital_auto_complete_field.dart index 0c75c8c2..00dc091c 100644 --- a/lib/views/widgets/hospitals/hospital_auto_complete_field.dart +++ b/lib/views/widgets/hospitals/hospital_auto_complete_field.dart @@ -5,7 +5,6 @@ import 'package:test_sa/controllers/providers/api/hospitals_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class HospitalAutoCompleteField extends StatefulWidget { @@ -56,7 +55,7 @@ class _HospitalAutoCompleteFieldState extends State { return Container( padding: EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: Color(0xffefefef), ), diff --git a/lib/views/widgets/hospitals/hospital_auto_complete_field_new.dart b/lib/views/widgets/hospitals/hospital_auto_complete_field_new.dart index a92c11c4..f5f509a1 100644 --- a/lib/views/widgets/hospitals/hospital_auto_complete_field_new.dart +++ b/lib/views/widgets/hospitals/hospital_auto_complete_field_new.dart @@ -5,7 +5,6 @@ import 'package:test_sa/controllers/providers/api/hospitals_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/loaders/app_loading.dart'; @@ -59,7 +58,7 @@ class _HospitalAutoCompleteFieldState extends State { return Container( padding: EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: Color(0xffefefef), ), diff --git a/lib/views/widgets/hospitals/hospital_button.dart b/lib/views/widgets/hospitals/hospital_button.dart index 63225620..d9d48631 100644 --- a/lib/views/widgets/hospitals/hospital_button.dart +++ b/lib/views/widgets/hospitals/hospital_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/hospitals/single_hospital_picker.dart'; @@ -16,8 +15,8 @@ class HospitalButton extends StatelessWidget { return ElevatedButton( style: ElevatedButton.styleFrom( elevation: 0, - foregroundColor: AColors.primaryColor, - backgroundColor: AColors.inputFieldBackgroundColor, + // foregroundColor: AColors.primaryColor, + // backgroundColor: AColors.inputFieldBackgroundColor, padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))), ), @@ -28,14 +27,17 @@ class HospitalButton extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 8), child: Text( hospital?.name ?? context.translation.pickHospital, - style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 14, color: AColors.grey3A), + // style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 14, color: AColors.grey3A), // textScaleFactor: AppStyle.getScaleFactor(context), textDirection: TextDirection.rtl, textAlign: TextAlign.left, ), ), ), - const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A), + const Icon( + Icons.keyboard_arrow_down, + size: 28, /*color: AColors.grey3A*/ + ), ], ), onPressed: () async { diff --git a/lib/views/widgets/hospitals/hospital_item.dart b/lib/views/widgets/hospitals/hospital_item.dart index bc1a1615..568de599 100644 --- a/lib/views/widgets/hospitals/hospital_item.dart +++ b/lib/views/widgets/hospitals/hospital_item.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/hospital.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class HospitalItem extends StatelessWidget { @@ -15,7 +14,7 @@ class HospitalItem extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 6), child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundColor: AColors.primaryColor, + // backgroundColor: AColors.primaryColor, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), ), @@ -28,7 +27,7 @@ class HospitalItem extends StatelessWidget { child: ListTile( title: Text( hospital.name ?? "", - style: Theme.of(context).textTheme.subtitle1.copyWith(color: AColors.white), + // style: Theme.of(context).textTheme.subtitle1.copyWith(color: AColors.white), textDirection: TextDirection.rtl, ), ), diff --git a/lib/views/widgets/images/image_item.dart b/lib/views/widgets/images/image_item.dart index 5d2dee91..e39ce0cd 100644 --- a/lib/views/widgets/images/image_item.dart +++ b/lib/views/widgets/images/image_item.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/widgets/loaders/image_loader.dart'; @@ -49,7 +48,7 @@ class ImageItem extends StatelessWidget { child: FaIcon( FontAwesomeIcons.playCircle, size: 32 * AppStyle.getScaleFactor(context), - color: AColors.orange, + // color: AColors.orange, ), ), )), diff --git a/lib/views/widgets/issues/report_issue_item.dart b/lib/views/widgets/issues/report_issue_item.dart index 8aba4e91..bbce00ab 100644 --- a/lib/views/widgets/issues/report_issue_item.dart +++ b/lib/views/widgets/issues/report_issue_item.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class ReportIssueItem extends StatelessWidget { @@ -12,7 +11,7 @@ class ReportIssueItem extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialButton( - splashColor: AColors.secondaryColor.withOpacity(.5), + // splashColor: AColors.secondaryColor.withOpacity(.5), padding: EdgeInsets.symmetric(vertical: 4), onPressed: () { onChange(issueInfo, !isSelected); diff --git a/lib/views/widgets/land_page/land_page_item.dart b/lib/views/widgets/land_page/land_page_item.dart index c9df58c9..b0091ecb 100644 --- a/lib/views/widgets/land_page/land_page_item.dart +++ b/lib/views/widgets/land_page/land_page_item.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../../../new_views/app_style/app_color.dart'; @@ -26,7 +25,7 @@ class LandPageItem extends StatelessWidget { if (icon != null) Icon( icon, - color: AColors.primaryColor, + // color: AColors.primaryColor, size: 42 * AppStyle.getScaleFactor(context), ), if (svgPath != null) @@ -34,7 +33,7 @@ class LandPageItem extends StatelessWidget { svgPath, width: 42 * AppStyle.getScaleFactor(context), height: 42 * AppStyle.getScaleFactor(context), - color: AColors.primaryColor, + // color: AColors.primaryColor, ), Text(text, style: TextStyle( diff --git a/lib/views/widgets/requests/request_status.dart b/lib/views/widgets/requests/request_status.dart index 463337bb..2555e6e4 100644 --- a/lib/views/widgets/requests/request_status.dart +++ b/lib/views/widgets/requests/request_status.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/text_extensions.dart'; -import 'package:test_sa/views/app_style/colors.dart'; class StatusLabel extends StatelessWidget { String label; @@ -34,76 +33,76 @@ class StatusLabel extends StatelessWidget { ); } - Color getRequestStatusColor1(String status) { - switch (status) { - case "in progress": - return AColors.statusYellowLight; - case "completed": - return AColors.statusGreenLight; - case "high priority": - return AColors.statusRedLight; - case "low priority": - return AColors.statusGreenLight; - case "open": - return AColors.statusBlue; - default: - return AColors.statusDefault; - } - } - - Color getRequestStatusTextColor(String status) { - switch (status) { - case "in progress": - return AColors.statusYellow; - case "completed": - return AColors.statusGreen; - case "high priority": - return AColors.statusRed; - case "low priority": - return AColors.statusGreen; - case "open": - return AColors.statusBlue; - default: - return Colors.white; - } - } - - static Color getRequestStatusColor(int id) { - switch (id) { - case 4: - return AColors.deepRed; - case 6: - return AColors.green; - case 5: - return AColors.orange; - case 8: - return AColors.green; - case 9: - return AColors.orange; - default: - return AColors.grey; - } - } - - static Color getGasStatusColor(int id) { - switch (id) { - case 0: - return AColors.orange; - case 1: - return AColors.green; - default: - return AColors.grey; - } - } - - static Color getPriorityStatusColor(int id) { - switch (id) { - case 0: - return AColors.orange; - case 1: - return AColors.green; - default: - return AColors.grey; - } - } + // Color getRequestStatusColor1(String status) { + // switch (status) { + // case "in progress": + // return AColors.statusYellowLight; + // case "completed": + // return AColors.statusGreenLight; + // case "high priority": + // return AColors.statusRedLight; + // case "low priority": + // return AColors.statusGreenLight; + // case "open": + // return AColors.statusBlue; + // default: + // return AColors.statusDefault; + // } + // } + // + // Color getRequestStatusTextColor(String status) { + // switch (status) { + // case "in progress": + // return AColors.statusYellow; + // case "completed": + // return AColors.statusGreen; + // case "high priority": + // return AColors.statusRed; + // case "low priority": + // return AColors.statusGreen; + // case "open": + // return AColors.statusBlue; + // default: + // return Colors.white; + // } + // } + // + // static Color getRequestStatusColor(int id) { + // switch (id) { + // case 4: + // return AColors.deepRed; + // case 6: + // return AColors.green; + // case 5: + // return AColors.orange; + // case 8: + // return AColors.green; + // case 9: + // return AColors.orange; + // default: + // return AColors.grey; + // } + // } + // + // static Color getGasStatusColor(int id) { + // switch (id) { + // case 0: + // return AColors.orange; + // case 1: + // return AColors.green; + // default: + // return AColors.grey; + // } + // } + // + // static Color getPriorityStatusColor(int id) { + // switch (id) { + // case 0: + // return AColors.orange; + // case 1: + // return AColors.green; + // default: + // return AColors.grey; + // } + // } } diff --git a/lib/views/widgets/requests/service_request_item.dart b/lib/views/widgets/requests/service_request_item.dart index 9f1b874a..8cef5b6a 100644 --- a/lib/views/widgets/requests/service_request_item.dart +++ b/lib/views/widgets/requests/service_request_item.dart @@ -5,7 +5,6 @@ import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/service_request/service_request.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart'; import '../../../new_views/app_style/app_color.dart'; @@ -35,12 +34,15 @@ class ServiceRequestItem extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ StatusLabel( - label: request.priority.name, - id: request.priority.id, - textColor: AColors.getPriorityStatusTextColor(request.priority.id), - backgroundColor: AColors.getPriorityStatusColor(request.priority.id)), + label: request.priority.name, + id: request.priority.id, + /* textColor: AColors.getPriorityStatusTextColor(request.priority.id), + backgroundColor: AColors.getPriorityStatusColor(request.priority.id)*/ + ), 8.width, - StatusLabel(label: request.statusLabel, textColor: AColors.getRequestStatusTextColor(request.statusValue), backgroundColor: AColors.getRequestStatusColor(request.statusValue)), + StatusLabel( + label: request.statusLabel, /*textColor: AColors.getRequestStatusTextColor(request.statusValue), backgroundColor: AColors.getRequestStatusColor(request.statusValue)*/ + ), 1.width.expanded, Text(request.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : const Color(0xFF3B3D4A))), ], diff --git a/lib/views/widgets/search/filter_item.dart b/lib/views/widgets/search/filter_item.dart index 7129405c..5ff9a4c3 100644 --- a/lib/views/widgets/search/filter_item.dart +++ b/lib/views/widgets/search/filter_item.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/lookup.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class FilterItem extends StatelessWidget { @@ -9,25 +8,25 @@ class FilterItem extends StatelessWidget { final VoidCallback onSelected; const FilterItem({Key key, this.status, this.isSelected, this.onSelected}) : super(key: key); - - Color getStatusColor() { - switch (status.id) { - case 0: - return AColors.green; - case 4: - return AColors.deepRed; - case 6: - return AColors.green; - case 5: - return AColors.orange; - case 8: - return AColors.green; - case 9: - return AColors.orange; - default: - return AColors.grey; - } - } + // + // Color getStatusColor() { + // switch (status.id) { + // case 0: + // return AColors.green; + // case 4: + // return AColors.deepRed; + // case 6: + // return AColors.green; + // case 5: + // return AColors.orange; + // case 8: + // return AColors.green; + // case 9: + // return AColors.orange; + // default: + // return AColors.grey; + // } + // } @override Widget build(BuildContext context) { @@ -39,12 +38,12 @@ class FilterItem extends StatelessWidget { style: ElevatedButton.styleFrom( padding: EdgeInsets.symmetric(horizontal: 8), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))), - primary: getStatusColor(), + // primary: getStatusColor(), ), child: Text( status.name ?? "", style: Theme.of(context).textTheme.bodyText1.copyWith( - color: getStatusColor().computeLuminance() > 0.5 ? AColors.black : Colors.white, + // color: getStatusColor().computeLuminance() > 0.5 ? AColors.black : Colors.white, ), textScaleFactor: AppStyle.getScaleFactor(context), ), diff --git a/lib/views/widgets/sound/sound_player.dart b/lib/views/widgets/sound/sound_player.dart index 80eabdb7..22887708 100644 --- a/lib/views/widgets/sound/sound_player.dart +++ b/lib/views/widgets/sound/sound_player.dart @@ -29,7 +29,7 @@ class _ASoundPlayerState extends State { width: 48, height: 48, decoration: ShapeDecoration( - color: Colors.white, + color: AppColor.background(context), shape: RoundedRectangleBorder( side: BorderSide(width: 1, color: (context.isDark ? AppColor.neutral20 : AppColor.neutral30)), borderRadius: BorderRadius.circular(32), @@ -178,27 +178,28 @@ class _ASoundPlayerState extends State { SliderTheme( data: SliderTheme.of(context).copyWith(trackHeight: 2.0, thumbShape: const RoundSliderThumbShape(enabledThumbRadius: 6.0), overlayShape: SliderComponentShape.noOverlay), child: Slider( - value: _audioPosition?.inMilliseconds?.toDouble() ?? 0.0, - min: 0, - max: _audioTime?.inMilliseconds?.toDouble() ?? 60.0, - activeColor: context.isDark ? AppColor.primary40 : AppColor.primary70, - inactiveColor: AppColor.neutral30, - onChangeStart: (value) { - _sliderMoving = true; - }, - onChanged: (value) { - _audioPosition = Duration(milliseconds: value.round()); - rebuild(); - }, - onChangeEnd: (value) { - _sliderMoving = false; - _audioPlayer.seek(Duration(milliseconds: value.round())); - rebuild(); - }), + value: _audioPosition?.inMilliseconds?.toDouble() ?? 0.0, + min: 0, + max: _audioTime?.inMilliseconds?.toDouble() ?? 60.0, + activeColor: context.isDark ? AppColor.primary40 : AppColor.primary70, + inactiveColor: context.isDark ? AppColor.neutral20 : AppColor.neutral30, + onChangeStart: (value) { + _sliderMoving = true; + }, + onChanged: (value) { + _audioPosition = Duration(milliseconds: value.round()); + rebuild(); + }, + onChangeEnd: (value) { + _sliderMoving = false; + _audioPlayer.seek(Duration(milliseconds: value.round())); + rebuild(); + }, + ), ).paddingOnly(start: 8, end: 8).expanded, _failedToLoad - ? Text("Failed to load", style: AppTextStyle.tiny.copyWith(color: AppColor.red60)) - : Text("${format(_audioPosition)}/${format(_audioTime)}", style: AppTextStyle.tiny.copyWith(color: AppColor.neutral50)), + ? Text("Failed to load", style: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red60)) + : Text("${format(_audioPosition)}/${format(_audioTime)}", style: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50)), ], ), ], diff --git a/lib/views/widgets/status/employee/single_type_menu.dart b/lib/views/widgets/status/employee/single_type_menu.dart index 30eda5bd..6056d259 100644 --- a/lib/views/widgets/status/employee/single_type_menu.dart +++ b/lib/views/widgets/status/employee/single_type_menu.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/engineer.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class SingleEngineerMenu extends StatefulWidget { @@ -48,7 +47,7 @@ class _SingleEngineerMenuState extends State { padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( color: Colors.white, - border: Border.all(color: AColors.black), + // border: Border.all(color: AColors.black), borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), boxShadow: const [AppStyle.boxShadow]), child: DropdownButton( diff --git a/lib/views/widgets/status/multi_status_menu.dart b/lib/views/widgets/status/multi_status_menu.dart index 50ae83bc..c891721d 100644 --- a/lib/views/widgets/status/multi_status_menu.dart +++ b/lib/views/widgets/status/multi_status_menu.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; import 'package:test_sa/models/lookup.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class MultiStatusMenu extends StatefulWidget { @@ -76,7 +75,7 @@ class _MultiStatusMenuState extends State { padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( color: Colors.white, - border: Border.all(color: AColors.black), + // border: Border.all(color: AColors.black), borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), boxShadow: const [AppStyle.boxShadow]), child: TypeAheadField( diff --git a/lib/views/widgets/status/report/fault_desc_menu.dart b/lib/views/widgets/status/report/fault_desc_menu.dart index 696c18b3..340f5433 100644 --- a/lib/views/widgets/status/report/fault_desc_menu.dart +++ b/lib/views/widgets/status/report/fault_desc_menu.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/fault_description.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class FaultDescriptionMenu extends StatefulWidget { @@ -62,7 +61,7 @@ class _SingleStatusMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: Color(0xffefefef), ), diff --git a/lib/views/widgets/status/service_request/supplier_engineers_menu.dart b/lib/views/widgets/status/service_request/supplier_engineers_menu.dart index 03f2b50f..a063f00f 100644 --- a/lib/views/widgets/status/service_request/supplier_engineers_menu.dart +++ b/lib/views/widgets/status/service_request/supplier_engineers_menu.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../../../../models/service_request/supp_engineer_work_orders.dart'; @@ -64,7 +63,7 @@ class SingleAssistantEmployeeMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: const Color(0xffefefef), ), diff --git a/lib/views/widgets/status/single_status_menu.dart b/lib/views/widgets/status/single_status_menu.dart index b035de1c..41ffdad1 100644 --- a/lib/views/widgets/status/single_status_menu.dart +++ b/lib/views/widgets/status/single_status_menu.dart @@ -67,7 +67,11 @@ class _SingleStatusMenuState extends State { height: 60.toScreenHeight, padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), decoration: BoxDecoration( - color: context.isDark ? AppColor.neutral50 : Colors.white, + color: context.isDark && (widget.enabled == false || (widget.statuses?.isEmpty ?? true)) + ? AppColor.neutral50 + : (widget.enabled == false || (widget.statuses?.isEmpty ?? true)) + ? AppColor.neutral40 + : AppColor.background(context), borderRadius: BorderRadius.circular(10), boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], ), diff --git a/lib/views/widgets/status/users_menu.dart b/lib/views/widgets/status/users_menu.dart index 8ffad745..b6586605 100644 --- a/lib/views/widgets/status/users_menu.dart +++ b/lib/views/widgets/status/users_menu.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; import '../../../models/engineer.dart'; @@ -63,7 +62,7 @@ class _SingleUsersMenuState extends State { return Container( padding: const EdgeInsets.symmetric(horizontal: 16), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: Color(0xffefefef), ), diff --git a/lib/views/widgets/switch_button.dart b/lib/views/widgets/switch_button.dart index ccab66a4..4a3eef37 100644 --- a/lib/views/widgets/switch_button.dart +++ b/lib/views/widgets/switch_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:test_sa/views/widgets/titles/app_sub_title.dart'; -import '../app_style/colors.dart'; import '../app_style/sizing.dart'; class ASwitchButton extends StatelessWidget { @@ -22,7 +21,7 @@ class ASwitchButton extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 16), margin: const EdgeInsets.symmetric(vertical: 8), decoration: BoxDecoration( - color: AColors.inputFieldBackgroundColor, + // color: AColors.inputFieldBackgroundColor, border: Border.all( color: const Color(0xffefefef), ), @@ -34,7 +33,7 @@ class ASwitchButton extends StatelessWidget { ASubTitle(title), Switch.adaptive( value: value, - activeColor: AColors.primaryColor, + // activeColor: AColors.primaryColor, onChanged: onChange, ), ], diff --git a/lib/views/widgets/timer/app_timer.dart b/lib/views/widgets/timer/app_timer.dart index 94c54303..04601806 100644 --- a/lib/views/widgets/timer/app_timer.dart +++ b/lib/views/widgets/timer/app_timer.dart @@ -112,7 +112,7 @@ class _AppTimerState extends State { ? AppColor.neutral60 : (widget.enabled == false) ? AppColor.neutral40 - : Theme.of(context).cardColor, + : AppColor.background(context), borderRadius: BorderRadius.circular(10), boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], ), @@ -129,7 +129,13 @@ class _AppTimerState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ (widget.label ?? "Timer").tinyFont(context), - value.bodyText(context).custom(color: widget.enabled ? AppColor.neutral50 : AppColor.neutral20), + value.bodyText(context).custom( + color: widget.enabled + ? context.isDark + ? AppColor.neutral30 + : AppColor.neutral50 + : AppColor.neutral20, + ), ], ); }, diff --git a/lib/views/widgets/visits/visit_item.dart b/lib/views/widgets/visits/visit_item.dart index 260d849e..bf29774e 100644 --- a/lib/views/widgets/visits/visit_item.dart +++ b/lib/views/widgets/visits/visit_item.dart @@ -6,18 +6,20 @@ import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/models/enums/user_types.dart'; import 'package:test_sa/models/visits/visit.dart'; +import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/views/pages/user/visits/visit_details.dart'; import '../../../controllers/providers/api/user_provider.dart'; import '../../../extensions/text_extensions.dart'; -import '../../app_style/colors.dart'; +import '../../../models/lookup.dart'; import '../../pages/user/visits/pantry/edit_pentry.dart'; import '../requests/request_status.dart'; class VisitItem extends StatelessWidget { final Visit visit; + final Lookup priority; - const VisitItem({Key key, this.visit}) : super(key: key); + const VisitItem({Key key, this.visit, this.priority}) : super(key: key); @override Widget build(BuildContext context) { @@ -30,17 +32,19 @@ class VisitItem extends StatelessWidget { children: [ Row( children: [ - // StatusLabel( - // label: visit.priority.name, - // id: visit.priority.id, - // textColor: AColors.getPriorityStatusTextColor(visit.priority.id), - // backgroundColor: AColors.getPriorityStatusColor(visit.priority.id)), - // 8.width, + if (priority != null) + StatusLabel( + label: priority.name, + id: priority.id, + textColor: AppColor.getPriorityStatusTextColor(context, priority.id), + backgroundColor: AppColor.getPriorityStatusColor(context, priority.id), + ), + if (priority != null) 8.width, StatusLabel( label: visit.status.name, id: visit.status.id, - textColor: AColors.getRequestStatusTextColorByName(visit.status.name), - backgroundColor: AColors.getRequestStatusColorByName(visit.status.name), + textColor: AppColor.getRequestStatusTextColorByName(context, visit.status.name), + backgroundColor: AppColor.getRequestStatusColorByName(context, visit.status.name), ), 1.width.expanded, ], @@ -57,10 +61,10 @@ class VisitItem extends StatelessWidget { children: [ Text( context.translation.viewDetails, - style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF4A8DB7)), + style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), ), 4.width, - const Icon(Icons.arrow_forward, color: Color(0xFF4A8DB7), size: 14) + Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) ], ).onPress(() { Navigator.of(context).push(MaterialPageRoute(builder: (_) => VisitDetailsPage(visit: visit))); @@ -76,7 +80,11 @@ class VisitItem extends StatelessWidget { Navigator.of(context).push(MaterialPageRoute(builder: (_) => EditPentry(visit: visit, pentry: visit.pentry))); }), if (userProvider.user.type == UsersTypes.engineer && visit.status.id != 270) 8.height, - Text(visit.createdOn != null ? visit.createdOn.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), + Text( + visit.createdOn != null ? visit.createdOn.toServiceRequestCardFormat : "", + textAlign: TextAlign.end, + style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + ), ], ) ], diff --git a/lib/views/widgets/visits/visit_status.dart b/lib/views/widgets/visits/visit_status.dart index f582fe95..88676048 100644 --- a/lib/views/widgets/visits/visit_status.dart +++ b/lib/views/widgets/visits/visit_status.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:test_sa/models/visits/visit.dart'; -import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/sizing.dart'; class VisitStatusLabel extends StatelessWidget { @@ -8,29 +7,29 @@ class VisitStatusLabel extends StatelessWidget { const VisitStatusLabel({Key key, this.visit}) : super(key: key); - Color getStatusColor() { - switch (visit.status.id) { - case 0: - return AColors.green; - case 1: - return AColors.grey; - case 2: - return AColors.grey; - default: - return AColors.grey; - } - } + // Color getStatusColor() { + // switch (visit.status.id) { + // case 0: + // return AColors.green; + // case 1: + // return AColors.grey; + // case 2: + // return AColors.grey; + // default: + // return AColors.grey; + // } + // } @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.symmetric(vertical: 2, horizontal: 8), alignment: Alignment.center, - decoration: BoxDecoration(color: getStatusColor(), borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: [AppStyle.boxShadow]), + decoration: BoxDecoration(/*color: getStatusColor(),*/ borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: [AppStyle.boxShadow]), child: Text( visit.status.name == null || visit.status.name.isEmpty ? "no status" : visit.status.name, style: Theme.of(context).textTheme.subtitle2.copyWith( - color: getStatusColor().computeLuminance() > 0.5 ? AColors.black : Colors.white, + // color: getStatusColor().computeLuminance() > 0.5 ? AColors.black : Colors.white, ), )); } diff --git a/pubspec.lock b/pubspec.lock index 9d1a4c8a..82dbb6b7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -904,11 +904,10 @@ packages: pie_chart: dependency: "direct main" description: - name: pie_chart - sha256: "5dba6d0eb4718e8ed00a9079361cd8947c3f84ac5a5d76f05a27f4ec5e27589e" - url: "https://pub.dev" - source: hosted - version: "5.3.2" + path: "packages/pie_chart" + relative: true + source: path + version: "4.0.1" platform: dependency: transitive description: @@ -1202,6 +1201,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.2" + touchable: + dependency: "direct main" + description: + name: touchable + sha256: "659dc6395f6256c20ef994a692527ea33c756e4e94f58017050687acd307d17f" + url: "https://pub.dev" + source: hosted + version: "0.2.1" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index cce57f36..eb9ca3e7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -72,9 +72,11 @@ dependencies: lottie: ^2.3.0 shimmer: ^2.0.0 flutter_advanced_switch: ^3.0.1 - pie_chart: ^5.3.2 + pie_chart: + path: packages/pie_chart table_calendar: ^3.0.8 image_cropper: ^3.0.3 + touchable: ^0.2.1 dev_dependencies: flutter_test: