startApp method

Widget startApp()

Inicia la aplicación y maneja el flujo de autenticación

Muestra la pantalla de carga, login o home según corresponda

Implementation

Widget startApp() {
  return ValueListenableBuilder(
    valueListenable: _reloadNotifier,
    builder: (context, _, __) {
      return FutureBuilder(
        future: startServer(),
        builder: (context, snapshot) {
          if (snapshot.connectionState == ConnectionState.waiting) {
            return _splashScreen!(context);
          }

          if (!state.started) {
            return _errorLoadingScreen!(context);
          }

          if (session.isLogued) {
            return _routes['/home']!(context);
          }

          return _loginScreen!(context);
        },
      );
    },
  );
}