dark / ligth dark

design_3.0_demo_module
nextwo 2 years ago
parent 4d07ddc7e8
commit 204305f705

@ -349,7 +349,8 @@
"addItem" : "اضافة عنصر", "addItem" : "اضافة عنصر",
"item" : "عنصر", "item" : "عنصر",
"serialNo" : "رقم التسلسلي", "serialNo" : "رقم التسلسلي",
"measuredValue": "القيمة المقاسه" "measuredValue": "القيمة المقاسه",
"sureExit" : " هل انت متاكد من الخروج؟"
} }

@ -324,7 +324,7 @@
"viewDetails" : "View Details", "viewDetails" : "View Details",
"requests" : "Requests", "requests" : "Requests",
"highPriorityRequests" : "High Priority\nRequests", "highPriorityRequests" : "High Priority\nRequests",
"newRequests" : "New Request\nRequests", "newRequests" : "New\nRequests",
"completedRequests" : "completed\nRequests", "completedRequests" : "completed\nRequests",
"overdueRequests": "overdue\nRequests", "overdueRequests": "overdue\nRequests",
"highPriority" : "High Priority", "highPriority" : "High Priority",
@ -348,8 +348,8 @@
"asset" : "Asset", "asset" : "Asset",
"addItem" : "Add Item", "addItem" : "Add Item",
"item" : "Item", "item" : "Item",
"measuredValue": "Measured Value" "measuredValue": "Measured Value",
"sureExit" : "Are you sure ypu want to Exit? "
} }

@ -68,20 +68,20 @@ class AppDrawer extends StatelessWidget {
// "logout" : "خروج" // "logout" : "خروج"
padding: const EdgeInsets.only(top: 24), padding: const EdgeInsets.only(top: 24),
children: [ children: [
drawerItem("drawer_notification", context.translation.notifications).onPress(() => Navigator.of(context).pushNamed(NotificationsPage.id)), drawerItem("drawer_notification", context.translation.notifications, context).onPress(() => Navigator.of(context).pushNamed(NotificationsPage.id)),
18.height, 18.height,
drawerItem("help_center", context.translation.helpCenter) /*.onPress(() => Navigator.of(context).pushNamed(HelpCenterPage.id))*/, drawerItem("help_center", context.translation.helpCenter, context) /*.onPress(() => Navigator.of(context).pushNamed(HelpCenterPage.id))*/,
18.height, 18.height,
drawerItem("rate_us", context.translation.rateUs), drawerItem("rate_us", context.translation.rateUs, context),
18.height, 18.height,
drawerItem("setting", context.translation.settings).onPress(() => Navigator.of(context).pushNamed(SettingsPage.id)), drawerItem("setting", context.translation.settings, context).onPress(() => Navigator.of(context).pushNamed(SettingsPage.id)),
18.height, 18.height,
drawerItem("report", context.translation.reportBg) /*.onPress(() => Navigator.of(context).pushNamed(ReportBugPage.id))*/, drawerItem("report", context.translation.reportBg, context) /*.onPress(() => Navigator.of(context).pushNamed(ReportBugPage.id))*/,
18.height, 18.height,
drawerItem("whats_new", context.translation.whatsNew), drawerItem("whats_new", context.translation.whatsNew, context),
], ],
).expanded, ).expanded,
drawerItem("logout", context.translation.logout, color: AppColor.red50).onPress(() async { drawerItem("logout", context.translation.logout, context, color: AppColor.red50).onPress(() async {
bool result = await showDialog( bool result = await showDialog(
context: context, context: context,
builder: (_) => AAlertDialog(title: context.translation.signOut, content: context.translation.logoutAlert), builder: (_) => AAlertDialog(title: context.translation.signOut, content: context.translation.logoutAlert),
@ -101,7 +101,7 @@ class AppDrawer extends StatelessWidget {
children: [ children: [
Text( Text(
"Powered By Cloud Solutions", "Powered By Cloud Solutions",
style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12), style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? AppColor.neutral10 : AppColor.neutral50, fontSize: 12),
textScaleFactor: AppStyle.getScaleFactor(context), textScaleFactor: AppStyle.getScaleFactor(context),
), ),
6.width, 6.width,
@ -113,7 +113,7 @@ class AppDrawer extends StatelessWidget {
); );
} }
Widget drawerItem(String icon, String title, {Color color}) { Widget drawerItem(String icon, String title, BuildContext context,{Color color}) {
return Row( return Row(
children: [ children: [
SvgPicture.asset( SvgPicture.asset(
@ -125,7 +125,7 @@ class AppDrawer extends StatelessWidget {
16.width, 16.width,
Text( Text(
title, title,
style: AppTextStyles.heading6.copyWith(color: color ?? const Color(0xFF3B3D4A)), style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50,),
), ),
], ],
); );

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; 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/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -41,21 +42,21 @@ class _CalendarPageState extends State<CalendarPage> with SingleTickerProviderSt
"My Shift".heading5(context), "My Shift".heading5(context),
8.height, 8.height,
"Sunday to Thursday".bodyText(context), "Sunday to Thursday".bodyText(context),
"09:00 to 18:00".bodyText(context).custom(color: AppColor.neutral50), "09:00 to 18:00".bodyText(context).custom(color: context.isDark? AppColor.neutral10: AppColor.neutral50),
], ],
).toShadowContainer(context), ).toShadowContainer(context),
).paddingOnly(start: 16, end: 16), ).paddingOnly(start: 16, end: 16),
16.height, 16.height,
Container( Container(
margin: const EdgeInsets.only(left: 16, right: 16), margin: const EdgeInsets.only(left: 16, right: 16),
decoration: BoxDecoration(color: AppColor.neutral30, borderRadius: BorderRadius.circular(16)), decoration: BoxDecoration(color: context.isDark? AppColor.neutral10: AppColor.neutral30, borderRadius: BorderRadius.circular(16)),
child: TabBar( child: TabBar(
controller: _tabController, controller: _tabController,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
labelColor: AppColor.neutral60, labelColor: AppColor.neutral60,
unselectedLabelColor: AppColor.neutral20, unselectedLabelColor: AppColor.neutral20,
indicatorPadding: const EdgeInsets.all(4), indicatorPadding: const EdgeInsets.all(4),
indicator: BoxDecoration(color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), indicator: BoxDecoration(color: context.isDark? AppColor.neutral20:Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)),
onTap: (index) { onTap: (index) {
setState(() {}); setState(() {});
}, },

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -19,9 +20,9 @@ class CalendarHeader extends StatelessWidget {
children: [ children: [
dateFormat.format(dateTime).heading5(context), dateFormat.format(dateTime).heading5(context),
6.width, 6.width,
const Align(alignment: AlignmentDirectional.centerEnd, child: Icon(Icons.keyboard_arrow_down_sharp, color: AppColor.neutral60, size: 24)), Align(alignment: AlignmentDirectional.centerEnd, child: Icon(Icons.keyboard_arrow_down_sharp, color: context.isDark? AppColor.neutral10:AppColor.neutral60, size: 24)),
const Spacer(), const Spacer(),
const Align(alignment: AlignmentDirectional.centerEnd, child: Icon(Icons.calendar_today, color: AppColor.neutral60, size: 18)), Align(alignment: AlignmentDirectional.centerEnd, child: Icon(Icons.calendar_today, color: context.isDark? AppColor.neutral10:AppColor.neutral60, size: 18)),
], ],
), ),
8.height, 8.height,

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:table_calendar/table_calendar.dart'; import 'package:table_calendar/table_calendar.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -41,7 +42,7 @@ class _MonthlyFragmentState extends State<MonthlyFragment> {
headerTitleBuilder: (context, dateTime) => CalendarHeader(dateFormat: DateFormat("MMMM, yyyy"), dateTime: dateTime), headerTitleBuilder: (context, dateTime) => CalendarHeader(dateFormat: DateFormat("MMMM, yyyy"), dateTime: dateTime),
dowBuilder: (context, dateTime) { dowBuilder: (context, dateTime) {
final day = DateFormat("EE").format(dateTime).toUpperCase(); final day = DateFormat("EE").format(dateTime).toUpperCase();
return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: context.isDark? AppColor.neutral10:AppColor.neutral50));
}, },
defaultBuilder: (context, dateTime, _) { defaultBuilder: (context, dateTime, _) {
final day = DateFormat("d").format(dateTime); final day = DateFormat("d").format(dateTime);
@ -69,7 +70,7 @@ class _MonthlyFragmentState extends State<MonthlyFragment> {
children: [ children: [
const CircleAvatar(backgroundColor: AppColor.primary40, radius: 8), const CircleAvatar(backgroundColor: AppColor.primary40, radius: 8),
8.width, 8.width,
"My Requests".heading6(context), context.translation.myRequests.heading6(context),
], ],
), ),
16.height, 16.height,

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:table_calendar/table_calendar.dart'; import 'package:table_calendar/table_calendar.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -57,7 +58,7 @@ class _WeeklyFragmentState extends State<WeeklyFragment> {
), ),
dowBuilder: (context, dateTime) { dowBuilder: (context, dateTime) {
final day = DateFormat("EE").format(dateTime).toUpperCase(); final day = DateFormat("EE").format(dateTime).toUpperCase();
return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: context.isDark? AppColor.neutral10:AppColor.neutral50));
}, },
defaultBuilder: (context, dateTime, _) { defaultBuilder: (context, dateTime, _) {
final day = DateFormat("d").format(dateTime); final day = DateFormat("d").format(dateTime);

@ -41,7 +41,7 @@ class RequestsFragment extends StatelessWidget {
children: [ children: [
Text( Text(
value, value,
style: AppTextStyles.heading1.copyWith(color: AppColor.neutral70, height: 1), style: AppTextStyles.heading1.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50, height: 1),
).toShimmer(isShow: isLoading).expanded, ).toShimmer(isShow: isLoading).expanded,
8.width, 8.width,
SvgPicture.asset('assets/images/$icon.svg', height: 35, width: 35).toShimmer(isShow: isLoading), SvgPicture.asset('assets/images/$icon.svg', height: 35, width: 35).toShimmer(isShow: isLoading),
@ -49,7 +49,7 @@ class RequestsFragment extends StatelessWidget {
).expanded, ).expanded,
Text( Text(
title, title,
style: AppTextStyles.heading5.copyWith(color: AppColor.neutral50), style: AppTextStyles.heading5.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50,),
).toShimmer(isShow: isLoading), ).toShimmer(isShow: isLoading),
8.height, 8.height,
Row( Row(

@ -163,13 +163,7 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
} }
_buildDetailsCard(Widget widget) { _buildDetailsCard(Widget widget) {
return Container( return widget.paddingOnly(top: 14, start: 14, end: 14);
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
),
child: widget,
).paddingOnly(top: 14, start: 14, end: 14);
} }
_buildTextWidget(String text) { _buildTextWidget(String text) {

@ -66,15 +66,7 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
} }
Widget informationCard() { Widget informationCard() {
return Container( return Column(
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)],
),
child: Column(
children: [ children: [
Column( Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -99,22 +91,13 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
textColor: AColors.getRequestStatusTextColor(widget.model.status?.value ?? 0), textColor: AColors.getRequestStatusTextColor(widget.model.status?.value ?? 0),
backgroundColor: AColors.getRequestStatusColor(widget.model.status?.value ?? 0)), backgroundColor: AColors.getRequestStatusColor(widget.model.status?.value ?? 0)),
8.height, 8.height,
Text(context.translation.gasRefillRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), context.translation.gasRefillRequest.heading5(context),
8.height, 8.height,
///TBD ///TBD
Text( context.translation.gasRequest.bodyText(context),
context.translation.gasRequest, '${context.translation.cylinderSize}: ${widget.model.gazRefillDetails[0].cylinderSize.value}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), '${context.translation.site}: ${widget.model.site.name}'.bodyText(context),
),
Text(
'${context.translation.cylinderSize}: ${widget.model.gazRefillDetails[0].cylinderSize.value}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.site}: ${widget.model.site.name}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
], ],
), ),
1.width.expanded, 1.width.expanded,
@ -160,14 +143,8 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
8.height, 8.height,
const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1), const Divider(color: Color(0xFFEAF1F4), height: 1, thickness: 1),
8.height, 8.height,
Text( '${context.translation.requestedQuantity}: ${widget.model.gazRefillDetails[0].requestedQty}'.bodyText(context),
'${context.translation.requestedQuantity}: ${widget.model.gazRefillDetails[0].requestedQty}', '${context.translation.deliveredQuantity}: ${widget.model.gazRefillDetails[0].deliverdQty}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.deliveredQuantity}: ${widget.model.gazRefillDetails[0].deliverdQty}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
8.height, 8.height,
], ],
).paddingAll(16), ).paddingAll(16),
@ -225,7 +202,6 @@ class _GasRefillDetailsPageState extends State<GasRefillDetailsPage> {
).paddingOnly(bottom: 16, start: 16, end: 16)) ).paddingOnly(bottom: 16, start: 16, end: 16))
.onPress(() {}), .onPress(() {}),
], ],
), ).toShadowContainer(context).paddingAll(16);
).paddingAll(16);
} }
} }

@ -184,41 +184,18 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
Container( Column(
width: MediaQuery.of(context).size.width,
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)],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text(context.translation.gasRefill, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), context.translation.gasRefill.heading5(context),
8.height, 8.height,
/// TBD /// TBD
Text( '${context.translation.gasRequest}:'.bodyText(context),
'Gas Request:', '${context.translation.cylinderSize}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderSize.value}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), '${context.translation.quantity}: ${widget.gasRefillModel.gazRefillDetails[0].requestedQty}'.bodyText(context),
), '${context.translation.site}: ${widget.gasRefillModel.site.name}'.bodyText(context),
Text(
'Cylinder Size: ${widget.gasRefillModel.gazRefillDetails[0].cylinderSize.value}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'Request Quantity: ${widget.gasRefillModel.gazRefillDetails[0].requestedQty}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'Site: ${widget.gasRefillModel.site.name}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
], ],
).paddingAll(16), ).paddingAll(16),
),
12.height, 12.height,
AppTimer( AppTimer(
label: context.translation.workingHours, label: context.translation.workingHours,
@ -259,7 +236,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
onSaved: (value) {}, onSaved: (value) {},
), ),
], ],
).paddingAll(16), ).toShadowContainer(context).paddingAll(16),
).expanded, ).expanded,
AppFilledButton( AppFilledButton(
label: widget.gasRefillModel == null ? context.translation.submit : context.translation.update, label: widget.gasRefillModel == null ? context.translation.submit : context.translation.update,

@ -9,6 +9,7 @@ import 'package:share/share.dart';
import 'package:test_sa/controllers/notification/firebase_notification_manger.dart'; import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
import 'package:test_sa/controllers/providers/api/user_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/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart'; import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart';
@ -87,11 +88,11 @@ class _LandPageState extends State<LandPage> {
onWillPop: () async { onWillPop: () async {
bool result = await showDialog( bool result = await showDialog(
context: context, context: context,
builder: (_) => const AAlertDialog( builder: (_) => AAlertDialog(
// title: _subtitle.exit, // title: _subtitle.exit,
title: "Exit", title: context.translation.exit,
// content: _subtitle.exitAlert, // content: _subtitle.exitAlert,
content: "Are you sure you want to exit?", content: context.translation.sureExit,
)); ));
if (result == true) { if (result == true) {
if (Platform.isAndroid) { if (Platform.isAndroid) {
@ -129,9 +130,9 @@ class _LandPageState extends State<LandPage> {
// ) // )
// ), // ),
// ), // ),
SizedBox( // SizedBox(
height: 48 * AppStyle.getScaleFactor(context), // height: 48 * AppStyle.getScaleFactor(context),
), // ),
// Hero( // Hero(
// tag: "logo", // tag: "logo",
// child: Image( // child: Image(
@ -223,219 +224,219 @@ class _LandPageState extends State<LandPage> {
), ),
], ],
), ),
Align( // Align(
alignment: Alignment.topLeft, // alignment: Alignment.topLeft,
child: ABackButton( // child: ABackButton(
icon: Icons.power_settings_new_rounded, // icon: Icons.power_settings_new_rounded,
onPressed: () async { // onPressed: () async {
bool result = await showDialog( // bool result = await showDialog(
context: context, // context: context,
builder: (_) => const AAlertDialog( // builder: (_) => const AAlertDialog(
// title: _subtitle.signOut, // // title: _subtitle.signOut,
title: "Sign Out", // title: "Sign Out",
// content: _subtitle.signOutAlert, // // content: _subtitle.signOutAlert,
content: "Are you sure you want to exit?", // content: "Are you sure you want to exit?",
)); // ));
if (result) { // if (result) {
// _devicesProvider.reset(); // // _devicesProvider.reset();
// _departmentsProvider.reset(); // // _departmentsProvider.reset();
// _serviceRequestsProvider.reset(); // // _serviceRequestsProvider.reset();
// _regularVisitsProvider.reset(); // // _regularVisitsProvider.reset();
// _preventiveMaintenanceVisitsProvider.reset(); // // _preventiveMaintenanceVisitsProvider.reset();
_settingProvider.resetSettings(); // _settingProvider.resetSettings();
_userProvider.reset(); // _userProvider.reset();
Navigator.of(context).pop(); // Navigator.of(context).pop();
} // }
},
),
),
Align(
alignment: Alignment.topRight,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
child: AIconButton(
iconData: Icons.menu,
color: AColors.primaryColor,
buttonSize: 42,
backgroundColor: AColors.white,
onPressed: () {
_scaffoldKey.currentState.openEndDrawer();
},
),
),
),
],
),
),
endDrawer: Drawer(
backgroundColor: Colors.white,
child: Column(
children: [
40.height,
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
const Icon(Icons.clear).onPress(() => Navigator.pop(context)),
],
).paddingOnly(start: 4, end: 14),
Row(
children: [
Container(
height: 50 * AppStyle.getScaleFactor(context),
width: 50 * AppStyle.getScaleFactor(context),
padding: EdgeInsets.all(4),
decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle),
child: ClipOval(
child: ClipOval(
child: Icon(
Icons.person,
size: 36,
color: Theme.of(context).colorScheme.primary,
),
),
),
),
12.width,
Text(
_userProvider.user?.userName ?? "??",
style: Theme.of(context).textTheme.headline6.copyWith(
fontWeight: FontWeight.w600,
),
textScaleFactor: AppStyle.getScaleFactor(context),
).expanded
],
).paddingOnly(start: 14, end: 14, top: 21, bottom: 21),
Divider(
height: 1,
thickness: 1,
color: AColors.greyEF,
),
ListView(
children: [
Row(
children: [
Radio(
value: "en",
activeColor: AColors.grey3A,
focusColor: AColors.grey3A,
groupValue: _settingProvider.language,
onChanged: (value) {
_settingProvider.setLanguage(value);
}),
Text(
"English",
style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
textScaleFactor: AppStyle.getScaleFactor(context),
),
Radio(
value: "ar",
activeColor: AColors.grey3A,
focusColor: AColors.grey3A,
groupValue: _settingProvider.language,
onChanged: (value) {
_settingProvider.setLanguage(value);
}),
Text(
"عربي",
style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
textScaleFactor: AppStyle.getScaleFactor(context),
),
],
),
Row(
children: [
Radio(
value: true,
activeColor: AColors.grey3A,
focusColor: AColors.grey3A,
groupValue: _settingProvider.language,
onChanged: (value) {
_settingProvider.setDarkTheme(value);
}),
Text(
"Dark",
style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
textScaleFactor: AppStyle.getScaleFactor(context),
),
Radio(
value: false,
activeColor: AColors.grey3A,
focusColor: AColors.grey3A,
groupValue: _settingProvider.language,
onChanged: (value) {
_settingProvider.setDarkTheme(value);
}),
Text(
"Light",
style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
textScaleFactor: AppStyle.getScaleFactor(context),
),
],
),
// DrawerItem(
// icon: Icons.notifications,
// title: _subtitle.notifications,
// onPressed: () {
// Navigator.of(context).pushNamed(NotificationsPage.id);
// }, // },
// ), // ),
DrawerItem( // ),
icon: Icons.mail, // Align(
// title: _subtitle.email, // alignment: Alignment.topRight,
title: "Email", // child: Padding(
onPressed: () { // padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
launch("mailto:customerservice@Test SA.com"); // child: AIconButton(
}, // iconData: Icons.menu,
), // color: AColors.primaryColor,
// DrawerItem( // buttonSize: 42,
// icon: Icons.phone_in_talk, // backgroundColor: AColors.white,
// title: "${_subtitle.hotLine} 15564",
// onPressed: () { // onPressed: () {
// launch("tel:15564"); // _scaffoldKey.currentState.openEndDrawer();
// }, // },
// ), // ),
// ),
// ),
],
),
),
// endDrawer: Drawer(
// backgroundColor: Colors.white,
// child: Column(
// children: [
// 40.height,
// Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// const Icon(Icons.clear).onPress(() => Navigator.pop(context)),
// ],
// ).paddingOnly(start: 4, end: 14),
// Row(
// children: [
// Container(
// height: 50 * AppStyle.getScaleFactor(context),
// width: 50 * AppStyle.getScaleFactor(context),
// padding: EdgeInsets.all(4),
// decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle),
// child: ClipOval(
// child: ClipOval(
// child: Icon(
// Icons.person,
// size: 36,
// color: Theme.of(context).colorScheme.primary,
// ),
// ),
// ),
// ),
// 12.width,
// Text(
// _userProvider.user?.userName ?? "??",
// style: Theme.of(context).textTheme.headline6.copyWith(
// fontWeight: FontWeight.w600,
// ),
// textScaleFactor: AppStyle.getScaleFactor(context),
// ).expanded
// ],
// ).paddingOnly(start: 14, end: 14, top: 21, bottom: 21),
// Divider(
// height: 1,
// thickness: 1,
// color: AColors.greyEF,
// ),
// ListView(
// children: [
// Row(
// children: [
// Radio(
// value: "en",
// activeColor: AColors.grey3A,
// focusColor: AColors.grey3A,
// groupValue: _settingProvider.language,
// onChanged: (value) {
// _settingProvider.setLanguage(value);
// }),
// Text(
// "English",
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
// textScaleFactor: AppStyle.getScaleFactor(context),
// ),
// Radio(
// value: "ar",
// activeColor: AColors.grey3A,
// focusColor: AColors.grey3A,
// groupValue: _settingProvider.language,
// onChanged: (value) {
// _settingProvider.setLanguage(value);
// }),
// Text(
// "عربي",
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
// textScaleFactor: AppStyle.getScaleFactor(context),
// ),
// ],
// ),
// Row(
// children: [
// Radio(
// value: true,
// activeColor: AColors.grey3A,
// focusColor: AColors.grey3A,
// groupValue: _settingProvider.language,
// onChanged: (value) {
// _settingProvider.setDarkTheme(value);
// }),
// Text(
// "Dark",
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
// textScaleFactor: AppStyle.getScaleFactor(context),
// ),
// Radio(
// value: false,
// activeColor: AColors.grey3A,
// focusColor: AColors.grey3A,
// groupValue: _settingProvider.language,
// onChanged: (value) {
// _settingProvider.setDarkTheme(value);
// }),
// Text(
// "Light",
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
// textScaleFactor: AppStyle.getScaleFactor(context),
// ),
// ],
// ),
// // DrawerItem(
// // icon: Icons.notifications,
// // title: _subtitle.notifications,
// // onPressed: () {
// // Navigator.of(context).pushNamed(NotificationsPage.id);
// // },
// // ),
// DrawerItem( // DrawerItem(
// icon: FontAwesomeIcons.linkedinIn, // icon: Icons.mail,
// title: _subtitle.linkedIn, // // title: _subtitle.email,
// title: "Email",
// onPressed: () { // onPressed: () {
// launch("https://www.linkedin.com/company/Test SA/"); // launch("mailto:customerservice@Test SA.com");
// }, // },
// ), // ),
// // DrawerItem(
// // icon: Icons.phone_in_talk,
// // title: "${_subtitle.hotLine} 15564",
// // onPressed: () {
// // launch("tel:15564");
// // },
// // ),
// // DrawerItem(
// // icon: FontAwesomeIcons.linkedinIn,
// // title: _subtitle.linkedIn,
// // onPressed: () {
// // launch("https://www.linkedin.com/company/Test SA/");
// // },
// // ),
// // DrawerItem(
// // icon: FontAwesomeIcons.globe,
// // title: _subtitle.ourWebsite,
// // onPressed: () {
// // launch("https://www.Test SA.com/");
// // },
// // ),
// DrawerItem( // DrawerItem(
// icon: FontAwesomeIcons.globe, // icon: Icons.share,
// title: _subtitle.ourWebsite, // // title: _subtitle.shareApp,
// onPressed: () { // title: "Share App",
// launch("https://www.Test SA.com/"); // onPressed: () async {
// PackageInfo packageInfo = await PackageInfo.fromPlatform();
// String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/";
// Share.share(shareLink);
// }, // },
// ), // ),
DrawerItem( // ],
icon: Icons.share, // ).expanded,
// title: _subtitle.shareApp, // Divider(height: 1, thickness: 1, color: AColors.greyEF),
title: "Share App", // Row(
onPressed: () async { // mainAxisAlignment: MainAxisAlignment.center,
PackageInfo packageInfo = await PackageInfo.fromPlatform(); // children: [
String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/"; // Text(
Share.share(shareLink); // "Powered By Cloud Solutions",
}, // style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12),
), // textScaleFactor: AppStyle.getScaleFactor(context),
], // ),
).expanded, // 6.width,
Divider(height: 1, thickness: 1, color: AColors.greyEF), // Image.asset("assets/images/cloud_logo.png", width: 32, height: 32)
Row( // ],
mainAxisAlignment: MainAxisAlignment.center, // ).paddingOnly(start: 20, end: 20, top: 8, bottom: 8),
children: [ // ],
Text( // ),
"Powered By Cloud Solutions", // ),
style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12),
textScaleFactor: AppStyle.getScaleFactor(context),
),
6.width,
Image.asset("assets/images/cloud_logo.png", width: 32, height: 32)
],
).paddingOnly(start: 20, end: 20, top: 8, bottom: 8),
],
),
),
), ),
); );
} }

@ -54,7 +54,7 @@ class NotificationsList extends StatelessWidget {
}, },
); );
}, },
), ).toShadowContainer(context),
), ),
), ),
); );

@ -43,7 +43,7 @@ class _ServiceRequestsPageState extends State<ServiceRequestsPage> with TickerPr
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.serviceRequest), appBar: DefaultAppBar(title: context.translation.serviceRequest),
backgroundColor: const Color(0xfff8f9fb), //backgroundColor: context.isDark? :const Color(0xfff8f9fb),
body: SafeArea( body: SafeArea(
child: LoadingManager( child: LoadingManager(
isLoading: _serviceRequestsProvider.isLoading, isLoading: _serviceRequestsProvider.isLoading,

@ -50,15 +50,7 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
// _serviceRequestsProvider.getServiceRequestObjectById(requestId: serviceRequest.id); // _serviceRequestsProvider.getServiceRequestObjectById(requestId: serviceRequest.id);
Widget informationCard() { Widget informationCard() {
return Container( return Column(
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)],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Column( Column(
@ -87,19 +79,19 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
], ],
), ),
8.height, 8.height,
Text(widget.serviceRequest.deviceEnName, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), Text(widget.serviceRequest.deviceEnName, style: AppTextStyles.heading5.copyWith(color: context.isDark?AppColor.neutral30: const Color(0xFF3B3D4A))),
8.height, 8.height,
Text( Text(
'${context.translation.assetNumber}: ${widget.serviceRequest.device.assetNumber}', '${context.translation.assetNumber}: ${widget.serviceRequest.device.assetNumber}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.requestType}: ${widget.serviceRequest.type.name}', '${context.translation.requestType}: ${widget.serviceRequest.type.name}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.requestNo}: ${widget.serviceRequest.requestCode}', '${context.translation.requestNo}: ${widget.serviceRequest.requestCode}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
], ],
).expanded, ).expanded,
@ -111,7 +103,7 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: widget.serviceRequest))); Navigator.push(context, MaterialPageRoute(builder: (context) => UpdateServiceRequestPage(serviceRequest: widget.serviceRequest)));
}), }),
if (_userProvider.user.type == UsersTypes.engineer) 16.height, if (_userProvider.user.type == UsersTypes.engineer) 16.height,
Text(widget.serviceRequest.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), Text(widget.serviceRequest.date.toServiceRequestCardFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark?AppColor.neutral30:const Color(0xFF3B3D4A))),
], ],
) )
], ],
@ -121,11 +113,11 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
8.height, 8.height,
Text( Text(
'${context.translation.manufacture}: ${widget.serviceRequest.device.modelDefinition.manufacturerName}', '${context.translation.manufacture}: ${widget.serviceRequest.device.modelDefinition.manufacturerName}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.model}: ${widget.serviceRequest.device.modelDefinition.modelName}', '${context.translation.model}: ${widget.serviceRequest.device.modelDefinition.modelName}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
8.height, 8.height,
if ((widget.serviceRequest.callComments ?? "").isNotEmpty) ...[ if ((widget.serviceRequest.callComments ?? "").isNotEmpty) ...[
@ -133,7 +125,7 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
8.height, 8.height,
Text( Text(
widget.serviceRequest.callComments, widget.serviceRequest.callComments,
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
], ],
if (widget.serviceRequest.devicePhotos.isNotEmpty) ...[ if (widget.serviceRequest.devicePhotos.isNotEmpty) ...[
@ -208,13 +200,12 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
); );
}), }),
], ],
), ).toShadowContainer(context);
);
} }
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.serviceDetails), appBar: DefaultAppBar(title: context.translation.serviceDetails),
backgroundColor: const Color(0xfff8f9fb), //backgroundColor: const Color(0xfff8f9fb),
body: SafeArea( body: SafeArea(
child: FutureBuilder( child: FutureBuilder(
future: _serviceRequestsProvider.getServiceRequestObjectById(requestId: widget.serviceRequest.id), future: _serviceRequestsProvider.getServiceRequestObjectById(requestId: widget.serviceRequest.id),

@ -34,7 +34,7 @@ class WorkOrderDetailsPage extends StatelessWidget {
margin: const EdgeInsets.all(16), margin: const EdgeInsets.all(16),
width: double.infinity, width: double.infinity,
decoration: ShapeDecoration( decoration: ShapeDecoration(
color: Colors.white, color: context.isDark?Theme.of(context).cardColor:Colors.white,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
shadows: const [BoxShadow(color: Color(0x07000000), blurRadius: 14, offset: Offset(0, 0), spreadRadius: 0)], shadows: const [BoxShadow(color: Color(0x07000000), blurRadius: 14, offset: Offset(0, 0), spreadRadius: 0)],
), ),
@ -44,31 +44,31 @@ class WorkOrderDetailsPage extends StatelessWidget {
children: [ children: [
StatusLabel(label: workOrder.currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40), StatusLabel(label: workOrder.currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40),
8.height, 8.height,
Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark?AppColor.neutral30:const Color(0xFF3B3D4A))),
8.height, 8.height,
Text( Text(
'${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName}', '${context.translation.assetName}: ${workOrder.callRequest.asset.modelDefinition.assetName}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.status}: ${workOrder.currentSituation.name}', '${context.translation.status}: ${workOrder.currentSituation.name}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.orderWorkNumber}: ${workOrder.workOrderNo}', '${context.translation.orderWorkNumber}: ${workOrder.workOrderNo}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.assignedEmployee}: ${workOrder.assignedEmployee?.name ?? ""}', '${context.translation.assignedEmployee}: ${workOrder.assignedEmployee?.name ?? ""}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
Text('${context.translation.visitDate}: ${workOrder.visitDate?.toServiceRequestDetailsFormat ?? ""}', style: AppTextStyles.bodyText.copyWith(color: 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: 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: 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: 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: 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: 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: const Color(0xFF757575))), Text('${context.translation.callLastSituation}: ${workOrder.calllastSituation.name ?? '' ?? ""}', style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575))),
], ],
).paddingAll(16), ).paddingAll(16),
), ),

@ -38,7 +38,7 @@ class WorkOrderListPage extends StatelessWidget {
print("serviceRequest.statusValue:${serviceRequest.statusValue}"); print("serviceRequest.statusValue:${serviceRequest.statusValue}");
return Scaffold( return Scaffold(
appBar: DefaultAppBar(title: context.translation.workOrders), appBar: DefaultAppBar(title: context.translation.workOrders),
backgroundColor: const Color(0xfff8f9fb), //backgroundColor: const Color(0xfff8f9fb),
body: SafeArea( body: SafeArea(
child: FutureBuilder( child: FutureBuilder(
future: serviceRequestsProvider.searchWorkOrders(callId: serviceRequest.requestCode), future: serviceRequestsProvider.searchWorkOrders(callId: serviceRequest.requestCode),
@ -56,15 +56,7 @@ class WorkOrderListPage extends StatelessWidget {
Color itemColor = index % 2 == 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary; 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; Color onItemColor = index % 2 != 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
return Container( return Column(
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)],
),
child: Column(
children: [ children: [
Column( Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -80,7 +72,7 @@ class WorkOrderListPage extends StatelessWidget {
children: [ children: [
StatusLabel(label: workOrders[index].currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40), StatusLabel(label: workOrders[index].currentSituation.name, textColor: AppColor.orange60, backgroundColor: AppColor.orange40),
8.height, 8.height,
Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), Text(serviceRequest.requestCode, style: AppTextStyles.heading5.copyWith(color: context.isDark?AppColor.neutral30:const Color(0xFF3B3D4A))),
], ],
).expanded, ).expanded,
if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3) if (_userProvider.user.type == UsersTypes.engineer && serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3)
@ -101,15 +93,15 @@ class WorkOrderListPage extends StatelessWidget {
children: [ children: [
Text( Text(
'${context.translation.assetName}: ${workOrders[index].callRequest.asset.modelDefinition.assetName}', '${context.translation.assetName}: ${workOrders[index].callRequest.asset.modelDefinition.assetName}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.status}: ${workOrders[index].currentSituation.name}', '${context.translation.status}: ${workOrders[index].currentSituation.name}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:const Color(0xFF757575)),
), ),
], ],
).expanded, ).expanded,
Text(workOrders[index].visitDate?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), Text(workOrders[index].visitDate?.toServiceRequestCardFormat ?? "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark?AppColor.neutral30:const Color(0xFF3B3D4A))),
], ],
), ),
16.height, 16.height,
@ -134,8 +126,7 @@ class WorkOrderListPage extends StatelessWidget {
// onPressed(request); // onPressed(request);
}), }),
], ],
), ).toShadowContainer(context);
);
}, },
).expanded, ).expanded,
if (_userProvider.user.type == UsersTypes.engineer && (serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3)) if (_userProvider.user.type == UsersTypes.engineer && (serviceRequest.statusValue != 5 && serviceRequest.statusValue != 3))

@ -87,12 +87,12 @@ class _EditPentryState extends State<EditPentry> with SingleTickerProviderStateM
child: Column( child: Column(
children: [ children: [
Container( Container(
decoration: BoxDecoration(color: AppColor.neutral30, borderRadius: BorderRadius.circular(16)), decoration: BoxDecoration(color: context.isDark?AppColor.neutral10 : AppColor.neutral30, borderRadius: BorderRadius.circular(16)),
child: TabBar( child: TabBar(
controller: _tabController, controller: _tabController,
isScrollable: true, isScrollable: true,
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
labelColor: AppColor.neutral60, labelColor: context.isDark? AppColor.neutral10 :AppColor.neutral60,
unselectedLabelColor: AppColor.neutral20, unselectedLabelColor: AppColor.neutral20,
indicatorPadding: const EdgeInsets.all(4), indicatorPadding: const EdgeInsets.all(4),
indicator: BoxDecoration(color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)), indicator: BoxDecoration(color: Theme.of(context).cardColor, borderRadius: BorderRadius.circular(13)),

@ -31,16 +31,8 @@ class VisitDetailsPage extends StatelessWidget {
child: Column( child: Column(
children: [ children: [
SingleChildScrollView( SingleChildScrollView(
child: Container(
margin: const EdgeInsets.all(16),
width: double.infinity,
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)],
),
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, //mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
@ -61,21 +53,20 @@ class VisitDetailsPage extends StatelessWidget {
], ],
), ),
8.height, 8.height,
Text(visit.deviceEnglishName, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), visit.deviceEnglishName.heading5(context),
8.height, 8.height,
Text('${context.translation.assetNumber}: ${visit.deviceNumber}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.assetNumber}: ${visit.deviceNumber}'.bodyText(context),
Text('${context.translation.assetSN}: ${visit.deviceSerialNumber}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.assetSN}: ${visit.deviceSerialNumber}'.bodyText(context),
Text('${context.translation.code}: ${visit.serialNumber}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.code}: ${visit.serialNumber}'.bodyText(context),
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
Text('${context.translation.expectDate}: ${visit.expectDate?.toServiceRequestDetailsFormat}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.expectDate}: ${visit.expectDate?.toServiceRequestDetailsFormat}'.bodyText(context),
Text('${context.translation.actualDate}: ${visit.actualDate?.toServiceRequestDetailsFormat}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.actualDate}: ${visit.actualDate?.toServiceRequestDetailsFormat}'.bodyText(context),
const Divider().defaultStyle(context), const Divider().defaultStyle(context),
Text('${context.translation.assignedTo}: ${visit.assignTo}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.assignedTo}: ${visit.assignTo}'.bodyText(context),
Text('${context.translation.engineerName}: ${visit.employName}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.engineerName}: ${visit.employName}'.bodyText(context),
Text('${context.translation.site}: ${visit.hospitalName}', style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575))), '${context.translation.site}: ${visit.hospitalName}'.bodyText(context),
], ],
).paddingAll(16), ).toShadowContainer(context).paddingAll(16),
),
).expanded, ).expanded,
if (userProvider.user.type == UsersTypes.engineer && visit.status.id != 270) if (userProvider.user.type == UsersTypes.engineer && visit.status.id != 270)
AppFilledButton( AppFilledButton(

@ -19,7 +19,7 @@ class ADatePicker extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: context.isDark?AppColor.neutral50:Colors.white,
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
border: Border.all(width: 1, color: Theme.of(context).scaffoldBackgroundColor), border: Border.all(width: 1, color: Theme.of(context).scaffoldBackgroundColor),
boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],

@ -4,6 +4,7 @@ import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/device/asset_transfer.dart'; import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import '../../../extensions/text_extensions.dart'; import '../../../extensions/text_extensions.dart';
@ -22,15 +23,10 @@ class DeviceTransferItem extends StatelessWidget {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
Text(context.translation.deviceTransferRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), context.translation.deviceTransferRequest.heading5(context),
Text(
'${context.translation.from} : ${item.senderAssignedEmployeeName}', '${context.translation.from} : ${item.senderAssignedEmployeeName}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), '${context.translation.to} : ${item.receiverAssignedEmployeeName}'.bodyText(context),
),
Text(
'${context.translation.to} : ${item.receiverAssignedEmployeeName}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
8.height, 8.height,
Row( Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -63,7 +59,7 @@ class DeviceTransferItem extends StatelessWidget {
/// TBD /// TBD
//StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)), //StatusLabel(label: '', textColor: AColors.getRequestStatusTextColor(0), backgroundColor: AColors.getRequestStatusColor(0)),
1.width, 1.width,
Text(item.createdOn != null ? item.createdOn.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), Text(item.createdOn != null ? item.createdOn.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark? AppColor.neutral10 : const Color(0xFF3B3D4A))),
], ],
), ),
], ],

@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:signature/signature.dart'; import 'package:signature/signature.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -57,7 +58,7 @@ class _ESignatureState extends State<ESignature> {
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight), padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: context.isDark?Theme.of(context).cardColor:Colors.white,
borderRadius: _editable ? const BorderRadius.only(topLeft: Radius.circular(10), topRight: Radius.circular(10)) : BorderRadius.circular(10), 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)], boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
), ),

@ -14,16 +14,7 @@ class AssetItemGridView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Column(
padding: const EdgeInsets.all(16),
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)],
),
child: Column(
children: [ children: [
AspectRatio( AspectRatio(
aspectRatio: 159 / 94, aspectRatio: 159 / 94,
@ -91,7 +82,6 @@ class AssetItemGridView extends StatelessWidget {
], ],
).expanded ).expanded
], ],
), ).onPress(() => onPressed(device)).toShadowContainer(context);
).onPress(() => onPressed(device));
} }
} }

@ -38,29 +38,15 @@ class AssetItemListView extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Text( device.modelDefinition.assetName.heading5(context),
device.modelDefinition.assetName, "${context.translation.assetNumber} : ${device.assetNumber}".bodyText(context),
maxLines: 2, "${context.translation.model} : ${device.modelDefinition.modelDefCode}".bodyText(context),
style: AppTextStyles.heading5.copyWith(color: Color(0xFF3B3D4A)),
),
Text(
"${context.translation.assetNumber} : ${device.assetNumber}",
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
"${context.translation.model} : ${device.modelDefinition.modelDefCode}",
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
], ],
), ),
Row( Row(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( "${context.translation.serialNo} : ${device.assetSerialNo}".bodyText(context).expanded,
"${context.translation.serialNo} : ${device.assetSerialNo}",
maxLines: 2,
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
).expanded,
Row( Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [

@ -91,7 +91,7 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
padding: const EdgeInsets.only(left: 16, right: 8), padding: const EdgeInsets.only(left: 16, right: 8),
alignment: Alignment.center, alignment: Alignment.center,
decoration: ShapeDecoration( decoration: ShapeDecoration(
color: Color(0xFFEAF1F4), color: context.isDark?Color(0xFF3B3D4A): Color(0xFFEAF1F4),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
), ),

@ -6,6 +6,7 @@ import 'package:test_sa/extensions/widget_extensions.dart';
import '../../../extensions/text_extensions.dart'; import '../../../extensions/text_extensions.dart';
import '../../../models/new_models/gas_refill_model.dart'; import '../../../models/new_models/gas_refill_model.dart';
import '../../../new_views/app_style/app_color.dart';
import '../../app_style/colors.dart'; import '../../app_style/colors.dart';
import '../requests/request_status.dart'; import '../requests/request_status.dart';
@ -33,19 +34,13 @@ class GasRefillItem extends StatelessWidget {
// 8.width, // 8.width,
StatusLabel(label: item.status.name, textColor: AColors.getRequestStatusTextColor(item.status.value), backgroundColor: AColors.getRequestStatusColor(item.status.value)), StatusLabel(label: item.status.name, textColor: AColors.getRequestStatusTextColor(item.status.value), backgroundColor: AColors.getRequestStatusColor(item.status.value)),
1.width.expanded, 1.width.expanded,
Text(item.startDate != null ? item.startDate.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: const Color(0xFF3B3D4A))), Text(item.startDate != null ? item.startDate.toServiceRequestCardFormat : "", textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark?AppColor.neutral10 :const Color(0xFF3B3D4A))),
], ],
), ),
8.height, 8.height,
Text(context.translation.gasRefillRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), context.translation.gasRefillRequest.heading5(context),
Text( '${context.translation.gasType}: ${item.gazRefillDetails[0].gasType.name}'.bodyText(context),
'${context.translation.gasType}: ${item.gazRefillDetails[0].gasType.name}', '${context.translation.site}: ${item.site.name}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
Text(
'${context.translation.site}: ${item.site.name}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)),
),
8.height, 8.height,
Row( Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,

@ -1,8 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.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/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart'; import 'package:test_sa/views/app_style/sizing.dart';
import '../../../new_views/app_style/app_color.dart';
class LandPageItem extends StatelessWidget { class LandPageItem extends StatelessWidget {
final String text; final String text;
final IconData icon; final IconData icon;
@ -14,19 +18,6 @@ class LandPageItem extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return InkWell( return InkWell(
onTap: onPressed, onTap: onPressed,
child: Container(
padding: const EdgeInsets.only(left: 20, right: 20, bottom: 15, top: 28),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(15),
boxShadow: [
BoxShadow(
color: const Color(0xff000000).withOpacity(.15),
blurRadius: 26,
offset: const Offset(0, -3),
),
],
),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -44,10 +35,9 @@ class LandPageItem extends StatelessWidget {
height: 42 * AppStyle.getScaleFactor(context), height: 42 * AppStyle.getScaleFactor(context),
color: AColors.primaryColor, color: AColors.primaryColor,
), ),
Text(text, style: const TextStyle(color: AColors.grey3A)), Text(text, style: TextStyle(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50,)),
], ],
), ).toShadowContainer(context),
),
); );
} }
} }

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; 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/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart'; import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
@ -22,19 +23,19 @@ class NotificationItem extends StatelessWidget {
children: [ children: [
Text( Text(
notification.title ?? "", notification.title ?? "",
style: AppTextStyles.heading6.copyWith(color: AppColor.neutral50), style: AppTextStyles.heading6.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50,),
).expanded, ).expanded,
8.width, 8.width,
Text( Text(
notification.createdOn.toServiceRequestCardFormat ?? "", notification.createdOn.toServiceRequestCardFormat ?? "",
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: AppTextStyles.tinyFont.copyWith(color: AppColor.neutral50), style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral20 : AppColor.neutral50,),
), ),
], ],
), ),
Text( Text(
notification.text ?? "", notification.text ?? "",
style: AppTextStyles.bodyText2.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText2.copyWith(color: context.isDark ? AppColor.neutral10 : Color(0xFF757575),),
), ),
], ],
).onPress(() { ).onPress(() {
@ -42,3 +43,4 @@ class NotificationItem extends StatelessWidget {
}); });
} }
} }

@ -16,6 +16,8 @@ import 'package:test_sa/models/user.dart';
import 'package:test_sa/views/app_style/colors.dart'; import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart'; import 'package:test_sa/views/widgets/requests/request_status.dart';
import '../../../new_views/app_style/app_color.dart';
class ServiceRequestItem extends StatelessWidget { class ServiceRequestItem extends StatelessWidget {
final int index; final int index;
final ServiceRequest request; final ServiceRequest request;
@ -31,15 +33,7 @@ class ServiceRequestItem extends StatelessWidget {
Color itemColor = index % 2 == 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary; 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; Color onItemColor = index % 2 != 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
return Container( return Column(
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)],
),
child: Column(
children: [ children: [
Column( Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -56,26 +50,26 @@ class ServiceRequestItem extends StatelessWidget {
8.width, 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, 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.neutral30:const Color(0xFF3B3D4A))),
], ],
), ),
8.height, 8.height,
Text(context.translation.serviceRequest, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), Text(context.translation.serviceRequest, style: AppTextStyles.heading5.copyWith(color: context.isDark? AppColor.neutral30:const Color(0xFF3B3D4A))),
Text( Text(
'${context.translation.assetName}: ${request.deviceEnName}', '${context.translation.assetName}: ${request.deviceEnName}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.assetNumber}: ${request.device.assetNumber}', '${context.translation.assetNumber}: ${request.device.assetNumber}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.requestType}: ${request.type.name}', '${context.translation.requestType}: ${request.type.name}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
Text( Text(
'${context.translation.requestNo}: ${request.requestCode}', '${context.translation.requestNo}: ${request.requestCode}',
style: AppTextStyles.bodyText.copyWith(color: Color(0xFF757575)), style: AppTextStyles.bodyText.copyWith(color: context.isDark?AppColor.neutral10:Color(0xFF757575)),
), ),
8.height, 8.height,
Row( Row(
@ -96,9 +90,8 @@ class ServiceRequestItem extends StatelessWidget {
], ],
).paddingAll(16).onPress(() { ).paddingAll(16).onPress(() {
onPressed(request); onPressed(request);
}), }).toShadowContainer(context),
], ],
),
); );
} }
} }

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; 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/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -107,7 +108,7 @@ class _AppTimerState extends State<AppTimer> {
height: 56.toScreenHeight, height: 56.toScreenHeight,
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Theme.of(context).cardColor, color: context.isDark?AppColor.neutral50:Theme.of(context).cardColor,
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)], boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
), ),

@ -46,20 +46,11 @@ class VisitItem extends StatelessWidget {
], ],
), ),
8.height, 8.height,
Text(visit.deviceEnglishName, style: AppTextStyles.heading5.copyWith(color: const Color(0xFF3B3D4A))), visit.deviceEnglishName.heading5(context),
8.height, 8.height,
Text( '${context.translation.assetNumber}: ${visit.deviceNumber}'.bodyText(context),
'${context.translation.assetNumber}: ${visit.deviceNumber}', '${context.translation.assetSN}: ${visit.deviceSerialNumber}'.bodyText(context),
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)), '${context.translation.code}: ${visit.serialNumber}'.bodyText(context),
),
Text(
'${context.translation.assetSN}: ${visit.deviceSerialNumber}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
),
Text(
'${context.translation.code}: ${visit.serialNumber}',
style: AppTextStyles.bodyText.copyWith(color: const Color(0xFF757575)),
),
16.height, 16.height,
Row( Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,

@ -42,11 +42,14 @@ class _VisitsListState extends State<VisitsList> {
onLazyLoad: widget.onLazyLoad, onLazyLoad: widget.onLazyLoad,
child: ListView.builder( child: ListView.builder(
itemCount: widget.visits.length, itemCount: widget.visits.length,
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16),
itemBuilder: (context, itemIndex) { itemBuilder: (context, itemIndex) {
Visit visit = widget.visits[itemIndex]; Visit visit = widget.visits[itemIndex];
// bool isSelected = _selectedVisits.contains(visit); // bool isSelected = _selectedVisits.contains(visit);
return VisitItem(visit: visit); return Padding(
padding: const EdgeInsets.only(bottom: 8.0),
child: VisitItem(visit: visit),
);
}, },
), ),
), ),

Loading…
Cancel
Save