import 'package:comwell_key_app/find_booking/cubit/find_booking_cubit.dart';
import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
import 'package:lottie/lottie.dart';

class LoadingPage extends StatefulWidget {
  const LoadingPage({super.key});

  @override
  LoadingPageState createState() => LoadingPageState();
}

class LoadingPageState extends State<LoadingPage> {
  @override
  void initState() {
    super.initState();
    _startLoading();
  }

  Future<void> _startLoading() async {
    await Future<void>.delayed(
        const Duration(seconds: 3)); // Minimum 3 seconds delay
    if (!mounted) return;
    final cubit = context.read<FindBookingCubit>();
    final response = await cubit.findBooking(
        cubit.confirmationIdController.text, cubit.lastNameController.text);

    if (mounted && response is Booking) {
      context.go(AppRoutes.overview);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: sandColor,
      body: Center(
        child: Lottie.asset(
          'assets/animations/load_animation.json',
          width: 64,
          height: 64,
          fit: BoxFit.cover,
          animate: true,
        ),
      ),
    );
  }
}