Showing
8 changed files
with
140 additions
and
29 deletions
| ... | @@ -44,6 +44,7 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -44,6 +44,7 @@ class MessageLookup extends MessageLookupByLibrary { |
| 44 | MessageLookupByLibrary.simpleMessage("Phone"), | 44 | MessageLookupByLibrary.simpleMessage("Phone"), |
| 45 | "accountEditPageUserPhonePlaceholder": | 45 | "accountEditPageUserPhonePlaceholder": |
| 46 | MessageLookupByLibrary.simpleMessage("Please input Phone"), | 46 | MessageLookupByLibrary.simpleMessage("Please input Phone"), |
| 47 | + "agreement": MessageLookupByLibrary.simpleMessage("Agreement"), | ||
| 47 | "categoryBottomNavigationBarItemTitle": | 48 | "categoryBottomNavigationBarItemTitle": |
| 48 | MessageLookupByLibrary.simpleMessage("category"), | 49 | MessageLookupByLibrary.simpleMessage("category"), |
| 49 | "confirm": MessageLookupByLibrary.simpleMessage("Confirm"), | 50 | "confirm": MessageLookupByLibrary.simpleMessage("Confirm"), |
| ... | @@ -51,6 +52,8 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -51,6 +52,8 @@ class MessageLookup extends MessageLookupByLibrary { |
| 51 | MessageLookupByLibrary.simpleMessage("Forgot Password"), | 52 | MessageLookupByLibrary.simpleMessage("Forgot Password"), |
| 52 | "getVerificationCode": | 53 | "getVerificationCode": |
| 53 | MessageLookupByLibrary.simpleMessage("Get verification code"), | 54 | MessageLookupByLibrary.simpleMessage("Get verification code"), |
| 55 | + "inputEmailHint": | ||
| 56 | + MessageLookupByLibrary.simpleMessage("Please enter email address"), | ||
| 54 | "inputPasswordHint": | 57 | "inputPasswordHint": |
| 55 | MessageLookupByLibrary.simpleMessage("Please enter the password"), | 58 | MessageLookupByLibrary.simpleMessage("Please enter the password"), |
| 56 | "inputPhoneHint": | 59 | "inputPhoneHint": |
| ... | @@ -69,6 +72,8 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -69,6 +72,8 @@ class MessageLookup extends MessageLookupByLibrary { |
| 69 | "openYourAccount": | 72 | "openYourAccount": |
| 70 | MessageLookupByLibrary.simpleMessage("Open your account"), | 73 | MessageLookupByLibrary.simpleMessage("Open your account"), |
| 71 | "passwordLogin": MessageLookupByLibrary.simpleMessage("Password Login"), | 74 | "passwordLogin": MessageLookupByLibrary.simpleMessage("Password Login"), |
| 75 | + "privacy_policy": | ||
| 76 | + MessageLookupByLibrary.simpleMessage("Privacy Policy"), | ||
| 72 | "profileBottomNavigationBarItemTitle": | 77 | "profileBottomNavigationBarItemTitle": |
| 73 | MessageLookupByLibrary.simpleMessage("profile"), | 78 | MessageLookupByLibrary.simpleMessage("profile"), |
| 74 | "register": MessageLookupByLibrary.simpleMessage("Register"), | 79 | "register": MessageLookupByLibrary.simpleMessage("Register"), |
| ... | @@ -79,6 +84,8 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -79,6 +84,8 @@ class MessageLookup extends MessageLookupByLibrary { |
| 79 | "timelineBottomNavigationBarItemTitle": | 84 | "timelineBottomNavigationBarItemTitle": |
| 80 | MessageLookupByLibrary.simpleMessage("timeline"), | 85 | MessageLookupByLibrary.simpleMessage("timeline"), |
| 81 | "title": MessageLookupByLibrary.simpleMessage("One Poem"), | 86 | "title": MessageLookupByLibrary.simpleMessage("One Poem"), |
| 87 | + "user_agreement": | ||
| 88 | + MessageLookupByLibrary.simpleMessage("User Agreement"), | ||
| 82 | "verificationButton": MessageLookupByLibrary.simpleMessage( | 89 | "verificationButton": MessageLookupByLibrary.simpleMessage( |
| 83 | "Not really sent, just log in!"), | 90 | "Not really sent, just log in!"), |
| 84 | "verificationCodeLogin": | 91 | "verificationCodeLogin": | ... | ... |
| ... | @@ -39,11 +39,13 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -39,11 +39,13 @@ class MessageLookup extends MessageLookupByLibrary { |
| 39 | "accountEditPageUserPhone": MessageLookupByLibrary.simpleMessage("手机号"), | 39 | "accountEditPageUserPhone": MessageLookupByLibrary.simpleMessage("手机号"), |
| 40 | "accountEditPageUserPhonePlaceholder": | 40 | "accountEditPageUserPhonePlaceholder": |
| 41 | MessageLookupByLibrary.simpleMessage("请输入您的手机号"), | 41 | MessageLookupByLibrary.simpleMessage("请输入您的手机号"), |
| 42 | + "agreement": MessageLookupByLibrary.simpleMessage("登录即代表同意并阅读"), | ||
| 42 | "categoryBottomNavigationBarItemTitle": | 43 | "categoryBottomNavigationBarItemTitle": |
| 43 | MessageLookupByLibrary.simpleMessage("众妙"), | 44 | MessageLookupByLibrary.simpleMessage("众妙"), |
| 44 | "confirm": MessageLookupByLibrary.simpleMessage("确认"), | 45 | "confirm": MessageLookupByLibrary.simpleMessage("确认"), |
| 45 | "forgotPasswordLink": MessageLookupByLibrary.simpleMessage("忘记密码"), | 46 | "forgotPasswordLink": MessageLookupByLibrary.simpleMessage("忘记密码"), |
| 46 | "getVerificationCode": MessageLookupByLibrary.simpleMessage("获取验证码"), | 47 | "getVerificationCode": MessageLookupByLibrary.simpleMessage("获取验证码"), |
| 48 | + "inputEmailHint": MessageLookupByLibrary.simpleMessage("请输入邮箱地址"), | ||
| 47 | "inputPasswordHint": MessageLookupByLibrary.simpleMessage("请输入密码"), | 49 | "inputPasswordHint": MessageLookupByLibrary.simpleMessage("请输入密码"), |
| 48 | "inputPhoneHint": MessageLookupByLibrary.simpleMessage("请输入手机号"), | 50 | "inputPhoneHint": MessageLookupByLibrary.simpleMessage("请输入手机号"), |
| 49 | "inputPhoneInvalid": MessageLookupByLibrary.simpleMessage("请输入有效的手机号"), | 51 | "inputPhoneInvalid": MessageLookupByLibrary.simpleMessage("请输入有效的手机号"), |
| ... | @@ -57,6 +59,7 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -57,6 +59,7 @@ class MessageLookup extends MessageLookupByLibrary { |
| 57 | MessageLookupByLibrary.simpleMessage("一言"), | 59 | MessageLookupByLibrary.simpleMessage("一言"), |
| 58 | "openYourAccount": MessageLookupByLibrary.simpleMessage("开启你的账号"), | 60 | "openYourAccount": MessageLookupByLibrary.simpleMessage("开启你的账号"), |
| 59 | "passwordLogin": MessageLookupByLibrary.simpleMessage("密码登录"), | 61 | "passwordLogin": MessageLookupByLibrary.simpleMessage("密码登录"), |
| 62 | + "privacy_policy": MessageLookupByLibrary.simpleMessage("隐私政策"), | ||
| 60 | "profileBottomNavigationBarItemTitle": | 63 | "profileBottomNavigationBarItemTitle": |
| 61 | MessageLookupByLibrary.simpleMessage("我在"), | 64 | MessageLookupByLibrary.simpleMessage("我在"), |
| 62 | "register": MessageLookupByLibrary.simpleMessage("注册"), | 65 | "register": MessageLookupByLibrary.simpleMessage("注册"), |
| ... | @@ -66,6 +69,7 @@ class MessageLookup extends MessageLookupByLibrary { | ... | @@ -66,6 +69,7 @@ class MessageLookup extends MessageLookupByLibrary { |
| 66 | "timelineBottomNavigationBarItemTitle": | 69 | "timelineBottomNavigationBarItemTitle": |
| 67 | MessageLookupByLibrary.simpleMessage("临境"), | 70 | MessageLookupByLibrary.simpleMessage("临境"), |
| 68 | "title": MessageLookupByLibrary.simpleMessage("一言"), | 71 | "title": MessageLookupByLibrary.simpleMessage("一言"), |
| 72 | + "user_agreement": MessageLookupByLibrary.simpleMessage("用户协议"), | ||
| 69 | "verificationButton": | 73 | "verificationButton": |
| 70 | MessageLookupByLibrary.simpleMessage("并没有真正发送哦,直接登录吧!"), | 74 | MessageLookupByLibrary.simpleMessage("并没有真正发送哦,直接登录吧!"), |
| 71 | "verificationCodeLogin": MessageLookupByLibrary.simpleMessage("验证码登录") | 75 | "verificationCodeLogin": MessageLookupByLibrary.simpleMessage("验证码登录") | ... | ... |
| ... | @@ -160,6 +160,16 @@ class S { | ... | @@ -160,6 +160,16 @@ class S { |
| 160 | ); | 160 | ); |
| 161 | } | 161 | } |
| 162 | 162 | ||
| 163 | + /// `Please enter email address` | ||
| 164 | + String get inputEmailHint { | ||
| 165 | + return Intl.message( | ||
| 166 | + 'Please enter email address', | ||
| 167 | + name: 'inputEmailHint', | ||
| 168 | + desc: 'Please enter email address', | ||
| 169 | + args: [], | ||
| 170 | + ); | ||
| 171 | + } | ||
| 172 | + | ||
| 163 | /// `Please enter verification code` | 173 | /// `Please enter verification code` |
| 164 | String get inputVerificationCodeHint { | 174 | String get inputVerificationCodeHint { |
| 165 | return Intl.message( | 175 | return Intl.message( |
| ... | @@ -379,6 +389,36 @@ class S { | ... | @@ -379,6 +389,36 @@ class S { |
| 379 | args: [], | 389 | args: [], |
| 380 | ); | 390 | ); |
| 381 | } | 391 | } |
| 392 | + | ||
| 393 | + /// `Agreement` | ||
| 394 | + String get agreement { | ||
| 395 | + return Intl.message( | ||
| 396 | + 'Agreement', | ||
| 397 | + name: 'agreement', | ||
| 398 | + desc: 'Agreement', | ||
| 399 | + args: [], | ||
| 400 | + ); | ||
| 401 | + } | ||
| 402 | + | ||
| 403 | + /// `User Agreement` | ||
| 404 | + String get user_agreement { | ||
| 405 | + return Intl.message( | ||
| 406 | + 'User Agreement', | ||
| 407 | + name: 'user_agreement', | ||
| 408 | + desc: 'User Agreement', | ||
| 409 | + args: [], | ||
| 410 | + ); | ||
| 411 | + } | ||
| 412 | + | ||
| 413 | + /// `Privacy Policy` | ||
| 414 | + String get privacy_policy { | ||
| 415 | + return Intl.message( | ||
| 416 | + 'Privacy Policy', | ||
| 417 | + name: 'privacy_policy', | ||
| 418 | + desc: 'Privacy Policy', | ||
| 419 | + args: [], | ||
| 420 | + ); | ||
| 421 | + } | ||
| 382 | } | 422 | } |
| 383 | 423 | ||
| 384 | class AppLocalizationDelegate extends LocalizationsDelegate<S> { | 424 | class AppLocalizationDelegate extends LocalizationsDelegate<S> { | ... | ... |
| ... | @@ -66,6 +66,12 @@ | ... | @@ -66,6 +66,12 @@ |
| 66 | "type": "text", | 66 | "type": "text", |
| 67 | "placeholders": {} | 67 | "placeholders": {} |
| 68 | }, | 68 | }, |
| 69 | + "inputEmailHint": "Please enter email address", | ||
| 70 | + "@inputEmailHint": { | ||
| 71 | + "description": "Please enter email address", | ||
| 72 | + "type": "text", | ||
| 73 | + "placeholders": {} | ||
| 74 | + }, | ||
| 69 | "inputVerificationCodeHint": "Please enter verification code", | 75 | "inputVerificationCodeHint": "Please enter verification code", |
| 70 | "@inputVerificationCodeHint": { | 76 | "@inputVerificationCodeHint": { |
| 71 | "description": "Please enter verification code", | 77 | "description": "Please enter verification code", |
| ... | @@ -197,5 +203,23 @@ | ... | @@ -197,5 +203,23 @@ |
| 197 | "description": "Birthday", | 203 | "description": "Birthday", |
| 198 | "type": "text", | 204 | "type": "text", |
| 199 | "placeholders": {} | 205 | "placeholders": {} |
| 206 | + }, | ||
| 207 | + "agreement": "Agreement", | ||
| 208 | + "@agreement": { | ||
| 209 | + "description": "Agreement", | ||
| 210 | + "type": "text", | ||
| 211 | + "placeholders": {} | ||
| 212 | + }, | ||
| 213 | + "user_agreement": "User Agreement", | ||
| 214 | + "@user_agreement": { | ||
| 215 | + "description": "User Agreement", | ||
| 216 | + "type": "text", | ||
| 217 | + "placeholders": {} | ||
| 218 | + }, | ||
| 219 | + "privacy_policy": "Privacy Policy", | ||
| 220 | + "@privacy_policy": { | ||
| 221 | + "description": "Privacy Policy", | ||
| 222 | + "type": "text", | ||
| 223 | + "placeholders": {} | ||
| 200 | } | 224 | } |
| 201 | } | 225 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -10,6 +10,7 @@ | ... | @@ -10,6 +10,7 @@ |
| 10 | "register": "注册", | 10 | "register": "注册", |
| 11 | "openYourAccount": "开启你的账号", | 11 | "openYourAccount": "开启你的账号", |
| 12 | "inputPhoneHint": "请输入手机号", | 12 | "inputPhoneHint": "请输入手机号", |
| 13 | + "inputEmailHint": "请输入邮箱地址", | ||
| 13 | "inputVerificationCodeHint": "请输入验证码", | 14 | "inputVerificationCodeHint": "请输入验证码", |
| 14 | "inputPhoneInvalid": "请输入有效的手机号", | 15 | "inputPhoneInvalid": "请输入有效的手机号", |
| 15 | "verificationButton": "并没有真正发送哦,直接登录吧!", | 16 | "verificationButton": "并没有真正发送哦,直接登录吧!", |
| ... | @@ -17,20 +18,22 @@ | ... | @@ -17,20 +18,22 @@ |
| 17 | "confirm": "确认", | 18 | "confirm": "确认", |
| 18 | "resetLoginPassword": "重置登录密码", | 19 | "resetLoginPassword": "重置登录密码", |
| 19 | "registeredTips": "提示:未注册账号的手机号,请先", | 20 | "registeredTips": "提示:未注册账号的手机号,请先", |
| 20 | - "onePoemBottomNavigationBarItemTitle" : "一言", | 21 | + "onePoemBottomNavigationBarItemTitle": "一言", |
| 21 | - "timelineBottomNavigationBarItemTitle" : "临境", | 22 | + "timelineBottomNavigationBarItemTitle": "临境", |
| 22 | - "categoryBottomNavigationBarItemTitle" : "众妙", | 23 | + "categoryBottomNavigationBarItemTitle": "众妙", |
| 23 | "profileBottomNavigationBarItemTitle" : "我在", | 24 | "profileBottomNavigationBarItemTitle" : "我在", |
| 24 | - | 25 | + "accountEditPageUserInfo": "个人信息", |
| 25 | - "accountEditPageUserInfo" : "个人信息", | 26 | + "accountEditPageUserName": "姓名", |
| 26 | - "accountEditPageUserName" : "姓名", | 27 | + "accountEditPageUserNamePlaceholder": "请输入您的名称", |
| 27 | - "accountEditPageUserNamePlaceholder" : "请输入您的名称", | 28 | + "accountEditPageUserEmail": "邮箱", |
| 28 | - "accountEditPageUserEmail" : "邮箱", | 29 | + "accountEditPageUserEmailPlaceholder": "请输入您的邮箱", |
| 29 | - "accountEditPageUserEmailPlaceholder" : "请输入您的邮箱", | 30 | + "accountEditPageUserPhone": "手机号", |
| 30 | - "accountEditPageUserPhone" : "手机号", | 31 | + "accountEditPageUserPhonePlaceholder": "请输入您的手机号", |
| 31 | - "accountEditPageUserPhonePlaceholder" : "请输入您的手机号", | 32 | + "accountEditPageUserGender": "性别", |
| 32 | - "accountEditPageUserGender" : "性别", | 33 | + "accountEditPageUserGenderPlaceholder": "请选择性别", |
| 33 | - "accountEditPageUserGenderPlaceholder" : "请选择性别", | 34 | + "accountEditPageUserBirthday": "出生日期", |
| 34 | - "accountEditPageUserBirthday" : "出生日期", | 35 | + "accountEditPageUserBirthdayPlaceholder": "请输入出生日期", |
| 35 | - "accountEditPageUserBirthdayPlaceholder" : "请输入出生日期" | 36 | + "agreement": "登录即代表同意并阅读", |
| 37 | + "user_agreement": "用户协议", | ||
| 38 | + "privacy_policy": "隐私政策" | ||
| 36 | } | 39 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | import 'package:Parlando/net/dio_utils.dart'; | 1 | import 'package:Parlando/net/dio_utils.dart'; |
| 2 | import 'package:Parlando/net/http_api.dart'; | 2 | import 'package:Parlando/net/http_api.dart'; |
| 3 | +import 'package:Parlando/res/constant.dart'; | ||
| 4 | +import 'package:Parlando/routers/fluro_navigator.dart'; | ||
| 5 | +import 'package:Parlando/routers/routers.dart'; | ||
| 3 | import 'package:email_validator/email_validator.dart'; | 6 | import 'package:email_validator/email_validator.dart'; |
| 7 | +import 'package:flustars/flustars.dart'; | ||
| 4 | import 'package:flutter/gestures.dart'; | 8 | import 'package:flutter/gestures.dart'; |
| 5 | import 'package:flutter/material.dart'; | 9 | import 'package:flutter/material.dart'; |
| 6 | import 'package:Parlando/home/webview_page.dart'; | 10 | import 'package:Parlando/home/webview_page.dart'; |
| ... | @@ -15,6 +19,7 @@ import 'package:Parlando/widgets/my_scroll_view.dart'; | ... | @@ -15,6 +19,7 @@ import 'package:Parlando/widgets/my_scroll_view.dart'; |
| 15 | 19 | ||
| 16 | import 'package:flutter_gen/gen_l10n/Parlando_localizations.dart'; | 20 | import 'package:flutter_gen/gen_l10n/Parlando_localizations.dart'; |
| 17 | import 'package:Parlando/extension/int_extension.dart'; | 21 | import 'package:Parlando/extension/int_extension.dart'; |
| 22 | +import 'package:getwidget/getwidget.dart'; | ||
| 18 | 23 | ||
| 19 | /// design/1注册登录/index.html#artboard11 | 24 | /// design/1注册登录/index.html#artboard11 |
| 20 | class RegisterPage extends StatefulWidget { | 25 | class RegisterPage extends StatefulWidget { |
| ... | @@ -34,6 +39,7 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -34,6 +39,7 @@ class _RegisterPageState extends State<RegisterPage> |
| 34 | final FocusNode _nodeText2 = FocusNode(); | 39 | final FocusNode _nodeText2 = FocusNode(); |
| 35 | final FocusNode _nodeText3 = FocusNode(); | 40 | final FocusNode _nodeText3 = FocusNode(); |
| 36 | bool _clickable = false; | 41 | bool _clickable = false; |
| 42 | + bool _isLoading = false; | ||
| 37 | 43 | ||
| 38 | @override | 44 | @override |
| 39 | Map<ChangeNotifier, List<VoidCallback>?>? changeNotifier() { | 45 | Map<ChangeNotifier, List<VoidCallback>?>? changeNotifier() { |
| ... | @@ -70,6 +76,8 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -70,6 +76,8 @@ class _RegisterPageState extends State<RegisterPage> |
| 70 | } | 76 | } |
| 71 | 77 | ||
| 72 | void _register() { | 78 | void _register() { |
| 79 | + _isLoading = true; | ||
| 80 | + setState(() {}); | ||
| 73 | Map<String, String> params = <String, String>{ | 81 | Map<String, String> params = <String, String>{ |
| 74 | "email": _nameController.text, | 82 | "email": _nameController.text, |
| 75 | "password": _passwordController.text, | 83 | "password": _passwordController.text, |
| ... | @@ -79,15 +87,24 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -79,15 +87,24 @@ class _RegisterPageState extends State<RegisterPage> |
| 79 | Method.post, | 87 | Method.post, |
| 80 | HttpApi.register, | 88 | HttpApi.register, |
| 81 | params: params, | 89 | params: params, |
| 82 | - onSuccess: (data) {}, | 90 | + onSuccess: (data) { |
| 83 | - onError: (code, msg) {}, | 91 | + SpUtil.putString(Constant.userToken, "this is user token!"); |
| 92 | + NavigatorUtils.push(context, Routes.home, clearStack: true); | ||
| 93 | + _isLoading = false; | ||
| 94 | + }, | ||
| 95 | + onError: (code, msg) { | ||
| 96 | + Toast.show(msg); | ||
| 97 | + _isLoading = false; | ||
| 98 | + }, | ||
| 84 | ); | 99 | ); |
| 85 | } | 100 | } |
| 86 | 101 | ||
| 87 | @override | 102 | @override |
| 88 | Widget build(BuildContext context) { | 103 | Widget build(BuildContext context) { |
| 89 | return Scaffold( | 104 | return Scaffold( |
| 90 | - appBar: const MyAppBar(), | 105 | + appBar: const MyAppBar( |
| 106 | + isTransparent: true, | ||
| 107 | + ), | ||
| 91 | body: MyScrollView( | 108 | body: MyScrollView( |
| 92 | keyboardConfig: Utils.getKeyboardActionsConfig( | 109 | keyboardConfig: Utils.getKeyboardActionsConfig( |
| 93 | context, <FocusNode>[_nodeText1, _nodeText2, _nodeText3]), | 110 | context, <FocusNode>[_nodeText1, _nodeText2, _nodeText3]), |
| ... | @@ -111,7 +128,7 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -111,7 +128,7 @@ class _RegisterPageState extends State<RegisterPage> |
| 111 | controller: _nameController, | 128 | controller: _nameController, |
| 112 | maxLength: 100, | 129 | maxLength: 100, |
| 113 | keyboardType: TextInputType.emailAddress, | 130 | keyboardType: TextInputType.emailAddress, |
| 114 | - hintText: ParlandoLocalizations.of(context).inputPhoneHint, | 131 | + hintText: ParlandoLocalizations.of(context).inputEmailHint, |
| 115 | ), | 132 | ), |
| 116 | Gaps.vGap8, | 133 | Gaps.vGap8, |
| 117 | MyTextField( | 134 | MyTextField( |
| ... | @@ -159,31 +176,35 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -159,31 +176,35 @@ class _RegisterPageState extends State<RegisterPage> |
| 159 | Gaps.vGap8, | 176 | Gaps.vGap8, |
| 160 | Text.rich( | 177 | Text.rich( |
| 161 | TextSpan( | 178 | TextSpan( |
| 162 | - text: '登录即代表同意并阅读', | 179 | + text: ParlandoLocalizations.of(context).agreement, |
| 163 | style: const TextStyle(fontSize: 14, color: Color(0xFF999999)), | 180 | style: const TextStyle(fontSize: 14, color: Color(0xFF999999)), |
| 164 | children: [ | 181 | children: [ |
| 165 | TextSpan( | 182 | TextSpan( |
| 166 | - text: '《用户协议》', | 183 | + text: '《${ParlandoLocalizations.of(context).user_agreement}》', |
| 167 | style: TextStyle(color: Theme.of(context).primaryColor), | 184 | style: TextStyle(color: Theme.of(context).primaryColor), |
| 168 | recognizer: TapGestureRecognizer() | 185 | recognizer: TapGestureRecognizer() |
| 169 | ..onTap = () { | 186 | ..onTap = () { |
| 170 | Navigator.of(context) | 187 | Navigator.of(context) |
| 171 | .push(MaterialPageRoute(builder: (context) { | 188 | .push(MaterialPageRoute(builder: (context) { |
| 172 | - return const WebViewPage( | 189 | + return WebViewPage( |
| 173 | - title: '《用户协议》', url: 'https://flutter.dev'); | 190 | + title: |
| 191 | + '《${ParlandoLocalizations.of(context).user_agreement}》', | ||
| 192 | + url: 'https://flutter.dev'); | ||
| 174 | })); | 193 | })); |
| 175 | }, | 194 | }, |
| 176 | ), | 195 | ), |
| 177 | - const TextSpan(text: '和'), | 196 | + const TextSpan(text: ' & '), |
| 178 | TextSpan( | 197 | TextSpan( |
| 179 | - text: '《隐私政策》', | 198 | + text: '《${ParlandoLocalizations.of(context).privacy_policy}》', |
| 180 | style: TextStyle(color: Theme.of(context).primaryColor), | 199 | style: TextStyle(color: Theme.of(context).primaryColor), |
| 181 | recognizer: TapGestureRecognizer() | 200 | recognizer: TapGestureRecognizer() |
| 182 | ..onTap = () { | 201 | ..onTap = () { |
| 183 | Navigator.of(context) | 202 | Navigator.of(context) |
| 184 | .push(MaterialPageRoute(builder: (context) { | 203 | .push(MaterialPageRoute(builder: (context) { |
| 185 | - return const WebViewPage( | 204 | + return WebViewPage( |
| 186 | - title: '《隐私政策》', url: 'https://flutter.dev'); | 205 | + title: |
| 206 | + '《${ParlandoLocalizations.of(context).privacy_policy}》', | ||
| 207 | + url: 'https://flutter.dev'); | ||
| 187 | })); | 208 | })); |
| 188 | }, | 209 | }, |
| 189 | ), | 210 | ), |
| ... | @@ -192,9 +213,12 @@ class _RegisterPageState extends State<RegisterPage> | ... | @@ -192,9 +213,12 @@ class _RegisterPageState extends State<RegisterPage> |
| 192 | Gaps.vGap24, | 213 | Gaps.vGap24, |
| 193 | MyButton( | 214 | MyButton( |
| 194 | key: const Key('register'), | 215 | key: const Key('register'), |
| 195 | - onPressed: _clickable ? _register : null, | 216 | + onPressed: _clickable && !_isLoading ? _register : null, |
| 196 | text: ParlandoLocalizations.of(context).register, | 217 | text: ParlandoLocalizations.of(context).register, |
| 197 | - ) | 218 | + ), |
| 219 | + Container( | ||
| 220 | + child: _isLoading ? const GFLoader() : null, | ||
| 221 | + ), | ||
| 198 | ]; | 222 | ]; |
| 199 | } | 223 | } |
| 200 | } | 224 | } | ... | ... |
| ... | @@ -488,6 +488,13 @@ packages: | ... | @@ -488,6 +488,13 @@ packages: |
| 488 | description: flutter | 488 | description: flutter |
| 489 | source: sdk | 489 | source: sdk |
| 490 | version: "0.0.0" | 490 | version: "0.0.0" |
| 491 | + getwidget: | ||
| 492 | + dependency: "direct main" | ||
| 493 | + description: | ||
| 494 | + name: getwidget | ||
| 495 | + url: "https://pub.flutter-io.cn" | ||
| 496 | + source: hosted | ||
| 497 | + version: "2.0.5" | ||
| 491 | glob: | 498 | glob: |
| 492 | dependency: transitive | 499 | dependency: transitive |
| 493 | description: | 500 | description: | ... | ... |
| ... | @@ -108,6 +108,8 @@ dependencies: | ... | @@ -108,6 +108,8 @@ dependencies: |
| 108 | pausable_timer: ^1.0.0+3 | 108 | pausable_timer: ^1.0.0+3 |
| 109 | email_validator: ^2.0.1 | 109 | email_validator: ^2.0.1 |
| 110 | 110 | ||
| 111 | + getwidget: ^2.0.5 | ||
| 112 | + | ||
| 111 | dependency_overrides: | 113 | dependency_overrides: |
| 112 | decimal: 1.5.0 | 114 | decimal: 1.5.0 |
| 113 | 115 | ... | ... |
-
Please register or login to post a comment