Compare commits
2 Commits
6aaed1ba15
...
f4d0243de0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4d0243de0 | ||
|
|
4c8d789a86 |
@@ -94,7 +94,7 @@ class _BottomNavBarState extends State<BottomNavBar> {
|
||||
void _setLanguage() async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
String preLanguage = prefs.getString("language") ?? "";
|
||||
Locale locale = preLanguage == "" ? Locale('zh_Hant') : Locale(preLanguage) ;
|
||||
Locale locale = preLanguage == "" ? Localizations.localeOf(context) : Locale(preLanguage) ;
|
||||
S.load(locale);
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import 'package:mailer/mailer.dart';
|
||||
import 'package:mailer/smtp_server.dart';
|
||||
import 'package:validators/validators.dart' as validator;
|
||||
|
||||
import 'generated/l10n.dart';
|
||||
|
||||
void main() {
|
||||
runApp(MaterialApp(
|
||||
home: RegisterPage(),
|
||||
@@ -105,12 +107,12 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
final email = _emailController.text;
|
||||
if (email.isEmpty) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('請輸入電子信箱地址')),
|
||||
SnackBar(content: Text(S.of(context).register_error_email_empty)),
|
||||
);
|
||||
return;
|
||||
} else if (!validator.isEmail(email)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('請輸入正確的電子信箱')),
|
||||
SnackBar(content: Text(S.of(context).register_error_email_invalid)),
|
||||
);
|
||||
_emailFocusNode.requestFocus();
|
||||
return;
|
||||
@@ -129,7 +131,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
|
||||
if (name == '') {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('用戶姓名不可為空')),
|
||||
SnackBar(content: Text(S.of(context).register_error_username_empty)),
|
||||
);
|
||||
_nameFocusNode.requestFocus();
|
||||
return false;
|
||||
@@ -137,7 +139,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
|
||||
if (email == '') {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('電子信箱不可為空')),
|
||||
SnackBar(content: Text(S.of(context).register_error_email_empty)),
|
||||
);
|
||||
_emailFocusNode.requestFocus();
|
||||
return false;
|
||||
@@ -145,7 +147,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
|
||||
if (password == '') {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('密碼不可為空')),
|
||||
SnackBar(content: Text(S.of(context).register_error_password_empty)),
|
||||
);
|
||||
_passwordFocusNode.requestFocus();
|
||||
return false;
|
||||
@@ -153,14 +155,14 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
|
||||
if (_generatedCode == ''){
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('請先發送驗證碼')),
|
||||
SnackBar(content: Text(S.of(context).register_error_verificationCode_not_send)),
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (code == '' || code != _generatedCode) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('驗證碼錯誤')),
|
||||
SnackBar(content: Text(S.of(context).register_error_verificationCode_not_match)),
|
||||
);
|
||||
_codeFocusNode.requestFocus();
|
||||
return false;
|
||||
@@ -189,7 +191,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
|
||||
if (result.rows.isNotEmpty) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入')),
|
||||
SnackBar(content: Text(S.of(context).register_error_usernameOrEmail_exist)),
|
||||
);
|
||||
} else {
|
||||
await conn.execute(
|
||||
@@ -197,7 +199,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
{'name': name, 'email': email, 'password': password},
|
||||
);
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('註冊成功!')),
|
||||
SnackBar(content: Text(S.of(context).register_success)),
|
||||
);
|
||||
|
||||
Navigator.pushReplacement(
|
||||
@@ -214,7 +216,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
||||
} catch (e) {
|
||||
print('資料庫錯誤: $e');
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('註冊失敗:系統錯誤')),
|
||||
SnackBar(content: Text(S.of(context).register_error_server_error)),
|
||||
);
|
||||
} finally {
|
||||
await conn.close();
|
||||
@@ -375,7 +377,7 @@ class VerifyPage extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('註冊成功'),
|
||||
title: Text(S.of(context).register_success),
|
||||
),
|
||||
body: Center(
|
||||
child: Column(
|
||||
@@ -388,7 +390,7 @@ class VerifyPage extends StatelessWidget {
|
||||
// 返回登入頁面
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Text('返回登入頁面'),
|
||||
child: Text(S.of(context).register_turn_back),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: Color(0xFF4FC3F7),
|
||||
padding: EdgeInsets.symmetric(horizontal: 30, vertical: 15),
|
||||
|
||||
@@ -75,6 +75,29 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"phone": MessageLookupByLibrary.simpleMessage("Phone Number"),
|
||||
"realtime_video": MessageLookupByLibrary.simpleMessage("Live View"),
|
||||
"register_button": MessageLookupByLibrary.simpleMessage("Register"),
|
||||
"register_error_email_empty":
|
||||
MessageLookupByLibrary.simpleMessage("Please enter your email"),
|
||||
"register_error_email_invalid":
|
||||
MessageLookupByLibrary.simpleMessage("Please enter a valid email"),
|
||||
"register_error_password_empty":
|
||||
MessageLookupByLibrary.simpleMessage("Please enter your password"),
|
||||
"register_error_server_error": MessageLookupByLibrary.simpleMessage(
|
||||
"Register Failed: Server error, please try again later"),
|
||||
"register_error_usernameOrEmail_exist":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Username or email already exists, please try again"),
|
||||
"register_error_username_empty":
|
||||
MessageLookupByLibrary.simpleMessage("Please enter your username"),
|
||||
"register_error_verificationCode_not_match":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verification code does not match"),
|
||||
"register_error_verificationCode_not_send":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Please send the verification code first"),
|
||||
"register_success":
|
||||
MessageLookupByLibrary.simpleMessage("Register Success"),
|
||||
"register_turn_back":
|
||||
MessageLookupByLibrary.simpleMessage("Return to Login Page"),
|
||||
"save": MessageLookupByLibrary.simpleMessage("Save"),
|
||||
"switch_camera": MessageLookupByLibrary.simpleMessage("Switch View")
|
||||
};
|
||||
|
||||
@@ -70,6 +70,24 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"phone": MessageLookupByLibrary.simpleMessage("電話"),
|
||||
"realtime_video": MessageLookupByLibrary.simpleMessage("即時畫面"),
|
||||
"register_button": MessageLookupByLibrary.simpleMessage("立即註冊"),
|
||||
"register_error_email_empty":
|
||||
MessageLookupByLibrary.simpleMessage("電子信箱不可為空"),
|
||||
"register_error_email_invalid":
|
||||
MessageLookupByLibrary.simpleMessage("請輸入有效的電子信箱地址"),
|
||||
"register_error_password_empty":
|
||||
MessageLookupByLibrary.simpleMessage("密碼不可為空"),
|
||||
"register_error_server_error":
|
||||
MessageLookupByLibrary.simpleMessage("註冊失敗:系統錯誤"),
|
||||
"register_error_usernameOrEmail_exist":
|
||||
MessageLookupByLibrary.simpleMessage("註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入"),
|
||||
"register_error_username_empty":
|
||||
MessageLookupByLibrary.simpleMessage("用戶姓名不可為空"),
|
||||
"register_error_verificationCode_not_match":
|
||||
MessageLookupByLibrary.simpleMessage("驗證碼錯誤"),
|
||||
"register_error_verificationCode_not_send":
|
||||
MessageLookupByLibrary.simpleMessage("請先發送驗證碼"),
|
||||
"register_success": MessageLookupByLibrary.simpleMessage("註冊成功"),
|
||||
"register_turn_back": MessageLookupByLibrary.simpleMessage("返回登入頁面"),
|
||||
"save": MessageLookupByLibrary.simpleMessage("儲存變更"),
|
||||
"switch_camera": MessageLookupByLibrary.simpleMessage("切換畫面")
|
||||
};
|
||||
|
||||
@@ -110,6 +110,106 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please enter your email`
|
||||
String get register_error_email_empty {
|
||||
return Intl.message(
|
||||
'Please enter your email',
|
||||
name: 'register_error_email_empty',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please enter a valid email`
|
||||
String get register_error_email_invalid {
|
||||
return Intl.message(
|
||||
'Please enter a valid email',
|
||||
name: 'register_error_email_invalid',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please enter your username`
|
||||
String get register_error_username_empty {
|
||||
return Intl.message(
|
||||
'Please enter your username',
|
||||
name: 'register_error_username_empty',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please enter your password`
|
||||
String get register_error_password_empty {
|
||||
return Intl.message(
|
||||
'Please enter your password',
|
||||
name: 'register_error_password_empty',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please send the verification code first`
|
||||
String get register_error_verificationCode_not_send {
|
||||
return Intl.message(
|
||||
'Please send the verification code first',
|
||||
name: 'register_error_verificationCode_not_send',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Verification code does not match`
|
||||
String get register_error_verificationCode_not_match {
|
||||
return Intl.message(
|
||||
'Verification code does not match',
|
||||
name: 'register_error_verificationCode_not_match',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Username or email already exists, please try again`
|
||||
String get register_error_usernameOrEmail_exist {
|
||||
return Intl.message(
|
||||
'Username or email already exists, please try again',
|
||||
name: 'register_error_usernameOrEmail_exist',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Register Failed: Server error, please try again later`
|
||||
String get register_error_server_error {
|
||||
return Intl.message(
|
||||
'Register Failed: Server error, please try again later',
|
||||
name: 'register_error_server_error',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Register Success`
|
||||
String get register_success {
|
||||
return Intl.message(
|
||||
'Register Success',
|
||||
name: 'register_success',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Return to Login Page`
|
||||
String get register_turn_back {
|
||||
return Intl.message(
|
||||
'Return to Login Page',
|
||||
name: 'register_turn_back',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Live View`
|
||||
String get realtime_video {
|
||||
return Intl.message(
|
||||
|
||||
@@ -5,6 +5,18 @@
|
||||
"logout_button": "Logout",
|
||||
"register_button": "Register",
|
||||
"forgot_password": "Forgot password",
|
||||
|
||||
"register_error_email_empty": "Please enter your email",
|
||||
"register_error_email_invalid": "Please enter a valid email",
|
||||
"register_error_username_empty": "Please enter your username",
|
||||
"register_error_password_empty": "Please enter your password",
|
||||
"register_error_verificationCode_not_send": "Please send the verification code first",
|
||||
"register_error_verificationCode_not_match": "Verification code does not match",
|
||||
"register_error_usernameOrEmail_exist": "Username or email already exists, please try again",
|
||||
"register_error_server_error": "Register Failed: Server error, please try again later",
|
||||
"register_success": "Register Success",
|
||||
"register_turn_back": "Return to Login Page",
|
||||
|
||||
"realtime_video": "Live View",
|
||||
"fall_record": "Fall Record",
|
||||
"switch_camera": "Switch View",
|
||||
|
||||
@@ -6,6 +6,17 @@
|
||||
"register_button": "立即註冊",
|
||||
"forgot_password": "忘記密碼",
|
||||
|
||||
"register_error_email_empty": "電子信箱不可為空",
|
||||
"register_error_email_invalid": "請輸入有效的電子信箱地址",
|
||||
"register_error_username_empty": "用戶姓名不可為空",
|
||||
"register_error_password_empty": "密碼不可為空",
|
||||
"register_error_verificationCode_not_send": "請先發送驗證碼",
|
||||
"register_error_verificationCode_not_match": "驗證碼錯誤",
|
||||
"register_error_usernameOrEmail_exist": "註冊失敗:電子信箱或帳號名稱已被使用,請嘗試更換或登入",
|
||||
"register_error_server_error": "註冊失敗:系統錯誤",
|
||||
"register_success": "註冊成功",
|
||||
"register_turn_back": "返回登入頁面",
|
||||
|
||||
"realtime_video": "即時畫面",
|
||||
"fall_record": "跌倒紀錄",
|
||||
"switch_camera": "切換畫面",
|
||||
|
||||
Reference in New Issue
Block a user