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