refactor: asset grid

This commit is contained in:
shenlong-tanwen
2024-09-14 22:29:51 +05:30
parent 53974e7276
commit 6fce1ebb79
23 changed files with 796 additions and 113 deletions
@@ -53,6 +53,12 @@ class _LoginPageState extends State<LoginPage>
_passwordController.text = 'demo';
}
void _onLoginPageStateChange(BuildContext context, LoginPageState state) {
if (state.isLoginSuccessful) {
context.replaceRoute(const TabControllerRoute());
}
}
@override
Widget build(BuildContext context) {
final PreferredSizeWidget? appBar;
@@ -154,11 +160,7 @@ class _LoginPageState extends State<LoginPage>
}
return BlocListener<LoginPageCubit, LoginPageState>(
listener: (_, loginState) {
if (loginState.isLoginSuccessful) {
context.replaceRoute(const TabControllerRoute());
}
},
listener: _onLoginPageStateChange,
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: appBar,
@@ -49,15 +49,23 @@ class LoginForm extends StatelessWidget {
}
}
class _ServerForm extends StatelessWidget {
class _ServerForm extends StatefulWidget {
final TextEditingController controller;
final GlobalKey<FormState> _formKey = GlobalKey();
_ServerForm({required this.controller});
const _ServerForm({required this.controller});
@override
State createState() => _ServerFormState();
}
class _ServerFormState extends State<_ServerForm> {
final GlobalKey<FormState> _formKey = GlobalKey();
Future<void> _validateForm(BuildContext context) async {
if (_formKey.currentState?.validate() == true) {
await context.read<LoginPageCubit>().validateServer(controller.text);
await context
.read<LoginPageCubit>()
.validateServer(widget.controller.text);
}
}
@@ -72,7 +80,7 @@ class _ServerForm extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
ImTextFormField(
controller: controller,
controller: widget.controller,
label: context.t.login.label.endpoint,
validator: context.read<LoginPageCubit>().validateServerUrl,
autoFillHints: const [AutofillHints.url],