mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 17:28:40 +00:00
parent
f33aa673f8
commit
3fbf29b4e2
6 changed files with 45 additions and 25 deletions
|
|
@ -19,7 +19,7 @@
|
||||||
"onboardingTryForFree": "Jetzt registrieren",
|
"onboardingTryForFree": "Jetzt registrieren",
|
||||||
"registerUsernameSlogan": "Bitte wähle einen Benutzernamen, damit dich andere finden können!",
|
"registerUsernameSlogan": "Bitte wähle einen Benutzernamen, damit dich andere finden können!",
|
||||||
"registerUsernameDecoration": "Benutzername",
|
"registerUsernameDecoration": "Benutzername",
|
||||||
"registerUsernameLimits": "Der Benutzername muss 3 bis 12 Zeichen lang sein und darf nur aus Buchstaben (a-z) und Zahlen (0-9) bestehen.",
|
"registerUsernameLimits": "Der Benutzername muss mindestens 3 Zeichen lang sein.",
|
||||||
"registerSubmitButton": "Jetzt registrieren!",
|
"registerSubmitButton": "Jetzt registrieren!",
|
||||||
"registerTwonlyCodeText": "Hast du einen twonly-Code erhalten? Dann löse ihn entweder direkt hier oder später ein!",
|
"registerTwonlyCodeText": "Hast du einen twonly-Code erhalten? Dann löse ihn entweder direkt hier oder später ein!",
|
||||||
"registerTwonlyCodeLabel": "twonly-Code",
|
"registerTwonlyCodeLabel": "twonly-Code",
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
"@registerUsernameSlogan": {},
|
"@registerUsernameSlogan": {},
|
||||||
"registerUsernameDecoration": "Username",
|
"registerUsernameDecoration": "Username",
|
||||||
"@registerUsernameDecoration": {},
|
"@registerUsernameDecoration": {},
|
||||||
"registerUsernameLimits": "Username must be 3 to 12 characters long, consisting only of letters (a-z) and numbers (0-9).",
|
"registerUsernameLimits": "Your username must be at least 3 characters long.",
|
||||||
"@registerUsernameLimits": {},
|
"@registerUsernameLimits": {},
|
||||||
"registerSubmitButton": "Register now!",
|
"registerSubmitButton": "Register now!",
|
||||||
"@registerSubmitButton": {},
|
"@registerSubmitButton": {},
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ abstract class AppLocalizations {
|
||||||
/// No description provided for @registerUsernameLimits.
|
/// No description provided for @registerUsernameLimits.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
/// **'Username must be 3 to 12 characters long, consisting only of letters (a-z) and numbers (0-9).'**
|
/// **'Your username must be at least 3 characters long.'**
|
||||||
String get registerUsernameLimits;
|
String get registerUsernameLimits;
|
||||||
|
|
||||||
/// No description provided for @registerSubmitButton.
|
/// No description provided for @registerSubmitButton.
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get registerUsernameLimits =>
|
String get registerUsernameLimits =>
|
||||||
'Der Benutzername muss 3 bis 12 Zeichen lang sein und darf nur aus Buchstaben (a-z) und Zahlen (0-9) bestehen.';
|
'Der Benutzername muss mindestens 3 Zeichen lang sein.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get registerSubmitButton => 'Jetzt registrieren!';
|
String get registerSubmitButton => 'Jetzt registrieren!';
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get registerUsernameLimits =>
|
String get registerUsernameLimits =>
|
||||||
'Username must be 3 to 12 characters long, consisting only of letters (a-z) and numbers (0-9).';
|
'Your username must be at least 3 characters long.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get registerSubmitButton => 'Register now!';
|
String get registerSubmitButton => 'Register now!';
|
||||||
|
|
|
||||||
|
|
@ -31,13 +31,21 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
|
|
||||||
bool _isTryingToRegister = false;
|
bool _isTryingToRegister = false;
|
||||||
bool _isValidUserName = false;
|
bool _isValidUserName = false;
|
||||||
|
bool _showUserNameError = false;
|
||||||
|
|
||||||
Future<void> createNewUser({bool isDemoAccount = false}) async {
|
Future<void> createNewUser({bool isDemoAccount = false}) async {
|
||||||
|
if (!_isValidUserName) {
|
||||||
|
setState(() {
|
||||||
|
_showUserNameError = true;
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
final username = isDemoAccount ? '<demo>' : usernameController.text;
|
final username = isDemoAccount ? '<demo>' : usernameController.text;
|
||||||
final inviteCode = inviteCodeController.text;
|
final inviteCode = inviteCodeController.text;
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
_isTryingToRegister = true;
|
_isTryingToRegister = true;
|
||||||
|
_showUserNameError = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
await createIfNotExistsSignalIdentity();
|
await createIfNotExistsSignalIdentity();
|
||||||
|
|
@ -56,6 +64,9 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
return createNewUser();
|
return createNewUser();
|
||||||
}
|
}
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
|
setState(() {
|
||||||
|
_isTryingToRegister = false;
|
||||||
|
});
|
||||||
await showAlertDialog(
|
await showAlertDialog(
|
||||||
context,
|
context,
|
||||||
'Oh no!',
|
'Oh no!',
|
||||||
|
|
@ -152,6 +163,15 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
context.lang.registerUsernameDecoration,
|
context.lang.registerUsernameDecoration,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
Text(
|
||||||
|
context.lang.registerUsernameLimits,
|
||||||
|
style: TextStyle(
|
||||||
|
color: _showUserNameError ? Colors.red : Colors.transparent,
|
||||||
|
fontSize: 12,
|
||||||
|
),
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
// const SizedBox(height: 5),
|
// const SizedBox(height: 5),
|
||||||
// Center(
|
// Center(
|
||||||
// child: Padding(
|
// child: Padding(
|
||||||
|
|
@ -163,19 +183,19 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 30),
|
// const SizedBox(height: 30),
|
||||||
Center(
|
// Center(
|
||||||
child: Text(
|
// child: Text(
|
||||||
context.lang.registerTwonlyCodeText,
|
// context.lang.registerTwonlyCodeText,
|
||||||
textAlign: TextAlign.center,
|
// textAlign: TextAlign.center,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 10),
|
// const SizedBox(height: 10),
|
||||||
TextField(
|
// TextField(
|
||||||
controller: inviteCodeController,
|
// controller: inviteCodeController,
|
||||||
decoration:
|
// decoration:
|
||||||
getInputDecoration(context.lang.registerTwonlyCodeLabel),
|
// getInputDecoration(context.lang.registerTwonlyCodeLabel),
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 30),
|
const SizedBox(height: 30),
|
||||||
Column(children: [
|
Column(children: [
|
||||||
FilledButton.icon(
|
FilledButton.icon(
|
||||||
|
|
@ -189,7 +209,7 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: const Icon(Icons.group),
|
: const Icon(Icons.group),
|
||||||
onPressed: _isValidUserName ? createNewUser : null,
|
onPressed: createNewUser,
|
||||||
style: ButtonStyle(
|
style: ButtonStyle(
|
||||||
padding: WidgetStateProperty.all<EdgeInsets>(
|
padding: WidgetStateProperty.all<EdgeInsets>(
|
||||||
const EdgeInsets.symmetric(
|
const EdgeInsets.symmetric(
|
||||||
|
|
@ -208,12 +228,12 @@ class _RegisterViewState extends State<RegisterView> {
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
children: [
|
children: [
|
||||||
OutlinedButton.icon(
|
// OutlinedButton.icon(
|
||||||
onPressed: () {
|
// onPressed: () {
|
||||||
createNewUser(isDemoAccount: true);
|
// createNewUser(isDemoAccount: true);
|
||||||
},
|
// },
|
||||||
label: const Text('Demo'),
|
// label: const Text('Demo'),
|
||||||
),
|
// ),
|
||||||
OutlinedButton.icon(
|
OutlinedButton.icon(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.push(context, MaterialPageRoute(
|
Navigator.push(context, MaterialPageRoute(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue