swipe view ui changes

main_production_RSG
Sikander Saleem 2 months ago
parent 7f99349067
commit fc66e2dd8a

@ -47,7 +47,7 @@ class AppFilledButton extends StatelessWidget {
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: disableButton ?context.isDark ?AppColor.neutral20 :AppColor.neutral140 : (buttonColor ?? AppColor.blueStatus(context)),
color: disableButton ?context.isDark ?AppColor.neutral20 :AppColor.neutral140 : (buttonColor ?? AppColor.primary10),
border: showBorder ? Border.all(color: textColor ?? AppColor.background(context)) : null,
),
child: loading

@ -13,7 +13,6 @@ import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
import 'models/swipe_transaction_history.dart';
class SwipeHistoryView extends StatefulWidget {
@ -25,31 +24,33 @@ class SwipeHistoryView extends StatefulWidget {
State<SwipeHistoryView> createState() => _SwipeHistoryViewState();
}
class _SwipeHistoryViewState extends State<SwipeHistoryView> {
DateTime dateFrom = DateTime.now();
DateTime dateTo = DateTime.now();
UserProvider? _userProvider;
@override
void initState() {
getSwipeHistory();
super.initState();
}
void getSwipeHistory () {
_userProvider = Provider.of<UserProvider>(context,listen:false);
void getSwipeHistory() {
_userProvider = Provider.of<UserProvider>(context, listen: false);
WidgetsBinding.instance.addPostFrameCallback((_) async {
await _userProvider!.getSwipeTransactionHistory(userId: _userProvider!.user!.userID!,dateFrom: dateFrom,dateTo: dateTo);
await _userProvider!.getSwipeTransactionHistory(userId: _userProvider!.user!.userID!, dateFrom: dateFrom, dateTo: dateTo);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const DefaultAppBar(title: 'Swipe History',),
return Scaffold(
appBar: const DefaultAppBar(
title: 'Swipe History',
),
body: Column(
crossAxisAlignment:CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
8.height,
Row(
children: [
@ -106,10 +107,8 @@ class _SwipeHistoryViewState extends State<SwipeHistoryView> {
);
if (selectedDateTime != null) {
setState(() {
dateTo = selectedDateTime;
dateTo = selectedDateTime;
});
}
}
});
@ -121,48 +120,46 @@ class _SwipeHistoryViewState extends State<SwipeHistoryView> {
12.height,
AppFilledButton(label: context.translation.search, maxWidth: false, onPressed: getSwipeHistory),
8.height,
const Divider(thickness: 2,color:AppColor.white60 ,),
Consumer<UserProvider>(
builder: (context, snapshot,child) {
return SwipeHistoryList(snapshot.swipeHistory ?? [], snapshot.isLoading).expanded;
}
const Divider(
thickness: 2,
color: AppColor.white60,
),
Consumer<UserProvider>(builder: (context, snapshot, child) {
return SwipeHistoryList(snapshot.swipeHistory ?? [], snapshot.isLoading).expanded;
}),
],
).paddingAll(20),
);
}
}
class SwipeHistoryList extends StatelessWidget {
List<SwipeHistory> list;
bool isLoading;
SwipeHistoryList(this.list, this.isLoading, {Key ?key}) : super(key: key);
SwipeHistoryList(this.list, this.isLoading, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return (list.isEmpty && !isLoading)
? NoDataFound(message: context.translation.noDataFound).center
: ListView.separated(
padding: EdgeInsets.only(top: 12.toScreenHeight),
itemBuilder: (cxt, index) {
if (isLoading) return const SizedBox().toRequestShimmer(cxt, isLoading);
return SwipeHistoryCard(list[index]);
},
separatorBuilder: (cxt, index) => 12.height,
itemCount: isLoading ? 6 : list.length);
padding: EdgeInsets.only(top: 12.toScreenHeight),
itemBuilder: (cxt, index) {
if (isLoading) return const SizedBox().toRequestShimmer(cxt, isLoading);
return SwipeHistoryCard(list[index]);
},
separatorBuilder: (cxt, index) => 12.height,
itemCount: isLoading ? 6 : list.length);
}
}
class SwipeHistoryCard extends StatelessWidget {
final SwipeHistory swipeHistory;
final bool showShadow;
const SwipeHistoryCard(this.swipeHistory, {Key? key, this.showShadow = true}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
@ -172,7 +169,8 @@ class SwipeHistoryCard extends StatelessWidget {
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(swipeHistory.swipeTime!.toServiceRequestDetailsFormat, textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)),
Text(swipeHistory.swipeTime!.toServiceRequestDetailsFormat,
textAlign: TextAlign.end, style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50)),
],
),
8.height,
@ -185,4 +183,3 @@ class SwipeHistoryCard extends StatelessWidget {
).toShadowContainer(context, showShadow: showShadow);
}
}

@ -8,29 +8,36 @@ import 'package:test_sa/new_views/common_widgets/app_filled_button.dart';
class SwipeSuccessView extends StatelessWidget {
static const routeName = '/swipe_success_view';
const SwipeSuccessView({Key ?key}) : super(key: key);
const SwipeSuccessView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
return Scaffold(
body: SafeArea(
child: Column(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment:CrossAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
'swipe_success'.toSvgAsset(),
17.height,
context.translation.successful.heading4(context).custom(color: AppColor.white936),
Text(
context.translation.successful,
style: AppTextStyles.heading4.copyWith(color: AppColor.headingTextColor(context)),
),
8.height,
context.translation.youHaveSuccessfullyMarkedYourAttendance.bodyText2(context).custom(color: AppColor.neutral120),
Text(
context.translation.youHaveSuccessfullyMarkedYourAttendance,
style: AppTextStyles.bodyText2.copyWith(color: AppColor.lightTextColor(context)),
),
],
).expanded,
AppFilledButton(
label: 'Close',
maxWidth: true,
onPressed:(){
onPressed: () {
Navigator.pop(context);
},
),
@ -41,7 +48,6 @@ class SwipeSuccessView extends StatelessWidget {
}
}
// ClipOval(
// child: Container(
// color: Colors.grey.withOpacity(0.2),

Loading…
Cancel
Save