import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; import 'package:selfprivacy/config/app_controller/inherited_app_controller.dart'; import 'package:selfprivacy/ui/pages/onboarding/views/views.dart'; import 'package:selfprivacy/ui/router/router.dart'; @RoutePage() class OnboardingPage extends StatefulWidget { const OnboardingPage({super.key}); @override State createState() => _OnboardingPageState(); } class _OnboardingPageState extends State { PageController pageController = PageController(); @override void dispose() { pageController.dispose(); super.dispose(); } Future scrollTo(final int targetView) => pageController.animateToPage( targetView, duration: const Duration(milliseconds: 300), curve: Curves.easeInOutCubicEmphasized, ); @override Widget build(final BuildContext context) => Material( child: PageView( controller: pageController, children: [ OnboardingFirstView( onProceed: () => scrollTo(1), ), OnboardingSecondView( onProceed: () { InheritedAppController.of(context) .setShouldShowOnboarding(false); context.router.replaceAll([ const RootRoute(), const InitializingRoute(), ]); }, ), ], ), ); }