import 'package:comwell_key_app/utils/locator.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
import 'package:comwell_key_app/presentation/navigation/transitions/slide_in_transition.dart';
import 'package:comwell_key_app/presentation/screens/permission_overview/bloc/permission_overview_cubit.dart';
import 'package:comwell_key_app/presentation/screens/permission_overview/permission_overview_screen.dart';

import '../../../routing/app_routes.dart';

part '../../../.generated/presentation/screens/permission_overview/permission_overview_route.g.dart';

@TypedGoRoute<PermissionOverviewRoute>(path: AppRoutes.permissionOverview)
class PermissionOverviewRoute extends GoRouteData with $PermissionOverviewRoute {
  @override
  Page<void> buildPage(BuildContext context, GoRouterState state) {
    return SlideInTransition(
      state: state,
      child: BlocProvider(
        create: (context) => PermissionOverviewCubit(
          locator(),
          locator(),
          locator(),
        ),
        child: const PermissionOverviewScreen(),
      ),
    );
  }
}