From 9bdb667b0802578a6c039b206a486ee082dd659e Mon Sep 17 00:00:00 2001 From: Stephan D Date: Tue, 17 Feb 2026 10:20:39 +0100 Subject: [PATCH] email registration updated --- .../internal/server/accountapiimp/signup.go | 6 ++---- frontend/pweb/lib/pages/2fa/input.dart | 19 ++++++++----------- .../pweb/lib/pages/signup/form/email.dart | 8 ++++---- frontend/pweb/pubspec.yaml | 2 +- 4 files changed, 15 insertions(+), 20 deletions(-) diff --git a/api/server/internal/server/accountapiimp/signup.go b/api/server/internal/server/accountapiimp/signup.go index 9d1e22c1..61608aca 100644 --- a/api/server/internal/server/accountapiimp/signup.go +++ b/api/server/internal/server/accountapiimp/signup.go @@ -338,10 +338,8 @@ func (a *AccountAPI) openOrgLedgerAccount(ctx context.Context, org *model.Organi return merrors.Internal("chain gateway default asset is not configured") } - currency := strings.ToUpper(strings.TrimSpace(a.chainAsset.TokenSymbol)) - if currency == "" { - return merrors.Internal("chain gateway default asset token symbol is not configured") - } + // TODO: remove hardcode + currency := "RUB" var describable *describablev1.Describable name := strings.TrimSpace(sr.LedgerWallet.Name) diff --git a/frontend/pweb/lib/pages/2fa/input.dart b/frontend/pweb/lib/pages/2fa/input.dart index 50eec7aa..2a14770e 100644 --- a/frontend/pweb/lib/pages/2fa/input.dart +++ b/frontend/pweb/lib/pages/2fa/input.dart @@ -12,21 +12,18 @@ class TwoFactorCodeInput extends StatelessWidget { Widget build(BuildContext context) => Center( child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 300), - child: PinCodeTextField( + child: MaterialPinField( length: 6, - appContext: context, autoFocus: true, keyboardType: TextInputType.number, - animationType: AnimationType.fade, - cursorColor: Theme.of(context).colorScheme.primary, - pinTheme: PinTheme( - shape: PinCodeFieldShape.box, + theme: MaterialPinTheme( + entryAnimation: MaterialPinAnimation.fade, + shape: MaterialPinShape.outlined, borderRadius: BorderRadius.circular(4), - fieldHeight: 48, - fieldWidth: 40, - inactiveColor: Theme.of(context).colorScheme.primaryContainer, - activeColor: Theme.of(context).colorScheme.primary, - selectedColor: Theme.of(context).colorScheme.primary, + cellSize: Size(40, 48), + borderColor: Theme.of(context).colorScheme.primaryContainer, + focusedBorderColor: Theme.of(context).colorScheme.primary, + cursorColor: Theme.of(context).colorScheme.primary, ), onCompleted: onCompleted, onChanged: (_) {}, diff --git a/frontend/pweb/lib/pages/signup/form/email.dart b/frontend/pweb/lib/pages/signup/form/email.dart index a8fddb36..973a0f6f 100644 --- a/frontend/pweb/lib/pages/signup/form/email.dart +++ b/frontend/pweb/lib/pages/signup/form/email.dart @@ -1,16 +1,16 @@ import 'package:flutter/material.dart'; +import 'package:email_validator/email_validator.dart'; + import 'package:pweb/generated/i18n/app_localizations.dart'; -//TODO check with /widgets/username.dart - +//TODO: check with /widgets/username.dart class EmailField extends StatelessWidget { final TextEditingController controller; const EmailField({super.key, required this.controller}); - static final _emailRegex = RegExp(r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$'); @override Widget build(BuildContext context) { @@ -22,7 +22,7 @@ class EmailField extends StatelessWidget { hintText: AppLocalizations.of(context)!.usernameHint, ), validator: (value) { - if (value == null || !_emailRegex.hasMatch(value)) { + if (value == null || !EmailValidator.validate(value)) { return AppLocalizations.of(context)!.usernameErrorInvalid; } return null; diff --git a/frontend/pweb/pubspec.yaml b/frontend/pweb/pubspec.yaml index 348e170b..55b39a17 100644 --- a/frontend/pweb/pubspec.yaml +++ b/frontend/pweb/pubspec.yaml @@ -63,7 +63,7 @@ dependencies: markdown_widget: ^2.3.2+6 timeago: ^3.7.0 flutter_settings_ui: ^3.0.1 - pin_code_fields: ^8.0.1 + pin_code_fields: ^9.0.0 fl_chart: ^1.0.0 syncfusion_flutter_charts: ^32.1.19 flutter_multi_formatter: ^2.13.7