Widget build()

in frontend/frontend-flutter/lib/main.dart [96:189]


  Widget build(BuildContext context) {
    return MultiBlocProvider(
      providers: [
        BlocProvider(
          create: (context) => LoadQuestionCubit(),
        ),
        BlocProvider(
          create: (context) => FirstQuestionCubit(),
        ),
        BlocProvider(
          create: (context) => UpdatePopularQuestionsCubit(),
        ),
        BlocProvider(
          create: (context) => UpdateStepperCubit(),
        ),
        BlocProvider(
          create: (context) => NewSuggestionCubit(),
        ),
        BlocProvider(
          create: (context) => DisplayStepperCubit(),
        ),
        BlocProvider(
          create: (context) => UpdateExpertModeCubit(),
        ),
      ],
      child: MaterialApp(
        debugShowCheckedModeBanner: false,
        //navigatorKey: navigatorKey,
        title: 'Open data QnA',
        theme: ThemeData(
            appBarTheme: AppBarTheme(
              backgroundColor: Colors.white,
            ),
            checkboxTheme: CheckboxThemeData(
                fillColor: WidgetStateProperty.resolveWith((states) {
              if (!states.contains(WidgetState.selected)) {
                return Colors.white;
              }
              return Colors.green;
            }), checkColor: WidgetStateProperty.resolveWith((states) {
              if (states.contains(WidgetState.selected)) {
                return Colors.red;
              }
              return null;
            }))),
        onGenerateRoute: (settings) {
          print('Main: ttmd : build() : onGenerateRoute : START');
          if (settings.name == '/landingPage' &&
              !TextToDocParameter.isAuthenticated) {
            print(
                'Main: ttmd : build() : onGenerateRoute : attempting to access /landingPage without authentication');
            return MaterialPageRoute(
              //builder: (context) => LoginScreen(),
              builder: (context) => Disclaimer(auth),
            );
          } else if (settings.name == '/pdfViewer' &&
              !TextToDocParameter.isAuthenticated) {
            print(
                'Main: ttmd : build() : onGenerateRoute : attempting to access /pdfViewer without authentication');
            return MaterialPageRoute(
              //builder: (context) => LoginScreen(),
              builder: (context) => Disclaimer(auth),
            );
          } else if (settings.name == '/settings' &&
              !TextToDocParameter.isAuthenticated) {
            print(
                'Main: ttmd : build() : onGenerateRoute : attempting to access /settings without authentication');
            return MaterialPageRoute(
              //builder: (context) => LoginScreen(),
              builder: (context) => Disclaimer(auth),
            );
          } else {
            print(
                'Main: ttmd : build() : onGenerateRoute : attempting to access ${settings.name!} with proper authentication');
            if (settings.name == '/pdfViewer') {
              final args = settings.arguments as Map;

              return MaterialPageRoute(
                builder: (context) {
                  return PdfViewer(bytes: args["bytes"]);
                },
              );
            } else {
              return MaterialPageRoute(
                builder: myRoutes[settings.name!]!,
              );
            }
          } // Let the default routing handle other routes
        },
        initialRoute: '/',
        home: Disclaimer(auth),
      ),
    );
  }