import 'package:common/services/msal_service.dart';
import 'package:comwell_key_app/presentation/screens/login/login_route.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/utils/locator.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:comwell_key_app/presentation/navigation/transitions/slide_in_transition.dart';

part '../../../.generated/presentation/screens/concierge/concierge_route.g.dart';

@TypedGoRoute<ConciergeRoute>(path: AppRoutes.concierge)
class ConciergeRoute extends GoRouteData with $ConciergeRoute {
  final String hotelCode;

  ConciergeRoute({required this.hotelCode});

  @override
  Page<void> buildPage(BuildContext context, GoRouterState state) {
    final msalService = locator<MSALService>();
    return SlideInTransition(
      state: state,
      child: FutureBuilder(
        future: msalService.acquireTokenSilent(),
        builder: (context, asyncSnapshot) {
          if (!asyncSnapshot.hasData) {
            return const CircularProgressIndicator();
          }
          if (asyncSnapshot.hasError) {
            msalService.logout();
            LoginRoute().go(context);
            print("qqq ${asyncSnapshot.error}");
            print("qqq ${asyncSnapshot.stackTrace}");
            return Text("${asyncSnapshot.error}");
          }

          return Text("data");
        },
      ),
    );
  }
}