Untitled

 avatar
unknown
dart
2 years ago
1.8 kB
4
Indexable
class HomePage extends ReactiveStatelessWidget {
  HomePage({super.key});

  final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();

  @override
  void didMountWidget(BuildContext context) {
    super.didMountWidget(context);
    checkConnectivity();
    postListNew.state.clear();
    postBloc.postList.state.clear();
  }

  void checkConnectivity() async {
    ConnectivityResult result = await Connectivity().checkConnectivity();
    debugPrint(result.name);
  }

  @override
  Widget build(BuildContext context) => WillPopScope(
        onWillPop: () async => await false,
        child: StreamBuilder<ConnectivityResult>(
          stream: Connectivity().onConnectivityChanged,
          builder: (
            BuildContext context,
            AsyncSnapshot<ConnectivityResult> snapshot,
          ) =>
              Scaffold(
            key: _scaffoldKey,
            backgroundColor: Theme.of(context).backgroundColor,
            drawer: AppDrawer(
              scaffoldKey: _scaffoldKey,
            ),
            appBar: const MainAppBar(),
            body: snapshot.data == ConnectivityResult.none && isLoading.state
                ? const NoInternetConnection()
                : Stack(
                    children: <Widget>[
                      const PostListItem(),
                      Positioned(
                        bottom: 35,
                        left: 28,
                        right: 28,
                        child: Visibility(
                          visible: snapshot.data == ConnectivityResult.none,
                          child: const NoInternetToast(),
                        ),
                      )
                    ],
                  ),
          ),
        ),
      );
}
Editor is loading...