nearhuscarl / flutter_login Goto Github PK
View Code? Open in Web Editor NEWProvides login screen with login/signup functionalities to help speed up development
License: MIT License
Provides login screen with login/signup functionalities to help speed up development
License: MIT License
im getting this error:
flutter run error: Error: The method 'FlushbarRoute.install' has more required arguments than those of overridden method 'OverlayRoute.install'.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Information (please complete the following information):
Additional context
Add any other context about the problem here.
I think I have a idea about missing fields in loginMessages:
Whatever i put into the email & password textfield i transition into a new screen.
Please, add options in LoginMessages for change text for error labels. Thanks
Currently the width of the AnimatedButton is fixed. Ideally its width should grow if needed to fit the button's label text. See the button in the screenshot, which was taken with PR #14.
Hello,
Very good work !
I'm trying to implement it in my project.
Often I test my forms with physical keyboard and I'm facing a bug
Test Login on Android Emulator :
Hello,
I would be amazing if you alllow .flr file for logo :)
https://pub.dev/packages/flare_flutter
I was looking for in the documentation but I dont see any options. It would be nice to be able to disable the button even in Debug mode
It would be cool if this plugin allowed login through biometric authentication. So after the first login the user password could be stored inside biometric_storage and reused for later logins.
It should be configurable wether or not that feature is enabled. If interested i could attempt doing a PR for this.
Hello,
This is a Great login screen π.
I would like add, on bottom of screen, the Facebook login button.
Is is possible ?
I am new in Flutter Dev and I am not sure it is possible to add another widget or Flat button in the screen...
Thanks
how can i add new field like first name and last name during sign up ? any code sample
I'm working with this awesome plugin since few days and I really enjoy it but I found out some issues that I don't know how to fix.
When the field are empty there are these error messages that unfortunately I'm not able to change or translate even if there is the class LoginMessages
that somehow already implement this mechanism:
The second question that I would like to ask is: is there any possibility to add a Padding
to the image above the title of the widget so that is not to close to the top of the screen?
Thanks a lot in advance!
Can I request to have additional custom button for external login such as Google Sign In and Facebook login?
Describe the bug
App crashes when a text field (user name or password) is tabbed. I guess when the keyboard should be shown.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Keyboard should pop up.
Information (please complete the following information):
Additional context
Works fine in the simulator, bug happens when compiled in release mode an running on the real device (I distributed it via TestFlight).
Only the theme, logo and company name was changed, login data was taken locally (as in the example).
This is really beautifully done, thanks! Here's an idea to make it even nicer. It would be great to support a full sign-up flow, including entry of a confirmation code to confirm the account.
It could be an optional feature. The "confirm account" card would be a child of the auth card page transformer. When user clicks on "sign up" button, it would switch to the "confirm account" card after calling back to client's AuthCallback onSignup (which triggers the email with confirmation code).
The content of the card would be similar to this screenshot, without the username field (but much slicker in your library, of course). One client callback would be tied to the "confirm" button. Another client callback would be tied to the "resend code" button. The "resend code" button could also trigger another page transform to visualize resending the code.
Along these same lines, it would be great if the password recovery card supported a mode where you enter a verification code along with your password, similar to the screenshot below.
The screenshots were taken from this AWS Cognito sample app: https://github.com/awslabs/aws-sdk-android-samples/tree/master/AmazonCognitoYourUserPoolsDemo
Describe the bug
LoginScreen disappears once loaded.
To Reproduce
Steps to reproduce the behavior:
showDebugButtons: false
at line 172.Expected behavior
Not disappear...
Information (please complete the following information):
For my app I need to have an username field as well. it would be nice to have a username field as well. Or maybe convert the confirm password into a username field.
P.S.. Loving this plugin a lot!
Hello i need to make a custom design
i need to remove the title, the Register btn and password forget
the only think i need is the login for to work with firebase and how to do the logout
waiting for your suggestions
I cannot use this package because it has an outdated version of provider as a dependency, Could you update the dependency please?
Because every version of flutter_login depends on provider ^3.1.0 and flygyfs depends on provider ^4.0.1, flutter_login is forbidden.
I need to trigger the button to login twice in order to go to my next screen. First an animation is triggered and my logo disapear. Then after the second hit, the onSubmitAnimationCompleted is called and I am going to my Routing behavior.
Here are some screenshots : The first one if before the first click, and the second one just after it. I need to click again on the button to log-in.
-Expected behavior :
Only one click needed to go the the onSubmitAnimationCompleted.
Information (please complete the following information):
Here is the sourceCode of my LoginPage :
class LoginScreen extends StatefulWidget {
@override
_LoginScreenState createState() => _LoginScreenState();
}
class _LoginScreenState extends State<LoginScreen> {
@override
void initState() {
super.initState();
_handleStartScreen();
}
// Si le user est deja loguΓ©, on redirige vers la page de dashboard
Future<void> _handleStartScreen() async {
final authentService = Provider.of<AuthentService>(context, listen: false);
if (await authentService.isLoggedIn()) {
Navigator.pushReplacementNamed(context, Router.dashboardRoute);
}
}
@override
Widget build(BuildContext context) {
final authentService = Provider.of<AuthentService>(context);
final compteUtilisateurService = Provider.of<CompteUtilisateurService>(context);
return FlutterLogin(
title: 'Nounou gestion',
logo: 'assets/images/logo-sans-texte.png',
onLogin: authentService.signIn,
onSignup: authentService.signUp,
onRecoverPassword: authentService.recoverPassword,
showDebugButtons: false,
onSubmitAnimationCompleted: () async {
CompteUtilisateur infos = await compteUtilisateurService.getCompteUtilisateur(authentService.getIdUtilisateur());
// Pas encore renseignΓ© les infos personelles, on le redirige donc le bon Γ©cran.
if (infos.id.isEmpty) {
Navigator.pushReplacementNamed(context, Router.infosPersosRoute, arguments: CompteUtilisateur());
} else {
Navigator.pushReplacementNamed(context, Router.dashboardRoute);
}
},
messages: LoginMessages(
usernameHint: 'Mail utilisateur',
passwordHint: 'Mot de passe',
confirmPasswordHint: 'Confirmation mot de passe',
loginButton: 'SE CONNECTER',
signupButton: 'S\'INSCRIRE',
forgotPasswordButton: 'Mot de passe oubliΓ©?',
recoverPasswordButton: 'Aidez-moi',
goBackButton: 'Retour',
confirmPasswordError: 'Les deux mots de passe ne sont pas identiques!',
recoverPasswordDescription: 'Un lien pour rΓ©cupΓ©rer votre mot de passe va vous Γͺtre envoyΓ© par email.',
recoverPasswordSuccess: 'Email de rΓ©cupΓ©ration du mot de passe envoyΓ©.',
),
);
}
}
Is it because i don't have any Hero in my other screens after loggedIn ?
Thank you.
Hello !
I don't see the possibility to change the FontAwesome logos from "textInput" in the pkg? Thanks to you
is possible change validation type for username field?. Now only allow a email address, but, if i need login with a user name, or number id user?
Hello,
It's not possible to translate the titles of the success & error flushbar toasts.
Could you add the two labels in LoginMessages ?
Thanks
Vincent
info: The parameter 'initialBuilder' is required. . (missing_required_param_with_details at [flutter_login] lib/flutter_login.dart:504)
I want to use the plugin but, I don't really need the forgot password or the signup stuff
I sow the AuthCard class has some methods to build the buttons. Is there a way to remove those?
Thanks,
Thank you for the wonderful @NearHuscarl
Describe the bug
isInitialRoute is deprecated in newer versions of flutter and is resulting to the following error
The getter 'isInitialRoute' isn't defined for the class 'RouteSettings' clear and concise description of what the bug is.
Flutter Version
Flutter version 1.17.1
Is there a work around?
Logo and title doesn't show up in landscape orientation and bottom overflows by 20 pixel. Also height and width of logo is not customizable
Could be interesting that we be able to disable the functionality that this plugin does when the user tap on the button onSignup and then we could put a function in onSignup property with the onPressed property. (sorry for my english).
Hi guys,
this looks great. But have an issue juster after installation.
This is the output of the terminal:
`Unable to find modules for some sources, this is usually the result of either a
bad import, a missing dependency in a package (or possibly a dev_dependency
needs to move to a real dependency), or a build failure (if importing a
generated file).
Please check the following imports:
import 'package:flutter_login/flutter_login.dart';
from project|lib/pages/login/index.dart at 2:1
`
I'm using the beta Channel of Flutter and the plugin installation is done (no error from VSCode) and no error from flutter doctor.
Could you please help me ?
Sorry for the lack of responses in the issues lately. I am preparing for the finals and my time is currently very limited until January.
Happy learning Flutter.
I love your code for flutter_login and am using it in my application along with Firebase for authentication. Firebase supports enabling other auth providers beyond user/pass, including Google, Twitter, Facebook, etc. I'd really love it if I could incorporate those into my login widget, perhaps triggering an alternate event (onOAuth as opposed to onLogin?)
What I'm envisioning is a bar either above or below the login/pass fields that has a Column() populated with Button(Icon())'s of the services, and upon hitting the button we'd get a triggered onOAuth with an argument that specifies which service?
Is this something worth adding?
Hello,
Does anyone happen to know if there is a way to reduce the amount of time it takes to begin playing the initial login animation? I can't seem to locate where that might be.
Thanks,
-MH
Thanks for this beautiful plugin!
As you can see, in the dark theme the readability of some of the texts is not very good. I've tried changing the theme and almost every TextTheme attribute I could find, and the most I can do is change the primaryColor of the Theme, and it only changes the "Register" button.
Hello buddy!
First of all, thanks a lot for sharing your login screen β€οΈ I really enjoy that and I am using it for my app.
I would like to suggest to strip the white spaces before putting them into LoginData object? Sometimes I accidently hit a whitespace and wonder why it does not work! :)
Thanks a lot!
widget_helper.dart
: both shows success and errors toasts with hardcoded titles (Success and Error):flutter_login/lib/src/widget_helper.dart
Line 12 in 823d79f
flutter_login/lib/src/widget_helper.dart
Line 29 in 823d79f
Those strings should be on LoginMessages
class.
logo
property is a String passed to an Image.asset()
. It would be nice if we had a Widget logoWidget
property, so we could use, for instance, SvgImage.asset()
(or really anything else we want as the logo).(Please note, that this is using Flutter for Web)
When toggling signup mode on, the confirm field shows up correctly.
But when focusing any of the fields be it Email, Password, or Confirm password, it shows, and hides the keyboard instantly, while also disabling the Confirm Password field.
Even when I enable Desktop-mode, it still happens.
This does not happen in the browser. on my laptop.
Please let me know if you need more information on how to debug this.
Unable to auth with firebase
firebase auth.createUser doesnt work
firebase auth. get user.id etc....
Expected behavior
signup, login, forgot password
Screenshots
n/a
Information (please complete the following information):
na
Additional context
add description in pub to clarify that this login is stored locally
Hello,
I do not know, if it's a OS issue or a flutter one. So, if it's not a flutter one, let me know.
I'm facing the problem, that everytime I click into the password textfield to enter my password, my keyboard locks the shift for the capital letter for the first letter. So i have to manually disable it.
Is it a thing that can be set in flutter?
Thanks in advance! :)
Hello,
Super awesome login screen.
As on my application, there is no signup only login and forgot password things are there, so I want to remove the signup button, how can I hide or remove signup button.
Thanks
Hey,
I have tried using the library. I wanted to know if I only want to use Sign In option and not SignUp option then how can I hide the SignUp button and forget password button
So I have an FirebaseAuth onStatechanged at the beginnig of my Application. When I am logged in I see my HomePage otherwise I go to the LoginScreen wich is implemented with flutter_login. However when I am logged in, I still get an error wich looks like this and is from this package.
β Built build\app\outputs\apk\debug\app-debug.apk.
[38;5;248mββββββββ Exception caught by widgets library βββββββββββββββββββββββββββββββββββ[39;49m
[38;5;244mThe following assertion was thrown while finalizing the widget tree:[39;49m
_FlutterLoginState#74227(tickers: tracking 3 tickers) was disposed with an active Ticker.
[38;5;244m_FlutterLoginState created a Ticker via its TickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. All Tickers must be disposed before calling super.dispose().[39;49m
[38;5;248mTickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.[39;49m
The offending ticker was: _WidgetTicker(created by _FlutterLoginState#74227(lifecycle state: created, tickers: tracking 0 tickers))
The stack trace when the _WidgetTicker was actually created was:
[38;5;244m#0 new Ticker.<anonymous closure>[39;49m
[38;5;244m#1 new Ticker[39;49m
[38;5;244m#2 new _WidgetTicker[39;49m
[38;5;244m#3 TickerProviderStateMixin.createTicker[39;49m
[38;5;244m#4 new AnimationController[39;49m
[38;5;248m#5 _FlutterLoginState.initState[39;49m
[38;5;244m#6 StatefulElement._firstBuild[39;49m
[38;5;244m#7 ComponentElement.mount[39;49m
[38;5;244m#8 Element.inflateWidget[39;49m
[38;5;244m#9 Element.updateChild[39;49m
[38;5;244m#10 ComponentElement.performRebuild[39;49m
[38;5;244m#11 Element.rebuild[39;49m
[38;5;244m#12 ComponentElement._firstBuild[39;49m
[38;5;244m#13 StatefulElement._firstBuild[39;49m
[38;5;244m#14 ComponentElement.mount[39;49m
[38;5;244m#15 Element.inflateWidget[39;49m
[38;5;244m#16 Element.updateChild[39;49m
[38;5;244m#17 ComponentElement.performRebuild[39;49m
[38;5;244m#18 Element.rebuild[39;49m
[38;5;244m#19 ComponentElement._firstBuild[39;49m
[38;5;244m#20 StatefulElement._firstBuild[39;49m
[38;5;244m#21 ComponentElement.mount[39;49m
[38;5;244m#22 Element.inflateWidget[39;49m
[38;5;244m#23 Element.updateChild[39;49m
[38;5;244m#24 ComponentElement.performRebuild[39;49m
[38;5;244m#25 Element.rebuild[39;49m
[38;5;244m#26 ComponentElement._firstBuild[39;49m
[38;5;244m#27 StatefulElement._firstBuild[39;49m
[38;5;244m#28 ComponentElement.mount[39;49m
[38;5;244m#29 Element.inflateWidget[39;49m
[38;5;244m#30 Element.updateChild[39;49m
[38;5;244m#31 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#32 Element.inflateWidget[39;49m
[38;5;244m#33 Element.updateChild[39;49m
[38;5;244m#34 ComponentElement.performRebuild[39;49m
[38;5;244m#35 Element.rebuild[39;49m
[38;5;244m#36 ComponentElement._firstBuild[39;49m
[38;5;244m#37 ComponentElement.mount[39;49m
[38;5;244m#38 Element.inflateWidget[39;49m
[38;5;244m#39 Element.updateChild[39;49m
[38;5;244m#40 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#41 Element.inflateWidget[39;49m
[38;5;244m#42 Element.updateChild[39;49m
[38;5;244m#43 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#44 Element.inflateWidget[39;49m
[38;5;244m#45 Element.updateChild[39;49m
[38;5;244m#46 ComponentElement.performRebuild[39;49m
[38;5;244m#47 Element.rebuild[39;49m
[38;5;244m#48 ComponentElement._firstBuild[39;49m
[38;5;244m#49 StatefulElement._firstBuild[39;49m
[38;5;244m#50 ComponentElement.mount[39;49m
[38;5;244m#51 Element.inflateWidget[39;49m
[38;5;244m#52 Element.updateChild[39;49m
[38;5;244m#53 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#54 Element.inflateWidget[39;49m
[38;5;244m#55 Element.updateChild[39;49m
[38;5;244m#56 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#57 Element.inflateWidget[39;49m
[38;5;244m#58 Element.updateChild[39;49m
[38;5;244m#59 ComponentElement.performRebuild[39;49m
[38;5;244m#60 Element.rebuild[39;49m
[38;5;244m#61 ComponentElement._firstBuild[39;49m
[38;5;244m#62 StatefulElement._firstBuild[39;49m
[38;5;244m#63 ComponentElement.mount[39;49m
[38;5;244m#64 Element.inflateWidget[39;49m
[38;5;244m#65 Element.updateChild[39;49m
[38;5;244m#66 ComponentElement.performRebuild[39;49m
[38;5;244m#67 Element.rebuild[39;49m
[38;5;244m#68 ComponentElement._firstBuild[39;49m
[38;5;244m#69 ComponentElement.mount[39;49m
[38;5;244m#70 Element.inflateWidget[39;49m
[38;5;244m#71 Element.updateChild[39;49m
[38;5;244m#72 ComponentElement.performRebuild[39;49m
[38;5;244m#73 Element.rebuild[39;49m
[38;5;244m#74 ComponentElement._firstBuild[39;49m
[38;5;244m#75 StatefulElement._firstBuild[39;49m
[38;5;244m#76 ComponentElement.mount[39;49m
[38;5;244m#77 Element.inflateWidget[39;49m
[38;5;244m#78 Element.updateChild[39;49m
[38;5;244m#79 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#80 Element.inflateWidget[39;49m
[38;5;244m#81 Element.updateChild[39;49m
[38;5;244m#82 ComponentElement.performRebuild[39;49m
[38;5;244m#83 Element.rebuild[39;49m
[38;5;244m#84 ComponentElement._firstBuild[39;49m
[38;5;244m#85 ComponentElement.mount[39;49m
[38;5;244m#86 Element.inflateWidget[39;49m
[38;5;244m#87 Element.updateChild[39;49m
[38;5;244m#88 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#89 Element.inflateWidget[39;49m
[38;5;244m#90 Element.updateChild[39;49m
[38;5;244m#91 ComponentElement.performRebuild[39;49m
[38;5;244m#92 Element.rebuild[39;49m
[38;5;244m#93 ComponentElement._firstBuild[39;49m
[38;5;244m#94 StatefulElement._firstBuild[39;49m
[38;5;244m#95 ComponentElement.mount[39;49m
[38;5;244m#96 Element.inflateWidget[39;49m
[38;5;244m#97 Element.updateChild[39;49m
[38;5;244m#98 ComponentElement.performRebuild[39;49m
[38;5;244m#99 Element.rebuild[39;49m
[38;5;244m#100 ComponentElement._firstBuild[39;49m
[38;5;244m#101 ComponentElement.mount[39;49m
[38;5;244m#102 Element.inflateWidget[39;49m
[38;5;244m#103 Element.updateChild[39;49m
[38;5;244m#104 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#105 Element.inflateWidget[39;49m
[38;5;244m#106 Element.updateChild[39;49m
[38;5;244m#107 ComponentElement.performRebuild[39;49m
[38;5;244m#108 Element.rebuild[39;49m
[38;5;244m#109 ComponentElement._firstBuild[39;49m
[38;5;244m#110 ComponentElement.mount[39;49m
[38;5;244m#111 Element.inflateWidget[39;49m
[38;5;244m#112 Element.updateChild[39;49m
[38;5;244m#113 ComponentElement.performRebuild[39;49m
[38;5;244m#114 Element.rebuild[39;49m
[38;5;244m#115 ComponentElement._firstBuild[39;49m
[38;5;244m#116 StatefulElement._firstBuild[39;49m
[38;5;244m#117 ComponentElement.mount[39;49m
[38;5;244m#118 Element.inflateWidget[39;49m
[38;5;244m#119 Element.updateChild[39;49m
[38;5;244m#120 ComponentElement.performRebuild[39;49m
[38;5;244m#121 Element.rebuild[39;49m
[38;5;244m#122 ComponentElement._firstBuild[39;49m
[38;5;244m#123 StatefulElement._firstBuild[39;49m
[38;5;244m#124 ComponentElement.mount[39;49m
[38;5;244m#125 Element.inflateWidget[39;49m
[38;5;244m#126 MultiChildRenderObjectElement.mount[39;49m
[38;5;244m#127 Element.inflateWidget[39;49m
[38;5;244m#128 Element.updateChild[39;49m
[38;5;244m#129 _TheatreElement.mount[39;49m
[38;5;244m#130 Element.inflateWidget[39;49m
[38;5;244m#131 Element.updateChild[39;49m
[38;5;244m#132 ComponentElement.performRebuild[39;49m
[38;5;244m#133 Element.rebuild[39;49m
[38;5;244m#134 ComponentElement._firstBuild[39;49m
[38;5;244m#135 StatefulElement._firstBuild[39;49m
[38;5;244m#136 ComponentElement.mount[39;49m
[38;5;244m#137 Element.inflateWidget[39;49m
[38;5;244m#138 Element.updateChild[39;49m
[38;5;244m#139 ComponentElement.performRebuild[39;49m
[38;5;244m#140 Element.rebuild[39;49m
[38;5;244m#141 ComponentElement._firstBuild[39;49m
[38;5;244m#142 ComponentElement.mount[39;49m
[38;5;244m#143 Element.inflateWidget[39;49m
[38;5;244m#144 Element.updateChild[39;49m
[38;5;244m#145 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#146 Element.inflateWidget[39;49m
[38;5;244m#147 Element.updateChild[39;49m
[38;5;244m#148 ComponentElement.performRebuild[39;49m
[38;5;244m#149 Element.rebuild[39;49m
[38;5;244m#150 ComponentElement._firstBuild[39;49m
[38;5;244m#151 StatefulElement._firstBuild[39;49m
[38;5;244m#152 ComponentElement.mount[39;49m
[38;5;244m#153 Element.inflateWidget[39;49m
[38;5;244m#154 Element.updateChild[39;49m
[38;5;244m#155 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#156 Element.inflateWidget[39;49m
[38;5;244m#157 Element.updateChild[39;49m
[38;5;244m#158 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#159 Element.inflateWidget[39;49m
[38;5;244m#160 Element.updateChild[39;49m
[38;5;244m#161 ComponentElement.performRebuild[39;49m
[38;5;244m#162 Element.rebuild[39;49m
[38;5;244m#163 ComponentElement._firstBuild[39;49m
[38;5;244m#164 ComponentElement.mount[39;49m
[38;5;244m#165 Element.inflateWidget[39;49m
[38;5;244m#166 Element.updateChild[39;49m
[38;5;244m#167 ComponentElement.performRebuild[39;49m
[38;5;244m#168 Element.rebuild[39;49m
[38;5;244m#169 ComponentElement._firstBuild[39;49m
[38;5;244m#170 StatefulElement._firstBuild[39;49m
[38;5;244m#171 ComponentElement.mount[39;49m
[38;5;244m#172 Element.inflateWidget[39;49m
[38;5;244m#173 Element.updateChild[39;49m
[38;5;244m#174 ComponentElement.performRebuild[39;49m
[38;5;244m#175 Element.rebuild[39;49m
[38;5;244m#176 ComponentElement._firstBuild[39;49m
[38;5;244m#177 ComponentElement.mount[39;49m
[38;5;244m#178 Element.inflateWidget[39;49m
[38;5;244m#179 Element.updateChild[39;49m
[38;5;244m#180 ComponentElement.performRebuild[39;49m
[38;5;244m#181 Element.rebuild[39;49m
[38;5;244m#182 ComponentElement._firstBuild[39;49m
[38;5;244m#183 ComponentElement.mount[39;49m
[38;5;244m#184 Element.inflateWidget[39;49m
[38;5;244m#185 Element.updateChild[39;49m
[38;5;244m#186 ComponentElement.performRebuild[39;49m
[38;5;244m#187 Element.rebuild[39;49m
[38;5;244m#188 ComponentElement._firstBuild[39;49m
[38;5;244m#189 ComponentElement.mount[39;49m
[38;5;244m#190 Element.inflateWidget[39;49m
[38;5;244m#191 Element.updateChild[39;49m
[38;5;244m#192 ComponentElement.performRebuild[39;49m
[38;5;244m#193 Element.rebuild[39;49m
[38;5;244m#194 ComponentElement._firstBuild[39;49m
[38;5;244m#195 ComponentElement.mount[39;49m
[38;5;244m#196 Element.inflateWidget[39;49m
[38;5;244m#197 Element.updateChild[39;49m
[38;5;244m#198 ComponentElement.performRebuild[39;49m
[38;5;244m#199 Element.rebuild[39;49m
[38;5;244m#200 ComponentElement._firstBuild[39;49m
[38;5;244m#201 ComponentElement.mount[39;49m
[38;5;244m#202 Element.inflateWidget[39;49m
[38;5;244m#203 Element.updateChild[39;49m
[38;5;244m#204 ComponentElement.performRebuild[39;49m
[38;5;244m#205 Element.rebuild[39;49m
[38;5;244m#206 ComponentElement._firstBuild[39;49m
[38;5;244m#207 ComponentElement.mount[39;49m
[38;5;244m#208 Element.inflateWidget[39;49m
[38;5;244m#209 Element.updateChild[39;49m
[38;5;244m#210 ComponentElement.performRebuild[39;49m
[38;5;244m#211 Element.rebuild[39;49m
[38;5;244m#212 ComponentElement._firstBuild[39;49m
[38;5;244m#213 StatefulElement._firstBuild[39;49m
[38;5;244m#214 ComponentElement.mount[39;49m
[38;5;244m#215 Element.inflateWidget[39;49m
[38;5;244m#216 Element.updateChild[39;49m
[38;5;244m#217 ComponentElement.performRebuild[39;49m
[38;5;244m#218 Element.rebuild[39;49m
[38;5;244m#219 ComponentElement._firstBuild[39;49m
[38;5;244m#220 ComponentElement.mount[39;49m
[38;5;244m#221 Element.inflateWidget[39;49m
[38;5;244m#222 Element.updateChild[39;49m
[38;5;244m#223 ComponentElement.performRebuild[39;49m
[38;5;244m#224 Element.rebuild[39;49m
[38;5;244m#225 ComponentElement._firstBuild[39;49m
[38;5;244m#226 ComponentElement.mount[39;49m
[38;5;244m#227 Element.inflateWidget[39;49m
[38;5;244m#228 Element.updateChild[39;49m
[38;5;244m#229 ComponentElement.performRebuild[39;49m
[38;5;244m#230 Element.rebuild[39;49m
[38;5;244m#231 ComponentElement._firstBuild[39;49m
[38;5;244m#232 ComponentElement.mount[39;49m
[38;5;244m#233 Element.inflateWidget[39;49m
[38;5;244m#234 Element.updateChild[39;49m
[38;5;244m#235 ComponentElement.performRebuild[39;49m
[38;5;244m#236 Element.rebuild[39;49m
[38;5;244m#237 ComponentElement._firstBuild[39;49m
[38;5;244m#238 ComponentElement.mount[39;49m
[38;5;244m#239 Element.inflateWidget[39;49m
[38;5;244m#240 Element.updateChild[39;49m
[38;5;244m#241 ComponentElement.performRebuild[39;49m
[38;5;244m#242 Element.rebuild[39;49m
[38;5;244m#243 ComponentElement._firstBuild[39;49m
[38;5;244m#244 ComponentElement.mount[39;49m
[38;5;244m#245 Element.inflateWidget[39;49m
[38;5;244m#246 Element.updateChild[39;49m
[38;5;244m#247 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#248 Element.inflateWidget[39;49m
[38;5;244m#249 Element.updateChild[39;49m
[38;5;244m#250 ComponentElement.performRebuild[39;49m
[38;5;244m#251 Element.rebuild[39;49m
[38;5;244m#252 ComponentElement._firstBuild[39;49m
[38;5;244m#253 StatefulElement._firstBuild[39;49m
[38;5;244m#254 ComponentElement.mount[39;49m
[38;5;244m#255 Element.inflateWidget[39;49m
[38;5;244m#256 Element.updateChild[39;49m
[38;5;244m#257 ComponentElement.performRebuild[39;49m
[38;5;244m#258 Element.rebuild[39;49m
[38;5;244m#259 ComponentElement._firstBuild[39;49m
[38;5;244m#260 ComponentElement.mount[39;49m
[38;5;244m#261 Element.inflateWidget[39;49m
[38;5;244m#262 Element.updateChild[39;49m
[38;5;244m#263 ComponentElement.performRebuild[39;49m
[38;5;244m#264 Element.rebuild[39;49m
[38;5;244m#265 ComponentElement._firstBuild[39;49m
[38;5;244m#266 StatefulElement._firstBuild[39;49m
[38;5;244m#267 ComponentElement.mount[39;49m
[38;5;244m#268 Element.inflateWidget[39;49m
[38;5;244m#269 Element.updateChild[39;49m
[38;5;244m#270 ComponentElement.performRebuild[39;49m
[38;5;244m#271 Element.rebuild[39;49m
[38;5;244m#272 ComponentElement._firstBuild[39;49m
[38;5;244m#273 ComponentElement.mount[39;49m
[38;5;244m#274 Element.inflateWidget[39;49m
[38;5;244m#275 Element.updateChild[39;49m
[38;5;244m#276 ComponentElement.performRebuild[39;49m
[38;5;244m#277 Element.rebuild[39;49m
[38;5;244m#278 ComponentElement._firstBuild[39;49m
[38;5;244m#279 ComponentElement.mount[39;49m
[38;5;244m#280 Element.inflateWidget[39;49m
[38;5;244m#281 Element.updateChild[39;49m
[38;5;244m#282 ComponentElement.performRebuild[39;49m
[38;5;244m#283 Element.rebuild[39;49m
[38;5;244m#284 ComponentElement._firstBuild[39;49m
[38;5;244m#285 ComponentElement.mount[39;49m
[38;5;244m#286 Element.inflateWidget[39;49m
[38;5;244m#287 Element.updateChild[39;49m
[38;5;244m#288 SingleChildRenderObjectElement.mount[39;49m
[38;5;244m#289 Element.inflateWidget[39;49m
[38;5;244m#290 Element.updateChild[39;49m
[38;5;244m#291 ComponentElement.performRebuild[39;49m
[38;5;244m#292 Element.rebuild[39;49m
[38;5;244m#293 ComponentElement._firstBuild[39;49m
[38;5;244m#294 ComponentElement.mount[39;49m
[38;5;244m#295 Element.inflateWidget[39;49m
[38;5;244m#296 Element.updateChild[39;49m
[38;5;244m#297 ComponentElement.performRebuild[39;49m
[38;5;244m#298 Element.rebuild[39;49m
[38;5;244m#299 ComponentElement._firstBuild[39;49m
[38;5;244m#300 StatefulElement._firstBuild[39;49m
[38;5;244m#301 ComponentElement.mount[39;49m
[38;5;244m#302 Element.inflateWidget[39;49m
[38;5;244m#303 Element.updateChild[39;49m
[38;5;244m#304 ComponentElement.performRebuild[39;49m
[38;5;244m#305 Element.rebuild[39;49m
[38;5;244m#306 ComponentElement._firstBuild[39;49m
[38;5;244m#307 StatefulElement._firstBuild[39;49m
[38;5;244m#308 ComponentElement.mount[39;49m
[38;5;244m#309 Element.inflateWidget[39;49m
[38;5;244m#310 Element.updateChild[39;49m
[38;5;244m#311 ComponentElement.performRebuild[39;49m
[38;5;244m#312 Element.rebuild[39;49m
[38;5;244m#313 ComponentElement._firstBuild[39;49m
[38;5;244m#314 StatefulElement._firstBuild[39;49m
[38;5;244m#315 ComponentElement.mount[39;49m
[38;5;244m#316 Element.inflateWidget[39;49m
[38;5;244m#317 Element.updateChild[39;49m
[38;5;244m#318 ComponentElement.performRebuild[39;49m
[38;5;244m#319 Element.rebuild[39;49m
[38;5;244m#320 ComponentElement._firstBuild[39;49m
[38;5;244m#321 ComponentElement.mount[39;49m
[38;5;244m#322 Element.inflateWidget[39;49m
[38;5;244m#323 Element.updateChild[39;49m
[38;5;244m#324 ComponentElement.performRebuild[39;49m
[38;5;244m#325 Element.rebuild[39;49m
[38;5;244m#326 ComponentElement._firstBuild[39;49m
[38;5;244m#327 StatefulElement._firstBuild[39;49m
[38;5;244m#328 ComponentElement.mount[39;49m
[38;5;244m#329 Element.inflateWidget[39;49m
[38;5;244m#330 Element.updateChild[39;49m
[38;5;244m#331 RenderObjectToWidgetElement._rebuild[39;49m
[38;5;244m#332 RenderObjectToWidgetElement.mount[39;49m
[38;5;244m#333 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure>[39;49m
[38;5;244m#334 BuildOwner.buildScope[39;49m
[38;5;244m#335 RenderObjectToWidgetAdapter.attachToRenderTree[39;49m
[38;5;244m#336 WidgetsBinding.attachRootWidget[39;49m
[38;5;244m#337 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure>[39;49m
[38;5;244m#346 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)[39;49m
[38;5;244m#347 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)[39;49m
[38;5;244m#348 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)[39;49m
(elided 8 frames from package dart:async and package dart:async-patch)
[38;5;244mWhen the exception was thrown, this was the stack[39;49m
[38;5;244m#0 TickerProviderStateMixin.dispose.<anonymous closure>[39;49m
[38;5;244m#1 TickerProviderStateMixin.dispose[39;49m
[38;5;248m#2 _FlutterLoginState.dispose[39;49m
[38;5;244m#3 StatefulElement.unmount[39;49m
[38;5;244m#4 _InactiveElements._unmount[39;49m
[38;5;244m...[39;49m
[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ[39;49m
[38;5;248mββββββββ Exception caught by animation library βββββββββββββββββββββββββββββββββ[39;49m
AnimationController.forward() called after AnimationController.dispose()
AnimationController methods should not be used after calling dispose.
'package:flutter/src/animation/animation_controller.dart':
Failed assertion: line 451 pos 7: '_ticker != null'
[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ[39;49m
I got error when I load FlutterLogin class
it say
type '(LoginData)=> future is not sutype of type '(LoginData) => Future
Getting the error when failed login.
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;244mThe following assertion was thrown during a scheduler callback:οΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/dom_canvas.dart:74:12
paint.shader == null
is not true
οΏ½[38;5;244mWhen the exception was thrown, this was the stackοΏ½[39;49m
οΏ½[38;5;248mthrow_ (package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart:196:49)οΏ½[39;49m
οΏ½[38;5;248massertFailed (package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart:26:3)οΏ½[39;49m
οΏ½[38;5;248m[_drawRect] (package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/dom_canvas.dart:74:28)οΏ½[39;49m
οΏ½[38;5;248mdrawRRect (package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/dom_canvas.dart:136:28)οΏ½[39;49m
οΏ½[38;5;248mapply (package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/surface/recording_canvas.dart:865:11)οΏ½[39;49m
οΏ½[38;5;244m...οΏ½[39;49m
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/scene_builder.dart:267:12
retainedSurface.isActive || retainedSurface.isReleased
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
οΏ½[38;5;248mββββββββ Exception caught by scheduler library βββββββββββββββββββββββββββββββββοΏ½[39;49m
Assertion failed: org-dartlang-sdk:///flutter_web_sdk/lib/_engine/engine/surface/surface.dart:986:12
oldSurface.isActive || oldSurface.isPendingUpdate
is not true
οΏ½[38;5;248mββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββοΏ½[39;49m
Very nice widget but my app needs the phone number to sign up so how can I change the keyboard type?
And It would be perfect if we could add a verification step before finishing the signUp.
Currently, I built another page before going to the app
FlutterLogin( title: 'ECORP', logo: 'assets/images/ecorp.png',)
not showing image .
The following assertion was thrown building FlutterLogin(dirty, dependencies: [_InheritedTheme, _EffectiveTickerMode, _LocalizationsScope-[GlobalKey#86d68]], state: _FlutterLoginState#77e04(tickers: tracking 3 tickers)):
Cannot mix 2014 and 2018 terms in call to TextTheme.copyWith().
'package:flutter/src/material/text_theme.dart':
Failed assertion: line 453 pos 7: '(headline1 == null && headline2 == null && headline3 == null && headline4 == null && headline5 == null && headline6 == null &&
subtitle1 == null && subtitle2 == null &&
bodyText1 == null && bodyText2 == null) ||
(display4 == null && display3 == null && display2 == null && display1 == null && headline == null && title == null &&
subhead == null && subtitle == null &&
body2 == null && body1 == null)'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.