info_screen.dart 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. import 'package:auto_route/auto_route.dart';
  2. import 'package:cpt_payment/modules/payment/condo/condo_screen.dart';
  3. import 'package:cs_resources/generated/assets.dart';
  4. import 'package:cs_resources/generated/l10n.dart';
  5. import 'package:cs_resources/theme/app_colors_theme.dart';
  6. import 'package:flutter/material.dart';
  7. import 'package:flutter_hooks/flutter_hooks.dart';
  8. import 'package:hooks_riverpod/hooks_riverpod.dart';
  9. import 'package:shared/utils/log_utils.dart';
  10. import 'package:widgets/ext/ex_widget.dart';
  11. import 'package:widgets/load_state_layout.dart';
  12. import 'package:widgets/my_load_image.dart';
  13. import 'package:widgets/my_text_view.dart';
  14. import 'package:widgets/widget_export.dart';
  15. @RoutePage()
  16. class InfoScreen extends HookConsumerWidget {
  17. @override
  18. Widget build(BuildContext context, WidgetRef ref) {
  19. return SingleChildScrollView(
  20. scrollDirection: Axis.vertical,
  21. physics: const BouncingScrollPhysics(),
  22. child: Container(
  23. width: double.infinity,
  24. child: Column(
  25. mainAxisSize: MainAxisSize.max,
  26. crossAxisAlignment: CrossAxisAlignment.center,
  27. children: [
  28. MyTextView(
  29. S.current.pay_fees_with,
  30. fontSize: 19,
  31. marginTop: 23,
  32. marginBottom: 11,
  33. isFontMedium: true,
  34. textColor: context.appColors.textBlack,
  35. ),
  36. Stack(
  37. children: [
  38. const MyAssetImage(Assets.paymentInfoTopImage, width: double.infinity),
  39. SizedBox(
  40. width: double.infinity,
  41. child: Column(
  42. children: [
  43. RichText(
  44. text: TextSpan(
  45. style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500, color: context.appColors.textPrimary),
  46. children: <TextSpan>[
  47. const TextSpan(
  48. text: "YY Home",
  49. ),
  50. TextSpan(
  51. text: " Pay",
  52. style: TextStyle(color: context.appColors.textBlack),
  53. ),
  54. ],
  55. ),
  56. ),
  57. MyTextView(
  58. S.current.convert_large_recurring_payments_to,
  59. fontSize: 15,
  60. marginTop: 12,
  61. marginBottom: 17,
  62. isFontMedium: true,
  63. textColor: context.appColors.textBlack,
  64. ),
  65. MyTextView(
  66. S.current.rewards,
  67. fontSize: 15,
  68. isFontMedium: true,
  69. cornerRadius: 3,
  70. paddingLeft: 10,
  71. paddingRight: 10,
  72. paddingTop: 6,
  73. marginBottom: 35,
  74. paddingBottom: 6,
  75. backgroundColor: context.appColors.btnBgDefault,
  76. textColor: Colors.white,
  77. ),
  78. //银行卡组
  79. const MyAssetImage(
  80. Assets.paymentInfoCardGroup,
  81. width: 246,
  82. height: 62,
  83. ),
  84. ],
  85. ),
  86. )
  87. ],
  88. ),
  89. RichText(
  90. text: TextSpan(
  91. style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500, color: context.appColors.textPrimary),
  92. children: <TextSpan>[
  93. const TextSpan(
  94. text: "YY Home",
  95. ),
  96. TextSpan(
  97. text: " Pay",
  98. style: TextStyle(color: context.appColors.textBlack),
  99. ),
  100. ],
  101. ),
  102. ).marginOnly(top: 23, bottom: 13),
  103. //文本1
  104. MyTextView(
  105. S.current.info_desc1,
  106. fontSize: 15,
  107. marginBottom: 17,
  108. marginLeft: 25,
  109. marginRight: 25,
  110. textAlign: TextAlign.center,
  111. isFontMedium: true,
  112. textColor: context.appColors.textBlack,
  113. ),
  114. //文本2
  115. MyTextView(
  116. S.current.info_desc2,
  117. fontSize: 15,
  118. marginBottom: 30,
  119. marginLeft: 25,
  120. marginRight: 25,
  121. textAlign: TextAlign.center,
  122. isFontMedium: true,
  123. textColor: context.appColors.textPrimary,
  124. ),
  125. //图标1
  126. const MyAssetImage(
  127. Assets.paymentInfoCashBack,
  128. width: 53.5,
  129. height: 55,
  130. ),
  131. //文本3
  132. MyTextView(
  133. S.current.info_desc3,
  134. fontSize: 15,
  135. marginTop: 31,
  136. marginBottom: 31,
  137. marginLeft: 25,
  138. marginRight: 25,
  139. textAlign: TextAlign.center,
  140. isFontMedium: true,
  141. textColor: context.appColors.textBlack,
  142. ),
  143. //图标2
  144. const MyAssetImage(
  145. Assets.paymentInfoRewards,
  146. width: 49,
  147. height: 53.5,
  148. ),
  149. //文本4
  150. MyTextView(
  151. S.current.info_desc4,
  152. fontSize: 15,
  153. marginTop: 31,
  154. marginBottom: 31,
  155. marginLeft: 25,
  156. marginRight: 25,
  157. textAlign: TextAlign.center,
  158. isFontMedium: true,
  159. textColor: context.appColors.textBlack,
  160. ),
  161. //图标3
  162. const MyAssetImage(
  163. Assets.paymentInfoBusiness,
  164. width: 55.5,
  165. height: 55.5,
  166. ),
  167. //文本5
  168. MyTextView(
  169. S.current.info_desc5,
  170. fontSize: 15,
  171. marginTop: 31,
  172. marginLeft: 25,
  173. marginRight: 25,
  174. textAlign: TextAlign.center,
  175. isFontMedium: true,
  176. textColor: context.appColors.textBlack,
  177. ),
  178. //文本5
  179. MyTextView(
  180. S.current.info_desc6,
  181. fontSize: 15,
  182. marginTop: 25,
  183. marginBottom: 30,
  184. marginLeft: 25,
  185. marginRight: 25,
  186. textAlign: TextAlign.center,
  187. isFontMedium: true,
  188. textColor: context.appColors.textBlack,
  189. ),
  190. ],
  191. ),
  192. ),
  193. );
  194. }
  195. }