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/provide_location/bloc/provide_location_cubit.dart';
import 'package:concierge/presentation/screens/provide_location/provide_location_screen.dart';

part '../../../_generated/presentation/screens/provide_location/provide_location_route.g.dart';

@TypedGoRoute<ProvideLocationRoute>(path: AppRoutes.provideLocation)
class ProvideLocationRoute extends GoRouteData with $ProvideLocationRoute {

  @override
  Page<void> buildPage(BuildContext context, GoRouterState state) {
    return slideInTransition(
      state: state,
      child: BlocProvider(
        create: (context) => ProvideLocationCubit(context.read()),
        child: ProvideLocationScreen(),
      ),
    );
  }
}