FlutterFlow Finwallet Login Page

61 Views Asked by At

I am trying to make a project app and for my loginpage I liked flutter flow finwallet LoginPage I use flutter flow to visuailze my apps ui design and I very liked the LoginPage and view code when I copy code to my project its giving me to much errors I updated pubspec.yaml file and deleted LoginPage models changed FlutterFlowTheme to Theme.of(context).primaryColor

I tried to understand with vscode ai and chatgpt but It doesn't fix and automated error fixing is useless too because I am a beginner I do not know how to fix too.

   
import '/auth/firebase_auth/auth_util.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';


class LoginPageWidget extends StatefulWidget {
  const LoginPageWidget({super.key});

  @override
  State<LoginPageWidget> createState() => _LoginPageWidgetState();
}

class _LoginPageWidgetState extends State<LoginPageWidget> {
  final TextEditingController emailAddressLoginController = TextEditingController();
  final TextEditingController passwordLoginController = TextEditingController();
  final FocusNode emailAddressLoginFocusNode = FocusNode();
  final FocusNode passwordLoginFocusNode = FocusNode();
  bool passwordLoginVisibility = false;
  
  @override
  Widget build(BuildContext context) {
    
    throw UnimplementedError();
  }

  
}
  @override
  Widget build(BuildContext context) {
    if (isiOS) {
      SystemChrome.setSystemUIOverlayStyle(
        SystemUiOverlayStyle(
          statusBarBrightness: Theme.of(context).brightness,
          systemStatusBarContrastEnforced: true,
        ),
      );
    }

  
    return Scaffold(
      key: scaffoldKey,
      backgroundColor: Theme.of(context).primaryColor,
      body: Column(
        mainAxisSize: MainAxisSize.max,
        children: [
          Row(
            mainAxisSize: MainAxisSize.max,
            children: [
              Container(
                width: MediaQuery.sizeOf(context).width,
                height: MediaQuery.sizeOf(context).height * 1,
                decoration: BoxDecoration(
                  image: DecorationImage(
                    fit: BoxFit.fitWidth,
                    image: Image.asset(
                      'assets/images/[email protected]',
                    ).image,
                  ),
                ),
                child: Padding(
                  padding: const EdgeInsetsDirectional.fromSTEB(0, 40, 0, 0),
                  child: Column(
                    mainAxisSize: MainAxisSize.max,
                    children: [
                      Padding(
                        padding: const EdgeInsetsDirectional.fromSTEB(24, 24, 0, 20),
                        child: Row(
                          mainAxisSize: MainAxisSize.max,
                          mainAxisAlignment: MainAxisAlignment.start,
                          children: [
                            if (Theme.of(context).brightness == Brightness.dark)
                              Image.asset(
                                'assets/images/finWallet_logo_landscape.png',
                                width: 175,
                                height: 60,
                                fit: BoxFit.fitWidth,
                              ),
                            if (!(Theme.of(context).brightness ==
                                Brightness.dark))
                              Image.asset(
                                'assets/images/[email protected]',
                                width: 170,
                                height: 60,
                                fit: BoxFit.fitWidth,
                              ),
                          ],
                        ),
                      ),
                      Padding(
                        padding: const EdgeInsetsDirectional.fromSTEB(24, 0, 24, 0),
                        child: SingleChildScrollView(
                          child: Column(
                            mainAxisSize: MainAxisSize.max,
                            children: [
                              Row(
                                mainAxisSize: MainAxisSize.max,
                                children: [
                                  Text(
                                    FFLocalizations.of(context).getText(
                                      'o07j3mgv' /* Welcome back */,
                                    ),
                                    style: Theme.of(context).primaryColor
                                     .displaySmall,
                                  ),
                                ],
                              ),
                              Padding(
                                padding:
                                    const EdgeInsetsDirectional.fromSTEB(0, 12, 0, 0),
                                child: Row(
                                  mainAxisSize: MainAxisSize.max,
                                  children: [
                                    Text(
                                      FFLocalizations.of(context).getText(
                                        'fzxvw3mu' /* Login to access your account b... */,
                                      ),
                                      style: Theme.of(context).primaryColor
                                          .titleMedium,
                                    ),
                                  ],
                                ),
                              ),
                              Padding(
                                padding:
                                    const EdgeInsetsDirectional.fromSTEB(0, 20, 0, 0),
                                child: TextFormField(
                                  controller:
                                      _model.emailAddressLoginController,
                                  focusNode: _model.emailAddressLoginFocusNode,
                                  obscureText: false,
                                  decoration: InputDecoration(
                                    labelText:
                                        FFLocalizations.of(context).getText(
                                      'a9j78va9' /* Email Address */,
                                    ),
                                    labelStyle:
                                        Theme.of(context).primaryColor.bodySmall,
                                    hintText:
                                        FFLocalizations.of(context).getText(
                                      'i7f18cve' /* Enter your email... */,
                                    ),
                                    hintStyle:
                                        Theme.of(context).primaryColor.bodySmall,
                                    enabledBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    focusedBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    errorBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    focusedErrorBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    filled: true,
                                    fillColor: Theme.of(context).primaryColor
                                        .secondaryBackground,
                                    contentPadding:
                                        const EdgeInsetsDirectional.fromSTEB(
                                            20, 24, 20, 24),
                                  ),
                                  style:
                                      Theme.of(context).primaryColor.bodyMedium,
                                  validator: _model
                                      .emailAddressLoginControllerValidator
                                      .asValidator(context),
                                ),
                              ),
                              Padding(
                                padding:
                                    const EdgeInsetsDirectional.fromSTEB(0, 12, 0, 0),
                                child: TextFormField(
                                  controller: _model.passwordLoginController,
                                  focusNode: _model.passwordLoginFocusNode,
                                  obscureText: passwordLoginVisibility,
                                  decoration: InputDecoration(
                                    labelText:
                                        FFLocalizations.of(context).getText(
                                      'wztjmbn8' /* Password */,
                                    ),
                                    labelStyle:
                                        Theme.of(context).primaryColor.bodySmall,
                                    hintText:
                                        FFLocalizations.of(context).getText(
                                      'lw1jpm1f' /* Enter your password... */,
                                    ),
                                    hintStyle:
                                        Theme.of(context).primaryColor.bodySmall,
                                    enabledBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    focusedBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    errorBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    focusedErrorBorder: OutlineInputBorder(
                                      borderSide: const BorderSide(
                                        color: Color(0x00000000),
                                        width: 1,
                                      ),
                                      borderRadius: BorderRadius.circular(8),
                                    ),
                                    filled: true,
                                    fillColor: Theme.of(context).primaryColor
                                        .secondaryBackground,
                                    contentPadding:
                                        const EdgeInsetsDirectional.fromSTEB(
                                            20, 24, 20, 24),
                                    suffixIcon: InkWell(
                                      onTap: () => setState(
                                        () => _model.passwordLoginVisibility =
                                            !Theme.of(context).primaryColor.passwordLoginVisibility ?? false,
                                      ),
                                      focusNode: FocusNode(skipTraversal: true),
                                      child: Icon(
                                        _model.passwordLoginVisibility
                                            ? Icons.visibility_outlined
                                            : Icons.visibility_off_outlined,
                                        color: const Color(0x98FFFFFF),
                                        size: 20,
                                      ),
                                    ),
                                  ),
                                  style:
                                      Theme.of(context).primaryColor.bodyMedium,
                                  validator: _model
                                      .passwordLoginControllerValidator
                                      .asValidator(context),
                                ),
                              ),
                              Row(
                                mainAxisSize: MainAxisSize.max,
                                mainAxisAlignment:
                                    MainAxisAlignment.spaceBetween,
                                children: [
                                  Padding(
                                    padding: const EdgeInsetsDirectional.fromSTEB(
                                        0, 24, 0, 24),
                                    child: FFButtonWidget(
                                      onPressed: () async {
                                        context.pushNamed('forgotPassword');
                                      },
                                      text: FFLocalizations.of(context).getText(
                                        'm2xyjvuf' /* Forgot Password? */,
                                      ),
                                      options: FFButtonOptions(
                                        width: 170,
                                        height: 40,
                                        padding: const EdgeInsetsDirectional.fromSTEB(
                                            0, 0, 0, 0),
                                        iconPadding:
                                            const EdgeInsetsDirectional.fromSTEB(
                                                0, 0, 0, 0),
                                        color: const Color(0x001A1F24),
                                        textStyle: Theme.of(context).primaryColor
                                            .bodySmall,
                                        elevation: 0,
                                        borderSide: const BorderSide(
                                          color: Colors.transparent,
                                          width: 1,
                                        ),
                                        borderRadius: BorderRadius.circular(8),
                                      ),
                                    ),
                                  ),
                                  FFButtonWidget(
                                    onPressed: () async {
                                      GoRouter.of(context).prepareAuthEvent();

                                      final user =
                                          await authManager.signInWithEmail(
                                        context,
                                        _model.emailAddressLoginController.text,
                                        _model.passwordLoginController.text,
                                      );
                                      if (user == null) {
                                        return;
                                      }

                                      context.goNamedAuth(
                                          'MY_Card', context.mounted);
                                    },
                                    text: FFLocalizations.of(context).getText(
                                      'qbmoi1av' /* Login */,
                                    ),
                                    options: FFButtonOptions(
                                      width: 120,
                                      height: 50,
                                      padding: EdgeInsetsDirectional.fromSTEB(
                                          

                                          class LoginPageWidget as double extends StatelfulWidget {
                                            @override
                                            Widget build(BuildContext context) {
                                              return Scaffold(
                                                body: Stack(
                                                  children: [
                                                    Align(
                                                      alignment: const AlignmentDirectional(0, 0),
                                                      child: Column(
                                                        mainAxisSize: MainAxisSize.max,
                                                        mainAxisAlignment: MainAxisAlignment.center,
                                                        crossAxisAlignment: CrossAxisAlignment.center,
                                                        children: [
                                                          Expanded(
                                                            child: Stack(
                                                              children: [
                                                                Align(
                                                                  alignment: const AlignmentDirectional(0, 0),
                                                                  child: Container(
                                                                    width: double.infinity,
                                                                    height: double.infinity,
                                                                    decoration: const BoxDecoration(
                                                                      color: Colors.white, // Replace 'Colors.transparent' with 'Colors.white'
                                                                    ),
                                                                    child: Column(
                                                                      mainAxisSize: MainAxisSize.max,
                                                                      mainAxisAlignment: MainAxisAlignment.center,
                                                                      crossAxisAlignment: CrossAxisAlignment.center,
                                                                      children: [
                                                                        Row(
                                                                          mainAxisSize: MainAxisSize.max,
                                                                          mainAxisAlignment: MainAxisAlignment.center,
                                                                          children: [
                                                                            Container(
                                                                              width: MediaQuery.sizeOf(context).width *
                                                                                  0.8,
                                                                              height: 44,
                                                                              decoration: BoxDecoration(
                                                                                color: Theme.of(context).primaryColor
                                                                                    .primaryBackground,
                                                                                borderRadius: BorderRadius.circular(8),
                                                                              ),
                                                                              child: Row(
                                                                                mainAxisSize: MainAxisSize.max,
                                                                                mainAxisAlignment:
                                                                                    MainAxisAlignment.center,
                                                                                children: [
                                                                                  Text(
                                                                                    FFLocalizations.of(context).getText(
                                                                                      'cjqb8ial' /* Don't have an account? */,
                                                                                    ),
                                                                                    style: Theme.of(context).primaryColor
                                                                                        .bodyMedium,
                                                                                  ),
                                                                                  Padding(
                                                                                    padding:
                                                                                        const EdgeInsetsDirectional.fromSTEB(
                                                                                            24, 0, 4, 0),
                                                                                    child: Text(
                                                                                      FFLocalizations.of(context)
                                                                                          .getText(
                                                                                        'a0iimirx' /* Create */,
                                                                                      ),
                                                                                      style:
                                                                                          Theme.of(context).primaryColor
                                                                                              .bodyMedium
                                                                                              .override(
                                                                                                fontFamily: 'Lexend',
                                                                                                color:
                                                                                                    FlutterFlowTheme.of(
                                                                                                            context)
                                                                                                        .primary,
                                                                                              ),
                                                                                    ),
                                                                                  ),
                                                                                  Icon(
                                                                                    Icons.arrow_forward_rounded,
                                                                                    color: Theme.of(context).primaryColor
                                                                                        .primary,
                                                                                    size: 24,
                                                                                  ),
                                                                                ],
                                                                              ),
                                                                            ),
                                                                          ],
                                                                        ),
                                                                      ],
                                                                    ),
                                                                  ),
                                                                ),
                                                              ],
                                                            ),
                                                          ),
                                                        ],
                                                      ),
                                                    ),
                                                  ],
                                                ),
                                              );
                                            }
                                          };

0

There are 0 best solutions below