Deatsilence / ZeroHunger

Google Solution Challenge Project
9 stars 0 forks source link

Turn off right and left transitions beetwen pages #5

Closed Deatsilence closed 1 year ago

Deatsilence commented 1 year ago

I have a problem. I don't wanna transitions to left or right. Although I have NeverScrollableScrollPhysics() used, can transitions to left or right in the app. How can I do ?

TabBarView shationTabBarView({required TabController tabController}) => TabBarView(
      physics: const NeverScrollableScrollPhysics(),
      controller: tabController,
      children: const [
        DashboardView(),
        ChatView(),
        AdvertView(),
        ProfileView(),
      ],
    );

TabBar shationTabView({required TabController tabController}) => TabBar(
      onTap: (index) {},
      padding: EdgeInsets.zero,
      controller: tabController,
      indicatorColor: ProjectColorsUtility.projectBackgroundWhite,
      indicatorSize: TabBarIndicatorSize.label,
      labelColor: ProjectColorsUtility.eveningStar,
      unselectedLabelColor: ProjectColorsUtility.onboardBlack,
      tabs: TabViews.values
          .map((e) => Tab(
                icon: IconOfTabs.items[e.index],
              ))
          .toList(),
    );
Deatsilence commented 1 year ago

After doing this I solved the problem. This code detects whether the user has logged in before and automatically redirects to the login or home page. I used pushToNamedAndRemoveUntil instead of pushToReplacementNamedPage

@override
 void initState() {
   super.initState();
   checkUserAvailable().then((avaliable) async {
     if (avaliable) {
       await Future.delayed(const Duration(seconds: 3));
       await NavigatorManager.instance.pushToNamedAndRemoveUntilPage(route: NavigateRoutes.home.withParaph);
       // await NavigatorManager.instance.pushToReplacementNamedPage(route: NavigateRoutes.home.withParaph);
     } else {
       // await NavigatorManager.instance.pushToReplacementNamedPage(route: NavigateRoutes.login.withParaph);
       await NavigatorManager.instance.pushToNamedAndRemoveUntilPage(route: NavigateRoutes.login.withParaph);
     }
   });
 }