import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:selfprivacy/logic/cubit/app_config/app_config_cubit.dart'; import 'package:selfprivacy/logic/cubit/forms/factories/field_cubit_factory.dart'; import 'package:selfprivacy/logic/models/user.dart'; class RootUserFormCubit extends FormCubit { RootUserFormCubit( this.initializingCubit, final FieldCubitFactory fieldFactory) { userName = fieldFactory.createUserLoginField(); password = fieldFactory.createUserPasswordField(); isVisible = FieldCubit(initalValue: false); super.addFields([userName, password, isVisible]); } @override FutureOr onSubmit() async { var user = User( login: userName.state.value, password: password.state.value, ); initializingCubit.setRootUser(user); } final AppConfigCubit initializingCubit; late final FieldCubit userName; late final FieldCubit password; late final FieldCubit isVisible; }