added subordinate leave

merge-requests/1/merge
Fatimah Alshammari 3 years ago
parent bee1aef03e
commit 907b205d21

@ -0,0 +1,6 @@
<svg id="user_5_" data-name="user (5)" xmlns="http://www.w3.org/2000/svg" width="52.998" height="53" viewBox="0 0 52.998 53">
<path id="Path_5018" data-name="Path 5018" d="M18.613,41.552l-7.907,4.313a7.106,7.106,0,0,0-1.269.9,26.483,26.483,0,0,0,34.027.088,7.015,7.015,0,0,0-1.394-.934L33.6,41.689A3.229,3.229,0,0,1,31.818,38.8V35.479a12.788,12.788,0,0,0,.8-1.03,19.483,19.483,0,0,0,2.632-5.3,2.659,2.659,0,0,0,1.886-2.53V23.069a2.647,2.647,0,0,0-.886-1.965V15.978S37.3,8,26.5,8s-9.75,7.977-9.75,7.977V21.1a2.644,2.644,0,0,0-.886,1.965v3.546a2.658,2.658,0,0,0,1.226,2.231A17.6,17.6,0,0,0,20.3,35.479v3.24A3.232,3.232,0,0,1,18.613,41.552Z" fill="#bcbcbc"/>
<g id="Group_8632" data-name="Group 8632">
<path id="Path_5019" data-name="Path 5019" d="M26.953,0A26.483,26.483,0,0,0,9.448,46.76a7.041,7.041,0,0,1,1.257-.894l7.907-4.313A3.23,3.23,0,0,0,20.3,38.718v-3.24a17.58,17.58,0,0,1-3.206-6.633,2.66,2.66,0,0,1-1.226-2.231V23.068a2.647,2.647,0,0,1,.886-1.965V15.977S15.7,8,26.5,8s9.75,7.977,9.75,7.977V21.1a2.644,2.644,0,0,1,.886,1.965v3.546a2.659,2.659,0,0,1-1.886,2.53,19.482,19.482,0,0,1-2.632,5.3,12.788,12.788,0,0,1-.8,1.03V38.8A3.228,3.228,0,0,0,33.6,41.688l8.467,4.233a7.05,7.05,0,0,1,1.39.932A26.494,26.494,0,0,0,26.953,0Z" fill="#e0e0e0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -356,6 +356,8 @@
"hours": "ساعات", "hours": "ساعات",
"approvalStatus": "حالة القبول", "approvalStatus": "حالة القبول",
"absenceStatus": "حالة الغياب", "absenceStatus": "حالة الغياب",
"subordinateLeave": "إجازة التابعيين",
"numberDays": "عدد الأيام",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -356,6 +356,8 @@
"hours": "Hours", "hours": "Hours",
"approvalStatus": "Approval Status", "approvalStatus": "Approval Status",
"absenceStatus": "Absence Status", "absenceStatus": "Absence Status",
"subordinateLeave": "Subordinate Leave",
"numberDays": "Number of days",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -371,6 +371,8 @@ class CodegenLoader extends AssetLoader{
"hours": "ساعات", "hours": "ساعات",
"approvalStatus": "حالة القبول", "approvalStatus": "حالة القبول",
"absenceStatus": "حالة الغياب", "absenceStatus": "حالة الغياب",
"subordinateLeave": "إجازة التابعيين",
"numberDays": "عدد الأيام",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",
@ -762,6 +764,8 @@ static const Map<String,dynamic> en_US = {
"hours": "Hours", "hours": "Hours",
"approvalStatus": "Approval Status", "approvalStatus": "Approval Status",
"absenceStatus": "Absence Status", "absenceStatus": "Absence Status",
"subordinateLeave": "Subordinate Leave",
"numberDays": "Number of days",
"profile": { "profile": {
"reset_password": { "reset_password": {
"label": "Reset Password", "label": "Reset Password",

@ -356,6 +356,8 @@ abstract class LocaleKeys {
static const hours = 'hours'; static const hours = 'hours';
static const approvalStatus = 'approvalStatus'; static const approvalStatus = 'approvalStatus';
static const absenceStatus = 'absenceStatus'; static const absenceStatus = 'absenceStatus';
static const subordinateLeave = 'subordinateLeave';
static const numberDays = 'numberDays';
static const profile_reset_password_label = 'profile.reset_password.label'; static const profile_reset_password_label = 'profile.reset_password.label';
static const profile_reset_password_username = 'profile.reset_password.username'; static const profile_reset_password_username = 'profile.reset_password.username';
static const profile_reset_password_password = 'profile.reset_password.password'; static const profile_reset_password_password = 'profile.reset_password.password';

@ -129,7 +129,6 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
child: Stack(children: [ child: Stack(children: [
Container( Container(
width: _width, width: _width,
//height: 150,
margin: EdgeInsets.only(top: 50), margin: EdgeInsets.only(top: 50),
//padding: EdgeInsets.only(right: 17, left: 17), //padding: EdgeInsets.only(right: 17, left: 17),
decoration: BoxDecoration( decoration: BoxDecoration(
@ -168,7 +167,6 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
color: MyColors.green9CColor, color: MyColors.green9CColor,
), ),
), ),
// Container(height: 100, alignment: Alignment.center, child: ProfileImage()),
InkWell( InkWell(
onTap:() { onTap:() {
launchUrl(phoneNumber); launchUrl(phoneNumber);
@ -185,7 +183,7 @@ class _EmployeeDetailsState extends State<EmployeeDetails> {
customLabel(getEmployeeSubordinates!.eMPLOYEENUMBER.toString() + ' | ' + getEmployeeSubordinates!.jOBNAME.toString(), 13, MyColors.grey80Color, true), customLabel(getEmployeeSubordinates!.eMPLOYEENUMBER.toString() + ' | ' + getEmployeeSubordinates!.jOBNAME.toString(), 13, MyColors.grey80Color, true),
customLabel(getEmployeeSubordinates!.eMPLOYEEEMAILADDRESS.toString(), 13, MyColors.grey3AColor, true), customLabel(getEmployeeSubordinates!.eMPLOYEEEMAILADDRESS.toString(), 13, MyColors.grey3AColor, true),
], ],
).paddingOnly(bottom: 10), ).paddingOnly(bottom: 10, left: 35,right: 31),
], ],
), ),
), ),

@ -123,7 +123,6 @@ class _MyTeamState extends State<MyTeam> {
: ListView.separated( : ListView.separated(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
// padding: EdgeInsets.only(left: 21, right: 21),
physics: ScrollPhysics(), physics: ScrollPhysics(),
separatorBuilder: (cxt, index) => 12.height, separatorBuilder: (cxt, index) => 12.height,
itemCount: _textEditingController!.text.isNotEmpty ? getEmployeeSListOnSearch.length : getEmployeeSubordinatesList.length, itemCount: _textEditingController!.text.isNotEmpty ? getEmployeeSListOnSearch.length : getEmployeeSubordinatesList.length,

@ -1,15 +1,12 @@
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
import 'package:mohem_flutter_app/models/member_information_list_model.dart';
import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart'; import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
class ProfileDetails extends StatefulWidget { class ProfileDetails extends StatefulWidget {
const ProfileDetails({Key? key}) : super(key: key); const ProfileDetails({Key? key}) : super(key: key);
@ -19,7 +16,6 @@ class ProfileDetails extends StatefulWidget {
} }
class _ProfileDetailsState extends State<ProfileDetails> { class _ProfileDetailsState extends State<ProfileDetails> {
GetEmployeeSubordinatesList? getEmployeeSubordinates; GetEmployeeSubordinatesList? getEmployeeSubordinates;

@ -32,8 +32,7 @@ class _SubordinateLeaveState extends State<SubordinateLeave> {
DateTime selectedDateFrom = DateTime.now(); DateTime selectedDateFrom = DateTime.now();
DateTime selectedDateTo = DateTime.now(); DateTime selectedDateTo = DateTime.now();
bool showList = false; bool showList = false;
// DateTime dateFrom = DateFormat("MMM/DD/YYYY").format(selectedDateFrom) as DateTime;
// DateTime dateTo = DateFormat("MMM/DD/YYYY").format(selectedDateTo) as DateTime;
@ -45,9 +44,11 @@ class _SubordinateLeaveState extends State<SubordinateLeave> {
void getSubordinatesLeaves()async { void getSubordinatesLeaves()async {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
getSubordinatesLeavesTotalList = await MyTeamApiClient().getSubordinatesLeavesList(selectedDateFrom.toIso8601String(), selectedDateTo.toIso8601String()); getSubordinatesLeavesTotalList = await MyTeamApiClient().getSubordinatesLeavesList(DateUtil.convertDateToStringLocation(selectedDateFrom), DateUtil.convertDateToStringLocation(selectedDateTo));
showList= true;
Utils.hideLoading(context); Utils.hideLoading(context);
} catch (ex) {da setState(() {});
} catch (ex) {
Utils.hideLoading(context); Utils.hideLoading(context);
Utils.handleException(ex, context, null); Utils.handleException(ex, context, null);
} }
@ -59,83 +60,94 @@ class _SubordinateLeaveState extends State<SubordinateLeave> {
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: "Subordinate Leave", title: LocaleKeys.subordinateLeave.tr(),
), ),
backgroundColor: MyColors.backgroundColor, backgroundColor: MyColors.backgroundColor,
body: Column( body: Column(
children: [ children: [
Expanded( Expanded(
child: Column( child: SingleChildScrollView(
children: [ scrollDirection: Axis.vertical,
Column( child: Column(
children: [ children: [
DynamicTextFieldWidget( Column(
LocaleKeys.dateFrom.tr(), children: [
selectedDateFrom.toString().split(" ")[0], DynamicTextFieldWidget(
suffixIconData: Icons.calendar_today, LocaleKeys.dateFrom.tr(),
isEnable: false, selectedDateFrom.toString().split(" ")[0],
onTap: () async { suffixIconData: Icons.calendar_today,
selectedDateFrom = await _selectDate(context, DateTime.now()); isEnable: false,
setState(() {}); onTap: () async {
}, selectedDateFrom = await _selectDate(context, DateTime.now());
), setState(() {});
12.height, },
DynamicTextFieldWidget( ),
LocaleKeys.dateTo.tr(), 12.height,
selectedDateTo.toString().split(" ")[0], DynamicTextFieldWidget(
suffixIconData: Icons.calendar_today, LocaleKeys.dateTo.tr(),
isEnable: false, selectedDateTo.toString().split(" ")[0],
onTap: () async { suffixIconData: Icons.calendar_today,
selectedDateTo = await _selectDate(context, DateTime.now()); isEnable: false,
setState(() {}); onTap: () async {
}, selectedDateTo = await _selectDate(context, DateTime.now());
) setState(() {});
], },
).objectContainerView(), )
!showList? ],
SingleChildScrollView( ).objectContainerView(),
child: ListView.separated( Container(
margin: EdgeInsets.only(left: 21, right: 21),
width: MediaQuery.of(context).size.width,
child: SingleChildScrollView(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, child: Column(
physics: ScrollPhysics(), children: [
separatorBuilder: (cxt, index) => 12.height, showList? ListView.separated(
itemCount: getSubordinatesLeavesTotalList.length, scrollDirection: Axis.vertical,
itemBuilder: (context, index) { shrinkWrap: true,
var diffDays = selectedDateTo.difference(selectedDateFrom).inDays; physics: ScrollPhysics(),
return Row( separatorBuilder: (BuildContext cxt,int index) => 12.height,
mainAxisAlignment: MainAxisAlignment.spaceBetween, itemCount: getSubordinatesLeavesTotalList.length,
children: [ itemBuilder: (BuildContext context,int index) {
// CircleAvatar( var diffDays = DateUtil.convertStringToDate(getSubordinatesLeavesTotalList[index].dATEEND!).difference(DateUtil.convertStringToDate(getSubordinatesLeavesTotalList[index].dATESTART!)).inDays;
// radius: 25, return getSubordinatesLeavesTotalList.isEmpty
// backgroundImage: MemoryImage(Utils.getPostBytes(getSubordinatesLeavesTotalList[index].eMPLOYEEIMAGE)), ? Utils.getNoDataWidget(context)
// backgroundColor: Colors.black, : Row(
// ), mainAxisAlignment: MainAxisAlignment.spaceBetween,
SvgPicture.asset("assets/images/clock.svg"), children: [
10.width, SvgPicture.asset("assets/images/user.svg"),
"${getSubordinatesLeavesTotalList[index].eMPLOYEENAME}".toText16(isBold: true, color: MyColors.grey3AColor), 14.width,
Row( Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"From: ${getSubordinatesLeavesTotalList[index].dATESTART}".toText10(isBold: true, color: MyColors.grey57Color), "${getSubordinatesLeavesTotalList[index].eMPLOYEENAME}".toText16(isBold: true, color: MyColors.grey3AColor),
"To: ${getSubordinatesLeavesTotalList[index].dATEEND}".toText10(isBold: true, color: MyColors.grey57Color), 10.height,
], Row(
).expanded, children: [
"Number of days: $diffDays".toText13(color: MyColors.grey3AColor), (LocaleKeys.from.tr() + ': ${DateUtil.getFormattedDate(DateUtil.convertStringToDate(getSubordinatesLeavesTotalList[index].dATESTART!), "MMM dd yyyy")}').toText10(isBold: true, color: MyColors.grey57Color),
], 14.width,
).objectContainerView(); (LocaleKeys.to.tr() + ': ${DateUtil.getFormattedDate(DateUtil.convertStringToDate(getSubordinatesLeavesTotalList[index].dATEEND!), "MMM dd yyyy")}').toText10(isBold: true, color: MyColors.grey57Color),
}), ],
).objectContainerView() ),
:Container(), (LocaleKeys.numberDays.tr()+ ": $diffDays").toText10(color: MyColors.grey3AColor),
], ],
).expanded
],
).objectContainerView();
}
)
:Container(),
],
),
),
),
],
),
), ),
), ),
DefaultButton( DefaultButton(
LocaleKeys.submit.tr(), () async { LocaleKeys.submit.tr(), () async {
getSubordinatesLeaves(); getSubordinatesLeaves();
setState(() {
showList= true;
});
showList= true;
}).insideContainer }).insideContainer
], ],
), ),

@ -58,15 +58,16 @@ class _TeamMembersState extends State<TeamMembers> {
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
getEmployeeSubordinatesList != 0 getEmployeeSubordinatesList.isEmpty
? ListView.separated( ? Utils.getNoDataWidget(context):
ListView.separated(
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
shrinkWrap: true, shrinkWrap: true,
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
physics: ScrollPhysics(), physics: ScrollPhysics(),
separatorBuilder: (cxt, index) => 12.height, separatorBuilder: (cxt, index) => 12.height,
itemCount: getEmployeeSubordinatesList.length, itemCount: getEmployeeSubordinatesList.length,
itemBuilder: (context, index) { itemBuilder: (BuildContext context, int index) {
var phoneNumber = Uri.parse('tel:${getEmployeeSubordinatesList[index].eMPLOYEEMOBILENUMBER}'); var phoneNumber = Uri.parse('tel:${getEmployeeSubordinatesList[index].eMPLOYEEMOBILENUMBER}');
return Container( return Container(
child: Row( child: Row(
@ -89,18 +90,20 @@ class _TeamMembersState extends State<TeamMembers> {
Column( Column(
children: [ children: [
IconButton( IconButton(
onPressed: () { onPressed: () {
launchUrl(phoneNumber); launchUrl(phoneNumber);
}, },
icon: Icon( icon: Icon(
Icons.whatsapp, Icons.whatsapp,
color: Colors.green, color: Colors.green,
),),], ),
),], ),
),).objectContainerView(); ],
}): Container( ),
child: LocaleKeys.noResultsFound.tr().toText16(color: MyColors.blackColor), ],
).paddingOnly(top: 10), ),
).objectContainerView();
}),
], ],
) )
)); ));

@ -1,21 +1,17 @@
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/monthly_attendance_api_client.dart';
import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart'; import 'package:mohem_flutter_app/api/my_team/my_team_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart'; import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart';
import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.dart'; import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.dart';
import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model.dart';
import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart';
import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart'; import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart';
import 'package:month_picker_dialog/month_picker_dialog.dart'; import 'package:month_picker_dialog/month_picker_dialog.dart';
import 'package:pie_chart/pie_chart.dart'; import 'package:pie_chart/pie_chart.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart';
@ -54,7 +50,6 @@ class _ViewAttendanceState extends State<ViewAttendance> {
super.initState(); super.initState();
formattedDate = date; formattedDate = date;
callTimeCardAndHourDetails(date.day, searchMonth, searchYear); callTimeCardAndHourDetails(date.day, searchMonth, searchYear);
// setState(() {});
} }
@ -86,8 +81,7 @@ class _ViewAttendanceState extends State<ViewAttendance> {
"Present": getTimeCardSummaryList?.aTTENDEDDAYS != null ? getTimeCardSummaryList!.aTTENDEDDAYS!.toDouble() : 0, "Present": getTimeCardSummaryList?.aTTENDEDDAYS != null ? getTimeCardSummaryList!.aTTENDEDDAYS!.toDouble() : 0,
"Absent": getTimeCardSummaryList?.aBSENTDAYS != null ? getTimeCardSummaryList!.aBSENTDAYS!.toDouble() : 0, "Absent": getTimeCardSummaryList?.aBSENTDAYS != null ? getTimeCardSummaryList!.aBSENTDAYS!.toDouble() : 0,
}; };
//if(getTimeCardSummaryList ==null)
// callTimeCardAndHourDetails(date.day, searchMonth, searchYear);
return Scaffold( return Scaffold(
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
@ -193,7 +187,6 @@ class _ViewAttendanceState extends State<ViewAttendance> {
searchMonth = getMonth(selectedDate.month); searchMonth = getMonth(selectedDate.month);
searchYear = selectedDate.year; searchYear = selectedDate.year;
formattedDate = selectedDate; //DateFormat('MMMM-yyyy').format(selectedDate); formattedDate = selectedDate; //DateFormat('MMMM-yyyy').format(selectedDate);
// _calendarController.selectedDate = formattedDate;
callTimeCardAndHourDetails(selectedDate.day, searchMonth, searchYear); callTimeCardAndHourDetails(selectedDate.day, searchMonth, searchYear);
} }
}); });
@ -322,7 +315,6 @@ class _ViewAttendanceState extends State<ViewAttendance> {
dayFormat: 'EEE', dayFormat: 'EEE',
showTrailingAndLeadingDates: false, showTrailingAndLeadingDates: false,
showAgenda: false, showAgenda: false,
//navigationDirection: MonthNavigationDirection.vertical,
monthCellStyle: MonthCellStyle( monthCellStyle: MonthCellStyle(
textStyle: TextStyle( textStyle: TextStyle(
fontStyle: FontStyle.normal, fontStyle: FontStyle.normal,

@ -11,7 +11,6 @@ import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_familyMembers_screen.dart';
import 'package:mohem_flutter_app/ui/profile/profile_screen.dart'; import 'package:mohem_flutter_app/ui/profile/profile_screen.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart';
@ -76,7 +75,6 @@ class _FamilyMembersState extends State<FamilyMembers> {
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only(left: 21, right: 21, margin: EdgeInsets.only(left: 21, right: 21,
), ),
// padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 10),
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(

Loading…
Cancel
Save