Refactor navigation in SplashView and add CustomPageRoute

Introduce CustomPageRoute for smoother navigation transitions in SplashView.
Update navigation in SplashView to use CustomPageRoute for login redirection.
This commit is contained in:
Mohammad Salameh
2024-03-19 15:06:10 +03:00
parent 3cbc3d7fa9
commit cb913cd784
2 changed files with 17 additions and 8 deletions

View File

@ -2,8 +2,10 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart'; import 'package:syncrow_app/features/auth/bloc/auth_cubit.dart';
import 'package:syncrow_app/features/auth/view/widgets/login/login_view.dart';
import 'package:syncrow_app/generated/assets.dart'; import 'package:syncrow_app/generated/assets.dart';
import 'package:syncrow_app/navigation/routing_constants.dart'; import 'package:syncrow_app/navigation/routing_constants.dart';
import 'package:syncrow_app/utils/helpers/custom_page_route.dart';
class SplashView extends StatelessWidget { class SplashView extends StatelessWidget {
const SplashView({super.key}); const SplashView({super.key});
@ -18,7 +20,10 @@ class SplashView extends StatelessWidget {
}); });
} else { } else {
Future.delayed(const Duration(seconds: 1), () { Future.delayed(const Duration(seconds: 1), () {
Navigator.pushReplacementNamed(context, Routes.authLogin); Navigator.pushReplacement(
context,
CustomPageRoute(builder: (context) => const LoginView()),
);
}); });
} }

View File

@ -1,11 +1,15 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class CustomPageRoute extends MaterialPageRoute { class CustomPageRoute extends PageRouteBuilder {
CustomPageRoute({ final WidgetBuilder builder;
required super.builder,
super.settings,
});
@override CustomPageRoute({required this.builder})
Duration get transitionDuration => const Duration(milliseconds: 0); : super(
pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) {
return builder(context);
},
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero,
);
} }