|
@@ -187,7 +187,304 @@ class ServicePaySuccessPage extends HookConsumerWidget {
|
|
|
}
|
|
|
|
|
|
Widget _buildBottomInfo(BuildContext context, ServicePaySuccessState state, WidgetRef ref) {
|
|
|
- return Text("5666666");
|
|
|
+ return Container(
|
|
|
+ width: double.infinity,
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
|
+ children: [
|
|
|
+ Container(
|
|
|
+ margin: const EdgeInsets.only(left: 15, right: 15, top: 15, bottom: 15),
|
|
|
+ child: _buildCardVisitTime(context, state, ref, ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: const EdgeInsets.only(left: 15, right: 15, top: 15, bottom: 15),
|
|
|
+ child: _buildCardService(context, state, ref, ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: const EdgeInsets.only(left: 15, right: 15, top: 15, bottom: 15),
|
|
|
+ child: _buildCardAddress(context, state, ref, ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ width: double.infinity,
|
|
|
+ margin: const EdgeInsets.only(left: 15, right: 15, top: 15, bottom: 15),
|
|
|
+ child: _buildCardPayment(context, state, ref, ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ Widget _buildCardVisitTime(BuildContext context, ServicePaySuccessState state, WidgetRef ref,) {
|
|
|
+ return Container(
|
|
|
+ width: double.infinity,
|
|
|
+ padding: const EdgeInsets.only(left: 20, right: 20, top: 15, bottom: 15),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(5),
|
|
|
+ border: Border(
|
|
|
+ bottom: BorderSide(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ width: 1,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ boxShadow: [
|
|
|
+ BoxShadow(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ offset: const Offset(0, 1),
|
|
|
+ blurRadius: 1,
|
|
|
+ spreadRadius: 0,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Visit Time',
|
|
|
+ fontSize: 16,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ textAlign: TextAlign.center,
|
|
|
+ isFontMedium: true,
|
|
|
+ marginBottom: 11,
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.serviceCalendarIcon,
|
|
|
+ width: 28.5,
|
|
|
+ height: 28.5,
|
|
|
+ ),
|
|
|
+ const SizedBox(width: 15.5),
|
|
|
+ Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Tue,24 Oct 2024',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ ),
|
|
|
+ MyTextView(
|
|
|
+ '05:00 PM',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ marginTop: 5,
|
|
|
+ )
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ )
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
+ Widget _buildCardService(BuildContext context, ServicePaySuccessState state, WidgetRef ref,) {
|
|
|
+ return Container(
|
|
|
+ width: double.infinity,
|
|
|
+ padding: const EdgeInsets.only(left: 20, right: 20, top: 15, bottom: 15),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(5),
|
|
|
+ border: Border(
|
|
|
+ bottom: BorderSide(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ width: 1,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ boxShadow: [
|
|
|
+ BoxShadow(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ offset: const Offset(0, 1),
|
|
|
+ blurRadius: 1,
|
|
|
+ spreadRadius: 0,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Service',
|
|
|
+ fontSize: 16,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ textAlign: TextAlign.center,
|
|
|
+ isFontMedium: true,
|
|
|
+ marginBottom: 11,
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.serviceServiceAvatorIcon,
|
|
|
+ width: 28.5,
|
|
|
+ height: 28.5,
|
|
|
+ ),
|
|
|
+ const SizedBox(width: 15.5),
|
|
|
+ Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'House Cleaning Services',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ )
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ Widget _buildCardAddress(BuildContext context, ServicePaySuccessState state, WidgetRef ref,) {
|
|
|
+ return Container(
|
|
|
+ width: double.infinity,
|
|
|
+ padding: const EdgeInsets.only(left: 20, right: 20, top: 15, bottom: 15),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(5),
|
|
|
+ border: Border(
|
|
|
+ bottom: BorderSide(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ width: 1,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ boxShadow: [
|
|
|
+ BoxShadow(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ offset: const Offset(0, 1),
|
|
|
+ blurRadius: 1,
|
|
|
+ spreadRadius: 0,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Address',
|
|
|
+ fontSize: 16,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ textAlign: TextAlign.center,
|
|
|
+ isFontMedium: true,
|
|
|
+ marginBottom: 11,
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.serviceLocationIcon,
|
|
|
+ width: 28.5,
|
|
|
+ height: 28.5,
|
|
|
+ ),
|
|
|
+ const SizedBox(width: 15.5),
|
|
|
+ Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ '705 Qiming Huijin Building',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ ),
|
|
|
+ MyTextView(
|
|
|
+ 'Sundy +6588991122',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ marginTop: 5,
|
|
|
+ )
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ )
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ Widget _buildCardPayment(BuildContext context, ServicePaySuccessState state, WidgetRef ref,) {
|
|
|
+ return Container(
|
|
|
+ width: double.infinity,
|
|
|
+ padding: const EdgeInsets.only(left: 20, right: 20, top: 15, bottom: 15),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ borderRadius: BorderRadius.circular(5),
|
|
|
+ border: Border(
|
|
|
+ bottom: BorderSide(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ width: 1,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ boxShadow: [
|
|
|
+ BoxShadow(
|
|
|
+ color: context.appColors.whiteBG,
|
|
|
+ offset: const Offset(0, 1),
|
|
|
+ blurRadius: 1,
|
|
|
+ spreadRadius: 0,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ child: Column(
|
|
|
+ children: [
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Payment',
|
|
|
+ fontSize: 16,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ textAlign: TextAlign.center,
|
|
|
+ isFontMedium: true,
|
|
|
+ marginBottom: 11,
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ mainAxisSize: MainAxisSize.max,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.servicePaymentIcon,
|
|
|
+ width: 28.5,
|
|
|
+ height: 28.5,
|
|
|
+ ),
|
|
|
+ const SizedBox(width: 15.5),
|
|
|
+ Expanded(
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Daily cleaning for 2 hours',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.spaceBetween, // 设置为 spaceBetween
|
|
|
+ children: [
|
|
|
+ MyTextView(
|
|
|
+ 'Total',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ marginTop: 5,
|
|
|
+ ),
|
|
|
+ MyTextView(
|
|
|
+ '\$40.00',
|
|
|
+ fontSize: 14,
|
|
|
+ textColor: context.appColors.textBlack,
|
|
|
+ isFontRegular: true,
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|