import 'package:comwell_key_app/common/components/comwell_app_bar.dart';
import 'package:comwell_key_app/common/components/comwell_error_widget.dart';
import 'package:comwell_key_app/hotel_information/cubit/hotel_information_cubit.dart';
import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import '../common/components/shimmer_loader/hotel_information_shimmer_loader.dart';

class HotelInformationPage extends StatelessWidget {
  final Widget child;
  const HotelInformationPage({super.key, required this.child});

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<HotelInformationCubit, HotelInformationState>(
      builder: (context, state) {
        return Scaffold(
          extendBodyBehindAppBar: true,
          appBar: const ComwellAppBar(),
          backgroundColor: Theme.of(context).colorScheme.surface,
          body: Builder(builder: (context) {
            return switch (state.hotelState) {
              HotelState.loading => const Center(child: HotelInformationShimmerLoader()),
              HotelState.error => Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  ComwellErrorWidget(
                    title: context.strings.generic_error_title,
                    subtitle: context.strings.hotel_information_error_subtitle,
                    border: false,
                  ),
                ],
              ),
              HotelState.success => child,
            };
          }),
        );
      },
    );
  }
}