import 'package:concierge/presentation/navigation/transitions/slide_in_transition.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:concierge/presentation/navigation/app_routes.dart';
import 'package:go_router/go_router.dart';
import 'package:concierge/presentation/screens/product_details/bloc/product_details_cubit.dart';
import 'package:concierge/presentation/screens/product_details/product_details_screen.dart';
part '../../../_generated/presentation/screens/product_details/product_details_route.g.dart';
@TypedGoRoute<ProductDetailsRoute>(path: AppRoutes.productDetails)
class ProductDetailsRoute extends GoRouteData with $ProductDetailsRoute {
final int id;
const ProductDetailsRoute(this.id);
@override
Page<void> buildPage(BuildContext context, GoRouterState state) {
return slideInTransition(
state: state,
child: BlocProvider(
create: (context) => ProductDetailsCubit(
context.read(),
context.read(),
productId: id,
),
child: ProductDetailsScreen(),
),
);
}
}